

@charset "utf-8";
/* CSS Document */
/* =========================================================
 * 
 * =========================================================*/

 /* =========================================================
 * slide-area
 * =========================================================*/
#box1{
	border-bottom: solid 3px #363581;
	margin: 24px auto 0;
}
.slide-top{
    width: 1000px;
	margin: 0 auto 50px;

	
}

.slide-top .width {
	display: flex;
    flex-wrap: nowrap;
}

.slide-top .content-right {
	position: relative;
	margin-right:calc((100vw - 100%) / 2 * -1);
	margin-right:calc((100cqw - 100%) / 2 * -1);
	padding: 0 0 0 250px;

	box-sizing: border-box;
	width: calc(100% + (100vw - 100%) / 2);
	width: calc(100% + (100cqw - 100%) / 2);
	
	
}

.slide-top .content-right .main-top-slide.pc {
	display:block;
}

.slide-top .content-right .main-top-slide.sp {
	display: none;
}

.slide-top .concept{
	position: absolute;
	left:20px;
	top:7vw;
	


}

.concept h2{
	white-space: nowrap;
	writing-mode: vertical-rl;
    color: #212048;
	letter-spacing: 1.2em;

	text-indent: -3.4em;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
.concept h2 p{
	margin:0;

	display: inline;
	font-size: 26px;
    line-height: 2.0;

	opacity: 0; /* 文字を透明化 */
    animation: textanimation 2s forwards;
	
	
}
@keyframes textanimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.concept h2 p:nth-child(1) {    animation-delay: 1.0s	}
.concept h2 p:nth-child(2) {    animation-delay: 1.2s	}
.concept h2 p:nth-child(3) {    animation-delay: 1.4s	}
.concept h2 p:nth-child(4) {    animation-delay: 1.6s	}
.concept h2 p:nth-child(5) {    animation-delay: 1.8s	}
.concept h2 p:nth-child(6) {    animation-delay: 2.0s	}
.concept h2 p:nth-child(7) {    animation-delay: 2.2s	}
.concept h2 p:nth-child(8) {    animation-delay: 2.4s	}
.concept h2 p:nth-child(9) {    animation-delay: 2.6s	}
.concept h2 p:nth-child(10) {    animation-delay: 2.8s	}
.concept h2 p:nth-child(11) {    animation-delay: 3.0s	}
.concept h2 p:nth-child(12) {    animation-delay: 3.2s	}
.concept h2 p:nth-child(13) {    animation-delay: 3.4s	}


.concept2 {
	margin-top: 50px;
	width: calc(1000px - 250px);


}
.concept2 h3{
    font-size: 40px;
	font-family: 'PT Sans Narrow', sans-serif;

    color: #7384af;
    margin: 0 auto 16px;
}

.concept2 p {
	color: #212048;
    font-size: 16px;
    margin: 2em 0 0 0;
    line-height: 24px;
}
.content-box{
	width: 1000px;
	margin: 0 auto 16px;
}

.slide-sub {
	display: flex;
	flex-wrap: nowrap;
	gap: 32px;

}

.slide-sub > * {
	width: calc(50% - 16px);
}


.slide-sub-l{
	display: flex;
	flex-wrap: nowrap;
}
.slide-sub-r{
	width: 46%;
	float: right;
}
.slide-sub-img{
	margin: 0 0 24px;
}
	/*コロナ*/
.banner-img{
	max-width: 1000px;
	margin: 0 auto 20px;
	padding: 0 10px;
}
.banner-img img{
	width: 100%;
	margin: 0 0 20px;
}

 /* =========================================================
 * check-availability
 * =========================================================*/
 .footer-fixed {
	position: -webkit-fixed;
	position: fixed;
	bottom: 0;
	width: 350px;
	right: 30px;
	background-color: #FFAA84;
	z-index: 9999;

	padding:0 20px 20px;
 }
 .footer-fixed .close {
	background-color: #212048;
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
	border-radius: 100px;
	right:-20px;
	top:-20px;
	cursor: pointer;
	
 }

 .footer-fixed .close::before,
 .footer-fixed .close::after 
  {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px; /* 棒の幅（太さ） */
	height: 25px; /* 棒の高さ */
	background: #fff;
 }

 .footer-fixed .close::before {
	transform: translate(-50%,-50%) rotate(45deg);
 }
 .footer-fixed .close::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.check-availability{
	box-sizing: border-box;	
	border-top-left-radius: 20px;	
}
.check-availability h2{
    color: #212048;
    font-size: 24px;	
    line-height: 22px;
 	text-align: center;
 	margin: 32px 0;
}
.icon {
    background: url(../img/icon/icon-05.png)no-repeat;
    display: inline-block;
    width: 20px;
    height: 20px;
    padding: 0 8px 0 0;
}
.search-link {
    margin:  auto;
}
.search-link ul{
	background: #f3f3f3;
	border-radius: 6px;
	border: 1px solid #bababa;
}
.search-link li{
	height: 60px;
    vertical-align: middle;
    line-height: 60px;
	border-bottom: 1px solid #bababa;
	font-size: 14px;
}
.search-link li:last-child{
	border-bottom: none;
}
.search-link li a{
	display: block;
    padding: 0 0 0 24px;
    position: relative;
    color: #000000;
}
.search-link li a:after{
    background: url(../img/icon/icon-01.png) no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
    top: 19px;
    right: 24px;
    width: 20px;
    height: 20px;
    margin: 0 0 0 8px;
}
/* =========================================================
* NEWS
* =========================================================*/
.news-area{
	width: 1000px;
    margin: 40px auto;
    overflow: hidden;
   	border-bottom: double #bfbfbf;
}
.news-line{
	background: url(../img/icon/plaid-bg.png);
	width: 100%;
	height: 18px;

}
.news-area h2{
 	width: 600px;
 	height: 40px;
 	line-height: 40px;
 	background: #363581;
 	margin: -19px auto 40px;
 	padding: 0 0 0 16px;
 	border-radius: 0px 0px 10px 10px;
 	position: relative;
 	font-family: 'PT Sans Narrow', sans-serif;
}
.news-area h2 a{
	color: #fff;
	font-size: 21px;
	display: block;
}
.news-area h2 a:after{
	background: url(../img/icon/icon-02.png) no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
    top: 13px;
    right: 24px;
    width: 10.5px;
    height: 13.5px;
    margin: 0 0 0 8px;
}
.news-box{
	width: 820px;
	margin: auto;	
	padding: 0 0 24px;
}
.news-list{
	margin: 0 0 16px;
    overflow: hidden;
	color: #212048;
}
.news_date{
	width: 120px;
	float: left;
	line-height: 18px;
	color: #363581;
}
.news_title{
	width: 700px;	
	float: left;
	line-height: 18px;
}
.news_title a{
	color: #363581;
	display: block;
	text-decoration: underline;
}
/* =========================================================
* contents-list
* =========================================================*/
.contents-list,.contents-box{
	width: 1000px;
	margin: 0 auto 40px;
}
.contents-list img{
	width: 100%;
}
.contents-list li{
	display: inline-block;
	width: 32%;
	vertical-align: top;
}
.contents-list li.function-img{
	padding: 0 15px;
}
.contents-list li a{
	display: block;
}
.contents-list li a:hover{
	opacity: 0.75;
}
.contents-text-1{
	background: url(../img/top/p-top05-1.jpg) no-repeat;
	background-size: 100%;
}
.contents-text-2{
	background: url(../img/top/p-top05-2.jpg) no-repeat;
	background-size: 100%;
}
.contents-text-3{
	background: url(../img/top/p-top05-3.jpg) no-repeat;
	background-size: 100%;
}
.contents-bg{
	width: 100%;
	max-width: 170px;
	min-width: 120px;
	background: rgba(255, 255, 255, 0.80);
	overflow: hidden;
	padding: 6px;
    margin: auto;
}
.contents-w {
    padding: 8.5% 18%;
}
.contents-line{
	border: solid 1px #595897;
    border-radius: 6px;
}
.contents-text-1 h2,.contents-text-2 h2,.contents-text-3 h2{
 	font-family: 'PT Sans Narrow', sans-serif;	
 	text-align: center;
 	font-size: 27px;
 	margin: 20px 0 0;
 	line-height: 27px;
 	color: #363581;
}
.contents-text-1 h2 span,.contents-text-2 h2 span,.contents-text-3 h2 span,.contents-plan h2 span {
    display: block;
    font-size: 8px;
}
.contents-icon{
		text-align: center;
}
.contents-line img{
	width: 48px;
}
.contents-bg p{
    padding: 8px 11px 12px;
    line-height: 16px;
    font-size: 11px;
    color: #212048;
}
.contents-plan{
	background: #bac9df;
	padding: 32px 0;
	margin: 0 0 16px;
}
.contents-plan:hover{
	opacity: 0.75;
}
.plan-bg{
	width: 170px;
	background: #fff;
	margin: auto;
	padding: 6px;
}
.plan-line{
	border: solid 1px #595897;
    border-radius: 6px;	
 	position: relative;
}
.contents-plan h2{
 	font-family: 'PT Sans Narrow', sans-serif;	
	text-align: center;
    font-size: 36px;
    margin: 22px 0 8px -39px;
 	line-height: 27px;
 	color: #363581;
}
.contents-plan p{
 	text-align: center;
 	margin: 0 0 22px;
}
.contents-plan h2:after{
    background: url(../img/icon/icon-07.png) no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
	top: 21px;
    right: 30px;
	width: 27.5px;
    height: 28px;
    margin: 0 0 0 8px;
}
.contents-box-l{
	width:50%;
	display: inline-block;
}
.nav-list li{
	border-bottom: double #bac9df;
	line-height: 40px;
	padding: 24px 0 0 16px;
	font-size: 16px;
}
.nav-list li a{
	display: block;
	position: relative;
}
.nav-list li a:after{
    background: url(../img/icon/icon-03.png) no-repeat;
    background-size: contain;
    position: absolute;
    content: "";
    top: 12px;
    right: 24px;
    width: 11.5px;
    height: 14px;
    margin: 0 0 0 8px;
}
/* =========================================================
 * Facebook
 * =========================================================*/
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
    width: 100% !important;
    height: 391px !important;
}
.facebook-box{
	width:49%;
	display: inline-block; 
	vertical-align: top;
}
.facebook-box img{
	width: 100%;
}
.banner-list{
	width: 100%;
	max-width: 1000px;	
	margin: 0 auto 40px;
}
.banner-list .bannerbtn img{
	width: 100%;
}
.banner-list .bannerbtn{
	width: 100%;
	max-width: 15%;
	margin: auto;

}
.blk_review{
    max-width: 1000px;
    margin: 32px auto 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    background: #EBEBEB;
    padding: 3em 4em 3em 3em;
    }
