@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.1.1
*/

.eye-catch .cat-label {
    display: none;
}
.page .video-container .video {
    margin-top: 0;
}
.page .video-container {
    background-color: #fff;
    margin: 0 auto;
}
.page .youtubewrap {
    padding: 30px 0;
    background: linear-gradient(#06215a, #bfc8dc);
}

/*エリアのPCTELのサイズ固定*/
.page .pc-cta-section a img {
    max-height: 130px;
    max-width: 391px;
}
.sgpm-popup-maker-wrapper img {
    height: auto;
}
.popup_page_overlay,
.popup_post_overlay {
    transform: translate3d(0,0,0)!important;
    -webkit-transform: translate3d(0,0,0)!important;
}

body .crisp-client .crisp-1rjpbb7 .crisp-1rf4xdh .crisp-kquevr,
body .crisp-client .crisp-1rjpbb7[data-full-view=true] .crisp-1rf4xdh .crisp-kquevr {
    bottom: 115px!important;
}
body .crisp-client .crisp-1rjpbb7[data-full-view=true] .crisp-1rf4xdh .crisp-kquevr .crisp-1059tj2 .crisp-1xaupiq {
    bottom: 170px!important;
}
body .crisp-client .crisp-1rjpbb7 .crisp-1rf4xdh .crisp-kquevr .crisp-1059tj2 .crisp-1xaupiq {
    bottom: 180px!important;
}

.single td p {
    margin: 0;
}


/* marker */
.marker.blue {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #b3bfff));
    background: linear-gradient(transparent 55%, #b3bfff 55%);
}

.marker.pink {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #ffc6d0));
    background: linear-gradient(transparent 55%, #ffc6d0 55%);
}

.marker.green {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #8be8bf));
    background: linear-gradient(transparent 55%, #8be8bf 55%);
}

.marker.yellow {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #ffe08a));
    background: linear-gradient(transparent 55%, #ffe08a 55%);
}

.marker.orange {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #ffc5ac));
    background: linear-gradient(transparent 55%, #ffc5ac 55%);
}

.marker.gray {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(55%, transparent), color-stop(55%, #ddd));
    background: linear-gradient(transparent 55%, #ddd 55%);
}

/* underline */
.underline {
    padding: .15em .1em;
    position: relative;
}

.underline::before,
.underline.blue::before {
    content: "";
    background-color: #b3bfff;
    border-radius: .5em;
    bottom: 0;
    height: .15em;
    left: 0;
    position: absolute;
    width: 100%;
}

.underline.pink::before {
    background-color: #ffc6d0;
}

.underline.orange::before {
    background-color: #ffc5ac;
}

.underline.green::before {
    background-color: #8be8bf;
}

.underline.yellow::before {
    background-color: #ffe08a;
}

.underline.gray::before {
    background-color: #ddd;
}
main img.eye-catch-image {
	max-height: 100%;
}

main img.wp-image-4651 {
    max-height: 100%;
}



.header-in {
    flex-direction: initial;
    justify-content: initial;
}
.header-cta-widget-section {
    display: flex;
    margin-top: 7px;
    max-width: 100%;
    justify-content: flex-end;
	align-items: flex-end;
}
.logo.logo-header.logo-image {
    width: 35%;
}
aside.widget-header-navi {
    width: 65%;
}
.header-in.wrap {
    max-width: 1349px;
}

html {
 -webkit-text-size-adjust: 100%;
}

.page p {
    font-weight: 600;
}

.wc-comment-text p {
    font-size: 1.4em!important;
}
.wc-comment-text {
    background: aliceblue;
    margin: 10px;
    border-radius: 20px;
}

td, th {
    font-size: 90%;
}
ul.slick-dots {
    white-space: nowrap;
    padding-left: 0;
}
.slick-slider .slick-prev,
.slick-slider .slick-next {
    z-index: 3;
}

span[id^="i"] {
	padding-top: 65px;
	margin-top: -65px;
}

body:not(.page-id-18) {
	-webkit-font-smoothing: antialiased;
    text-rendering: optimizespeed;
    text-size-adjust: 100%;
    font-kerning: auto;
    font-feature-settings: "palt";
	user-select:none;
	-webkit-user-select:none;
	-ms-user-select: none;
	-moz-user-select:none;
	-khtml-user-select:none;
	-webkit-user-drag:none;
	-khtml-user-drag:none;
	background: linear-gradient(-45deg,#fff 25%,#001c58 25%,#c3ccdf 50%,#fff 50%,#fff 75%,#001c58 75%,#c3ccdf);
	background-size: 300vw 300vw;
}
 
}
input, textarea, select, button {
	font-family: "游ゴシック体","Yu Gothic","Hiragino Kaku Gothic Pro","Meiryo",sans-serif;
}

.single-post .article h2 {
    background-color: #3574dd;
    color: #fff;
}
.single-post .article h3 {
    border-left: 6px solid #3574dd;
}
.single-post article ul:not(.toc_list):not(ul), .single-post article ol {
    border: solid 1px #aaa;
    background-color: #f2f9ff;
}
.author-info {
   	display: none;
}

img.site-logo-image.footer-site-logo-image {
    height: auto;
}
.footer-bottom-logo .logo-footer.logo-image {
    max-width: 220px;
}
.single main#main {
    box-shadow: 0 0 5px #ddd;
}
.item-ranking-box .ranking-item-detail a {
    background-color: #ff5722;
}
.footer {
    padding-bottom: 200px;
}
nav#navi-footer {
    max-width: 830px;
}
/*ページネーション*/
.pagination-next, .next, .prev, .pager-prev-next{ display: none; }
.pager-numbers a { text-decoration: none; }

.page-numbers{
    border: none !important;
    border-radius: 50%;
    font-family: sans-serif;
    font-size: 80%;
    color: #666 !important;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
    transition: all .1s ease;
    background-color: #ffffff;
}

.pagination a.page-numbers:hover,.pager-numbers a:hover .page-numbers{
    background-color: #f44336;
    color: #fff !important;
}

.pagination .current, .pager-links .current{
    background-color: #ccc;
    color: #fff;
}

/*TOC*/
#toc_container ul a {
	border-bottom: dotted 1px;
	display: block;
	color: #777;
}

#toc_container .toc_list>li>a {
	border-bottom: solid 2px;
	padding: 3px;
}

#toc_container ul.toc_list ul {
	padding: 0.4em 0 0.4em 1em;
	margin-left: 0;
}

#toc_container {
	padding: 0.5em;
	margin: 0 auto;
	border: solid 1px #ccc;
	background-color: #fcfcfc;
    min-width: 80%;
    max-width: 98%;
}

#toc_container .toc_list>li:first-child {
	margin-top: 10px;
}

#content_area #toc_container .toc_list>li {
	margin-bottom: 0px;
}
ul.toc_list a:hover {
	border-radius: 2px
}