.blk_review .side_left{
    width: calc(100% - 300px);
    height: 271px;
    background: #EBEBEB;
    padding: 3em 3em 1em;
    box-sizing: border-box;
    }
.blk_review .side_left h2{
    font-size: 1.4em;
    font-weight: bold;
    color: #16AD66;
    padding-bottom: 1em;
    }
.blk_review .side_left p{
    line-height: 1.5;
    padding-bottom: 1.25em;
    }
.blk_review .side_left .area_review{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    }
.blk_review .side_left .area_review img{
    width: 33%;
    max-width: 160px;
    min-height: 110px;
    padding-right: 5px;
    }
.blk_review .side_left .area_review div{
	font-size: 0.8em;
    width: calc(33.3% - 5px);
    max-width: 160px;
    padding: 1em;
    margin-right: 5px;
    background: #fff;
    position: relative;
    box-sizing: border-box;
    }
.blk_review .side_left .area_review div:after{
    position: absolute;
    content: '';
    background-image: url("../img/top/arrow-area_review.png");
    background-size: 100%;
    background-repeat: no-repeat;
    width: clamp(17px, 2.7vw, 27px);
    height: clamp(21px, 3.3vw, 33px);
    bottom: calc(clamp(15px, 2.4vw, 24px) * -1);
    right: clamp(8px, 1.2vw, 12px);
    }
@media (max-width: 767px) {
/* =========================================================
 * slide-area
 * =========================================================*/
	#box1{
		border-bottom:none;
	}	
	.slide-top{
        width: 100%;
        margin: 24px 0 0;
     } 
	.main-top-slide{
		width: 100%;
		float: none;
	}
	.concept{
		width: 100%;
		float: none;
		margin: 0;
	}
	 .concept h2{
	    font-size: 26px;
    	margin: 24px 0 8px;	
	}
	.concept h2 p {
	    
    	line-height: 30px   
	}
	.concept p{
	    width: 92%;
	}
 	.slide-sub{
        width: 100%;
        margin: 24px 0 0;	
        padding: 0 0 32px;
    	border-bottom: solid 3px #363581;	
	}
	.slide-sub-img{
		margin: 0 0 8%;
	}
	.content-box{
		width: 100%;
		margin: 24px auto 32px;
	}
	/*コロナ*/
	.banner-img{
		padding: 0 30px;
	}

	.slide-top .width {
		display: flex;
		flex-wrap: wrap;
		
		padding: 0;
	}

	.slide-top .width > * {
		width: 100%;
	}
	
	.slide-top .content-right .main-top-slide.pc {
		display:none;
	}
	
	.slide-top .content-right .main-top-slide.sp {
		display: block;
	}

	
	.slide-top .concept {
		min-width: 100%;
		order: 2;
	}
	.slide-top .content-right {
		margin-right:0;
		padding: 0;
		order: 1;

	}
	.concept2 {
		width: auto;
		padding:0 30px;
		margin-top: 3em;

	}
	.slide-top .concept{
		position: relative;
		left:inherit;
		top:inherit;
	}
	.concept2 h2{
		
		transform: none;
		writing-mode:initial;
		letter-spacing: 0.2em;
		font-size: 26px;
		
		line-height: 1.4;
	
		text-indent: 0;
		margin: 0;
	
	}
	.concept2 h3{
		margin-top: 0.7em;
		font-size: 22px;
		position: relative;
		padding:0;
		display: inline-block;
		background: #fff;
		display: flex;
		align-items: center;
		gap:0.4em;


	}
	.concept2 h3::after,
	.concept2 h3::before
	{
		content:'';
		display: block;
		width:1em;
		
		border-top:#7384af solid 1px;
		height:1px;
		


	}
	.concept2 p{

		
	}
	.content-box {
		padding-left:30px;
		padding-right:30px;
		box-sizing: border-box;
	}

	.slide-sub {
		gap:0 10px !important;
		justify-content: space-between;
	}


 /* =========================================================
 * check-availability
 * =========================================================*/
	.footer-fixed {
		
		left:30px;
		width:calc(100% - 60px) !important;
	}
	.check-availability{
		
	}
	.check-availability h2{
	}
	.search-link {
		width: 100%;
	    margin:  auto;
	}
	.search-link li{
		width: 100%;
	}
 /* =========================================================
 * NEWS
 * =========================================================*/
	.news-area{
		width: 100%;
	    margin: 40px 0;
    	border-bottom: none;		
	}
	.news-line{
		width: 100%;
	}
	.news-area h2{
	 	width: 180px;
	 	height: 40px;
	 	line-height: 40px;
	 	background: #363581;
	 	margin: -19px auto 24px;
	 	padding: 0 0 0 24px;
	}
	.news-box{
		width: 100%;
    	border-bottom: double #bfbfbf;
	}
	.news_date {
    	width: 22%;
    }
    .news_title {
		width: 78%;
	}