#toc_container .toc_list>li:hover {
	background: #fff;
	box-shadow: 0 0 0 1px #aaa;
}
#toc_container a:hover {
    background: #97beff;
    text-decoration: none;
    color: #fff;
}


main hr{
    margin: 2rem auto;
    width: 7rem;
    border: 0;
    border-top: 0.5rem dotted #ccc;
}
.header-in.wrap {
    max-width: 1169px;
}

.reflection-img{
    max-width:240px;
    max-height:130px;
	width:100%;
    position:relative;
    overflow:hidden;
	height: fit-content!important;
	height: -moz-fit-content!important;
    height: -webkit-fit-content!important;
    height: -o-fit-content!important;
    height: -ms-fit-content!important;
}
.reflection-img.header-tel {
    width: 290px;
    height: 80px;
	max-width: 100%;
}
.reflection-img.header-form {
    width: 210px;
    height: 71px;
}
.reflection-img.header-form, .reflection-img.header-tel {
    display: inline-flex;
    vertical-align: bottom;
}
.reflection-img.header-form {
    margin-right: 30px;
}
.reflection {
    height:100%;
    width:20px;
    position:absolute;
    top:-180px;
    left:0;
    background-color: #fff;
    opacity:0;
    transform: rotate(45deg);
    animation: reflection 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 2s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 2s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 2s ease-in-out infinite;
}
 
@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}
.floating-cta-section {
    position: fixed;
    bottom: 0;
    width: 100%;
    left: 0;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    background: #fff;
    z-index: 1000;
    border-top: 1px solid #e6e6e6;
    height: 100px;
	box-shadow: 0 0 10px #bbb;
}
.floating-cta-section.pc-display {
	z-index: 3;
}
.floating-cta-section-logo,
.reflection-img.floating-cta-section-form,
.reflection-img.floating-cta-section-tel,
.reflection-img.floating-cta-section-line{
	display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
	vertical-align: middle;
}
.floating-cta-section-inner {
    max-width: 1169px;
    margin: 0 auto;
    width: 100%;
    padding: 10px 0;
}
.floating-cta-section-logo {
    max-width: 500px;
}
.reflection-img.header-form.floating-cta-section-form {
    margin-left: 40px;
    width: 300px;
    max-width: 300px;
    height: 60px;
}
.floating-cta-section.pc-display .reflection-img.header-tel {
    width: 280px;
}