/* =========================================================
* contents-list
* =========================================================*/
	.contents-list,.contents-box{
		width: 100%;
		margin: 0 auto 24px;
	}
	.contents-list li{
		display: inherit;
		width: 100%;
		margin: 0 0 8px;
	}
	.contents-list li.function-img{
		padding: 0;
	}
	.contents-w {
	    padding: 9.5% 22%;
	}
	.contents-plan{
		margin: 0;
	}
	.contents-box-l{
		width:100%;
		display: inherit;
	}
/* =========================================================
 * Facebook
 * =========================================================*/
    .fb_iframe_widget,
    .fb_iframe_widget span,
    .fb_iframe_widget iframe[style]{
        height: 500px !important;
    }	
	.facebook-box{
		width:100%;
		display: inherit;
		vertical-align: top;
		margin: 32px 0 40px;
	}
	.banner-list{
		padding: 0 4%;
		box-sizing: border-box;
	}
	.banner-list .bannerbtn{
		width: 100%;
		max-width: 35%;
		margin: auto;
	}
	
	.blk_review{
        width: 100%;
        padding: 0 4%;
        box-sizing: border-box;
        }
    .blk_review .side_left{
        width: 100%;
        height: auto;
        }
    .blk_review .side_left .area_review{
        justify-content: center;
        }
    .blk_review .side_left .area_review div{
        width: 100%;
        max-width: none;
        margin-bottom: 30px;}
    .blk_review .side_left .area_review div:after{
        width: 27px;
        height: 33px;
        bottom: -24px;
        right: 25%;
        }
    #cuticomi-widget-WCq64ZPvHxFpIh5Olnosif1yjGzTVE{
        margin: 0 auto;}
	
}

@media (max-width: 420px) {

	.contents-w {
	    padding: 13.5% 17%;
	}
}
@media (max-width: 375px) {

	.contents-w {
	    padding: 11.5% 17%;
	}
}
@media (max-width: 320px) {

	.contents-w {
	    padding: 7.5% 17%;
	}

}