@media screen and (max-width: 4000px) {
	.navi-footer-in>.menu-footer li.menu-item {
		width: 32%;
		border: 0;
		margin: 2px;
		display: flex;
		flex: 1 1 auto;
		text-align: left!important;
		font-weight: 600;
	}
	#footer-in .footer-bottom-logo {
	    bottom: auto;
	    top: 10px;
	}
}

@media screen and (max-width: 1023px){

}

@media screen and (min-width: 835px) {
	nav#navi ul.menu-pc {
	    overflow-x: auto;
	    overflow-y: hidden;
	    display: flex !important;
	    flex-wrap: nowrap;
	    padding: 0 1em;
	    -webkit-overflow-scrolling: touch;
	    position: relative;
	}
}
@media screen and (max-width: 834px) {
	nav#navi ul.menu-mobile {
	    overflow-x: auto;
	    overflow-y: hidden;
	    display: flex !important;
	    flex-wrap: nowrap;
	    font-size: 14px;
	    justify-content: flex-start;
	    padding: 0 1em;
	    -webkit-overflow-scrolling: touch;
	    position: relative;
	}
	.navi-footer-in>.menu-footer {
	    line-height: 2rem;
	}
	.source-org.copyright {
	    margin-top: 70px;
	}
}

@media screen and (min-width: 768px){
	.sp-display {
		display:none!important;
	}
}

@media screen and (max-width: 767px) {
	.pc-display {
		display:none!important;
	}
	div#breadcrumb,
	nav#navi {
	    display: none;
	}
	div#header-container {
    	z-index: 2001;
    	position: relative;
	}
	#sidebar-menu-content,
	.sidebar-menu-content .sidebar,
	#navi-menu-content{
		background-image: linear-gradient(120deg,#f4f8fe 0,#e4f2f8 100%)!important
	}
	.sidebar-menu-content .sidebar h3 {
		background-color: #3574dd;
		color: #fff;
	}
	#navi-menu-content ul li ul li a {
		border-bottom: 1px dotted #999;
	}
	#navi-menu-content ul li a {
		border-bottom: 1px solid #999;
	}
	.floating-cta-section {
	    height: auto;
		bottom: -2px;
	}
	.floating-cta-section img {
	    width: 100%;
	    height: auto;
	}
	.reflection-img a {
	    line-height: 0;
	}
	.floating-cta-section-inner {
	    padding: 0;
    	text-align: center;
    	flex: auto;
    	display: flex;
	}
	.reflection-img.floating-cta-section-form,
	.reflection-img.floating-cta-section-tel,
	.reflection-img.floating-cta-section-line {
    	flex-wrap: nowrap;
		justify-content: center;
	}
	.reflection-img.floating-cta-section-form,
	.reflection-img.floating-cta-section-line {
	    margin-right: 0;
    	max-width: none;
    	max-height: none;
    	width: auto;
    	flex: auto;
	}
	.reflection-img.floating-cta-section-tel {
    	max-width: none;
    	width: auto;
    	max-height: none;
    	flex: auto;
	}
	.floating-cta-lead {
	    position: absolute;
	    bottom: 115%;
	    width: 100%;
	}
	.floating-cta-lead img {
		-webkit-filter: drop-shadow(0 -2px 2px #b1dee9);
	    filter: drop-shadow(0 -2px 2px #b1dee9);
	    bottom: -2px;
	    position: relative;
	}
	.logo-image span, .logo-image a {
	    width: 100%;
	    max-width: 230px;
	}
	.logo.logo-header.logo-image {
    	padding: 5px 0 0;
	}
	header#header {
	    height: 135px;
	}
	div#header-in {
	    display: block;
	}
	.logo.logo-header.logo-image {
	    width: 100%;
	    text-align: left;
	}
	aside.widget-header-navi {
	    width: 100%;
	}
	.header-cta-widget-section {
	    justify-content: flex-start;
	    margin-top: 0;
	    padding: 0 10px;
	}
	.reflection-img.header-form {
	    margin-right: 7px;
	}
	.mblt-slide-in .footer {
	    margin-bottom: 220px;
	}
}

@media screen and (max-width: 599px) {
}

@media screen and (max-width: 480px){

}

@media screen and (max-width: 460px){
	header#header {
	    height: 137px;
	}
}

@media screen and (max-width: 420px){
	.logo-image span, .logo-image a {
	    max-width: 195px;
	}
	header#header {
	    height: 120px;
	}
}

@media screen and (max-width: 380px){
	.logo-image span, .logo-image a {
	    max-width: 200px;
	}
	header#header {
	    height: 115px;
	}
}
@media screen and (max-width: 320px){
	header#header {
	    height: 111px;
	}
}