@charset "UTF-8";


/* m_img_area
---------------------------------------------------------*/
.m_img{
	position: relative;
}
.m_img::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/m_bg@2x.png")no-repeat bottom center;
	background-size: 100% auto;
	width: 100%;
	aspect-ratio:1536 / 258;
	left: 0;
	bottom: 100px;	
	opacity: 0;
	transition: all 1.5s ease;
	transition-delay: 1.0s;
}
.anime_on .m_img::before{
	opacity: 1;
}
.m_img .abs div.bg{
	position: absolute;
	bottom: 100px;
	left: 0;
	width: 100%;
	aspect-ratio:1536 / 258;
}
.m_img .m_copy{
	position: absolute;
	bottom: min(180px,15vw);
	left: 0;
	right: 0;
	margin: 0 auto;
	width:29%;
	max-width: 440px;
	aspect-ratio:440 / 292;
	z-index: 2;
}
.m_img .m_copy dt{
	position: absolute;
	width: 68%;
	right: 105%;
	top: -30%;
	aspect-ratio:298 / 251;
}

.m_img .slick_subimg{
	position: absolute;
	bottom: 50px;
	right: -5%;
	width: 26%;
	aspect-ratio:335 / 228;
	z-index: 88!important;
}

/*a_slick*/
.m_img .slick_box{
	position: relative;
	height: 100vh;
	width: 90%;
	min-height: 800px;
	max-width: 1300px;
	margin: 0 auto;
}
.m_img .a_slick{
	position: absolute;
	bottom: 50px;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: block;
	z-index: 2;
}
.m_img .a_slick li{
	position: relative;
	aspect-ratio: 1 / 1 !important;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
}
.m_img .a_slick li .m_img_photo{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 50%;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	clip-path: circle(0% at 50% 50%);
}
.m_img_area.anime_on .m_img .a_slick li .m_img_photo{
	animation: circleReveal 3.2s cubic-bezier(0.19, 1, 0.22, 1) 0.3s forwards;
}
@keyframes circleReveal {
	0%   { clip-path: circle(0% at 50% 50%); }
	40%  { clip-path: circle(50% at 50% 50%); }
	60%  { clip-path: circle(65% at 50% 50%); }
	75%  { clip-path: circle(70.5% at 50% 50%); }
	85%  { clip-path: circle(72.8% at 50% 50%); }
	92%  { clip-path: circle(74% at 50% 50%); }
	100% { clip-path: circle(75% at 50% 50%); }
}

/*a_thumbnail*/
.m_img .a_thumbnail{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 45%!important;
	max-width: 550px;
	z-index: 2;
}
.m_img .a_thumbnail .slick-list,
.m_img .a_thumbnail .slick-track{
	width: 100%!important;
}
.m_img .a_thumbnail .slick-slide{
	width: 32%!important;
	aspect-ratio:1 / 1!important;
	float: left!important;
	margin: 0!important;
	background-color: #fff!important;
	-webkit-mask: url("../images/common/moya.svg") no-repeat center center;
	mask: url("../images/common/moya.svg") no-repeat center center;
	-webkit-mask-size: cover;
	mask-size: cover;
	display: flex!important;
	justify-content: center!important;
	align-items: center!important;
	margin-right: 2%!important;
	cursor: pointer;
	transition: 0.4s!important;
}
.m_img .a_thumbnail .slick-slide:last-child{
	margin-right: 0!important;
}
.a_thumbnail .slick-slide.is-active{
	background-color: #ffe269!important;
}

/*slick_tree*/
.m_img .slick_tree div{
	position: absolute;
	width: 10.5%;
	aspect-ratio:135 / 290;
	z-index: 32;
}
.m_img .slick_tree div:nth-child(1){
	bottom: 290px;
	left: -6%;
}
.m_img .slick_tree div:nth-child(2){
	bottom: 140px;
	left: 3%;
}
.m_img .slick_tree div:nth-child(3){
	bottom: 30px;
	left: 18%;
}
.m_img .slick_tree div:nth-child(4){
	bottom: 65px;
	right: 22%;
}
.m_img .slick_tree div:nth-child(5){
	bottom: 170px;
	right: 7.5%;
}
.m_img .slick_tree div:nth-child(6){
	bottom: 290px;
	right: -6%;
}
.m_img .slick_deco div{
	position: absolute;
	width: 32%;
	aspect-ratio:420 / 48;
	z-index: 32;
}
.m_img .slick_deco div:nth-child(1){
	bottom: 130px;
	left: -5.5%;
}
.m_img .slick_deco div:nth-child(2){
	bottom: 20px;
	right: -6%;
}

/*side_bnr*/
.side_bnr{
	position: absolute;
	top:40%;
	transform:translateY(-50%) translateX(40px);
	right: -10px;
	width: 8.2em;
	background: var(--color_yellow2);
	border:min(10px,1vw) solid var(--color_white);
	z-index: 88;
	padding: 2.8em 0 1.3em;
	border-top-left-radius: var(--radius40);
	border-bottom-left-radius: var(--radius40);
	text-align: center;
	font-size:min(100%,1.3vw);
	opacity: 0;
	transition: all 2s cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: 2.5s;
}
.anime_on .side_bnr {
	opacity: 1;
	transform:translateY(-50%) translateX(0px);
}

.side_bnr::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/h_soudan.svg")no-repeat top left;
	background-size: 100% auto;
	width: 5em;
	aspect-ratio: 75 / 60;
	left: -0.5em;
	top:-2em;
}
.side_bnr span{
	font-weight: bold!important;
}
.side_bnr span:nth-child(1){
	display: block;
	font-size: 190%;
	line-height: 1.2em;
	letter-spacing: 0.05em;
}
.side_bnr span:nth-child(1) strong{
	color: #ff686c;
}
.side_bnr span:nth-child(2){
	display: block;
	font-size:125%;
	line-height: 1em;
	margin-top: .4em;
}
.side_bnr i{
	background: var(--color_white);
	border-radius: 50%;
	aspect-ratio:1 / 1;
	font-size: 170%;
	width: 1em;
	display: flex;
    justify-content: center;
    align-items: center;	
	margin: .5em auto 0;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1350px) {
/*a_slick*/
.m_img .slick_box{
	height: 82vw!important;
	min-height: auto!important;
	max-width: auto!important;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/*a_slick*/
.m_img .slick_box{
	max-height: 82vw!important;
	min-height: 75vw!important;
}
/*side_bnr*/
.side_bnr{
	top: 37vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.m_img::before{
	bottom:25vw;	
}
.m_img .abs div.bg{
	bottom: 10vw;
	width: 100%;
}
.m_img .m_copy{
	bottom:24vw;
	width: 60%;
	aspect-ratio: auto;
}
.m_img .m_copy dt{
	width: 50%;
	right: 85%;
	top: -60%;
}
/*a_slick*/
.m_img .slick_box{
	position: relative;
	height:170vw;
	width: 140%;
	min-height: auto;
	max-width: auto;
	margin-left: -20%;
}
.m_img .a_slick{
	bottom: 25vw;
}

/*a_thumbnail*/
.m_img .a_thumbnail{
	width: 50%!important;
}
.m_img .a_thumbnail .slick-slide{
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.1));
}

/*slick_tree*/
.m_img .slick_tree div{
	width: 6%;
}
.m_img .slick_tree div:nth-child(1){
	bottom: 35vw;
	left: 15%;
}
.m_img .slick_tree div:nth-child(2){
	bottom: 25vw;
	left: 18%;
}
.m_img .slick_tree div:nth-child(3){
	display: none;
}
.m_img .slick_tree div:nth-child(4){
	bottom: 25vw;
	right: 18%;
}
.m_img .slick_tree div:nth-child(5){
	bottom: 35vw;
	right: 15%;
}
.m_img .slick_tree div:nth-child(6){
	display: none;
}
.m_img .slick_deco div{
	width: 9%;
	aspect-ratio:51 / 51;
}
.m_img .slick_deco div:nth-child(1){
	bottom: 14vw;
	left: 16%;
}
.m_img .slick_deco div:nth-child(2){
	bottom: 11vw;
	right: 16%;
}
#wrapper{
	overflow: hidden;
}
}




/* instagram
---------------------------------------------------------*/
#instagram .insta_inbox{
	position: relative;
	padding-top: min(50px,4vw);
}
#instagram .insta_inbox2{
	margin-bottom: min(90px,7vw);
}

#instagram .abs div{
	position: absolute;
	width: 8%;
	aspect-ratio:110 / 120;
	z-index: 3;
}
#instagram .abs div:nth-child(1){
	top:-23%;
	transform: translateY(-50%);
	left: 2.5%;
}
#instagram .abs div:nth-child(2){
	width: 16%;
	aspect-ratio:217 / 190;
	top: -60%;
	transform: translateY(-50%);
	left: 16%;
}
#instagram .abs div:nth-child(3){
	top: 28%;
	transform: translateY(-50%);
	left: 52.5%;
}
#instagram .abs div:nth-child(4){
	top: -19%;
	transform: translateY(-50%);
	right: 3.5%;
}
#instagram .eng116{
	text-align: center;
	color: #ececb5;
	line-height: 1em;
	margin-bottom: -0.1em;
}
#instagram .inbox{
	position: relative;
	z-index: 2;
	padding: min(50px,4vw) 0 min(60px,5vw);
	text-align: center;
	margin: 0 auto;
}
#instagram .inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: var(--color_white);
	box-shadow: 0 0 40px -20px rgba(124,50,0,0.5);
	border-radius: var(--radius40);
	width: var(--content_width);
	height: 100%;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#instagram .fs24{
	position: relative;
	display: inline-block;
	padding-left: 2.2em;
	box-sizing: border-box;
	text-align: center;
	margin-bottom: 1.5em;
}
#instagram .fs24::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_insta.svg")no-repeat top left;
	background-size: 100% auto;
	width: 1.6em;
	height: 1.6em;
	top: 50%;
	transform:translateY(-50%);
	left: 0;
}
#instagram .com_slide .swiper-slide{
	width: min(230px,20vw);
	aspect-ratio: 230 / 290;
	position: relative;
	overflow: hidden;
	margin-right: min(35px,2.5vw);
}
#instagram .com_slide .swiper-slide img{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 縦横比を維持して最大表示 */
	display: block;
}
#instagram .com_slide .swiper-slide:nth-child(even){
	margin-top: min(35px,2.5vw);
}
#instagram .btn a{
	position: absolute;
	bottom: -3em;
	right: 5em;
	font-size:min(130%,1.7vw);
	background:var(--color_base);
	color: var(--color_white);
	aspect-ratio: 1 / 1;
	width: 9.5em;
	border-radius: 50%;
	display: flex;
    justify-content: center;
    align-items: center;	
	flex-wrap: wrap;
	z-index: 2;
}
#instagram .btn a:hover{
	background:var(--color_yellow3);
}
#instagram .btn span{
	position: relative;
	width: 100%;
	line-height: 1.3em;
	padding-top: 2.3em;
}
#instagram .btn span i{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	font-size:180%;
}
#instagram .btn a::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/insta_check.svg")no-repeat top right;
	background-size: 100% auto;
	width: 4.5em;
	height: 2em;
	top: 0.3em;
	right: 0.3em;
	aspect-ratio: 92 / 34;
}

/*追加*/
#instagram .slide_box{
}
#instagram .bxslider #sb_instagram{
   max-width: 100%!important;
   width:100%!important;
}
#instagram .bxslider .inst_llist .bx-viewport,
#instagram .bxslider .sbi_photo{
	height: min(290px,26.5vw)!important;
}
#instagram .bxslider #sb_instagram #sbi_images {
	display: block !important;
}
#instagram .bxslider .sbi_item{
	width: min(230px,20vw)!important;
}
#instagram .bxslider .sbi_item:nth-child(even){
	padding-top: min(35px,2.5vw)!important;
}
.sbi_photo_wrap{
	margin-left: min(10px,0.8vw)!important;
	margin-right: min(10px,0.8vw)!important;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#instagram .insta_inbox{
	padding-top: 10vw;
}
#instagram .insta_inbox2{
	margin-bottom: 12vw;
}
#instagram .abs div{
	width: 10%;
}
#instagram .abs div:nth-child(1){
	top: 5%;
	left: -2%;
}
#instagram .abs div:nth-child(2){
	width: 20%;
	top: -3%;
	left: 9%;
}
#instagram .abs div:nth-child(3){
	top: 19%;
	left: 52.5%;
}
#instagram .abs div:nth-child(4){
	top:5%;
	right: 2%;
}
	
#instagram .eng116{
	width: 112%;
	margin-left: -6%;
	margin-bottom: 0;
}
#instagram .inbox{
	width: 112%;
	margin-left: -6%;
	padding: 5vw 0 6vw;
}
#instagram .inbox::before{
	border-radius: 0;
	box-shadow: 0 0 20px -10px rgba(124,50,0,0.5);
}
#instagram .fs24{
	padding-left: 0;
	margin-bottom: .8em;
	padding-top: 2em;
}
#instagram .fs24::before{
	width: 1.6em;
	height: 1.6em;
	top: 0;
	transform:translateY(0);
	right: 0;
	margin: 0 auto;
}
#instagram .com_slide .swiper-slide{
	width: 30vw;
	margin-right:3vw;
}
#instagram .com_slide .swiper-slide:nth-child(even){
	margin-top: 3vw;
}
#instagram .btn a{
	right: 2em;
	font-size: 2.5vw;
}
	
.mbnr_soudan{
	width: 106%;
	margin: 0 -3%;
}
	
/*追加*/
#instagram .bxslider .sbi_item{
	width: 34vw!important;
}
#instagram .bxslider .inst_llist .bx-viewport,
#instagram .bxslider .sbi_photo{
	height: 45.5vw!important;
}
#instagram .bxslider .sbi_item:nth-child(even){
	padding-top: 3vw!important;
}
.sbi_photo_wrap{
	margin-left:1vw!important;
	margin-right: 1vw!important;
}
}






/* anshin
---------------------------------------------------------*/
#anshin .anshin_index1{
	position: relative;
	z-index: 2;
	width: 55%;
	max-width: 650px;
	margin: 0 auto;
}
#anshin .anshin_index1 .fs24{
	margin-top: 1em;
}

/*type1*/
#anshin .type1 .flex_box{
	flex-flow: row-reverse;
	margin-top: -120px;
}
#anshin .type1 .flex_box .imgbox{
	position: relative;
	width: 45%;
	margin-right: -9.5%;
	aspect-ratio: 1 / 1;
}
#anshin .type1 .flex_box .imgbox .icon{
	position: absolute;
	top:35%;
	transform: translateY(-50%);
	left: -15%;
	aspect-ratio: 1 / 1;
	width: 28%;
}
#anshin .type1 .flex_box .txtbox{
	width: 61%;
	max-width: 750px;
	padding-top:130px;
}
#anshin .type1 .flex_box .txtbox .txt,
#anshin .anshin3 .flex_box .txtbox .txt{
	max-width: 672px;
	margin-left: auto;
	margin-right: 0;
}
#anshin .flex_box .txtbox .txt{
	position: relative;
	z-index: 3;
}

/*number*/
#anshin .number{
	position: relative;
	font-size: min(900%,11vw);
	color: #ecdf88;
	margin-bottom: -.3em;
}
#anshin .type3 .number{
	font-size: min(730%,9vw);
}
#anshin .anshin2 .number{
	text-align: right;
}
#anshin .number dd{
	position: absolute;
	top:-0.07em;
	width: 1.8em;
}
#anshin .type1 .number dd{
	left: .8em;
}
#anshin .anshin2 .number dd{
	top:-0.07em;
	right: .85em;
}
#anshin .anshin3 .number dd{
	left: 1em;
}
#anshin .type3 .number dd{
	width: 2.5em;
}
#anshin .type3 .anshin4 .number dd{
	left: .7em;
}
#anshin .type3 .anshin5 .number dd{
	left: .9em;
}

/*flowbox*/
#anshin .type1 .flowbox{
	position: relative;
	text-align: center;
	margin-top: -2.5em;
	padding: 0 2% min(40px,4vw) 2%;
	box-sizing: border-box;
}
#anshin .type1 .flowbox::before{
	position: absolute;
	display: block;
	content: "";
	background: #ffffe0;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 2em);
	border:8px solid #ecdf88;
	border-radius: var(--radius40);
	bottom: 0;
	left: 0;
	box-sizing: border-box;
}
#anshin .type1 .flowbox_inbox{
	position: relative;
	z-index: 2;
}
#anshin .type1 .flowbox .fs24{
	max-width: 546px;
	width: 95%;
	background: var(--color_white);
	display: inline-block;
	border-radius: 2em;
	padding: .4em 1em;
	box-sizing: border-box;
	box-shadow: 0 0 40px -20px rgba(155,105,5,0.6); 
	margin-bottom: min(1.5em,2vw);
}
#anshin .type1 .flowbox ul{
	display: flex;
    justify-content: space-between;
}
#anshin .type1 .flowbox ul li{
	width: 20%;
	font-weight: bold;
	font-size:min(100%,1.1vw);
}
#anshin .type1 .flowbox ul li .img{
	position: relative;
	width: 84%;
	margin: 0 auto 1em;
}
#anshin .type1 .flowbox ul li .img::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/anshin_abs3.svg")no-repeat top right;
	background-size: 100% auto;
	width: 6%;
	aspect-ratio:12 / 13;
	top:50%;
	transform: translateY(-50%);
	right:-12%;
}
#anshin .type1 .flowbox ul li:last-child .img::before{
	display: none;
}


/*type2*/
#anshin .anshin2{
	padding-top: min(150px,8vw);
}
#anshin .anshin2{
	background: url("../images/top/anshin_abs4@2x.png")no-repeat top min(-50px,-1vw) center #fffbc4;
	background-size: 100% auto;
}
#anshin .anshin2 .bg{
	background: url("../images/top/anshin_abs5@2x.png")no-repeat bottom center;
	background-size: 100% auto;
	padding-bottom: min(50px,3vw);
}
#anshin .flex_box{
	align-items: flex-start;
}

#anshin .type2 .imgbox{
	width: 49%;
}
#anshin .type2 .imgbox{
	position: relative;
	aspect-ratio: 636 / 548;
}
#anshin .type2.anshin3 .imgbox{
	aspect-ratio: 636 / 465;
}
#anshin .type2 .imgbox .icon{
	position: absolute;
	aspect-ratio: 1 / 1;
	top: 56%;
	transform: translateY(-50%);
	width: 27%;
}
#anshin .type2.anshin2 .imgbox .icon{
	right: -11%;
}
#anshin .type2.anshin3 .imgbox .icon{
	left:0;
	top: 28%;
}
#anshin .type2 .txtbox{
	width: 48%;
	max-width: 535px;
}
#anshin .type2.anshin2 .txtbox{
	width: 44%;
}
#anshin .type2 .txtbox .img{
	margin-top: min(30px,2vw);
	width: 85%;
	max-width: 437px;
}
#anshin .anshin3{
	padding-top: min(80px,4vw);
	padding-bottom: min(150px,12vw);
	background: url("../images/top/anshin_abs8@2x.png")no-repeat bottom center;
	background-size: 100% auto;
}
#anshin .anshin3 .flex_box{
	flex-flow: row-reverse;
}

/*type3*/
#anshin .type3 .bg{
	background: #fffbc4;
	padding-top: min(70px,3vw);
	padding-bottom: min(110px,11vw);
}
#anshin .type3 .flex_box > section{
	width: 48%;
}
#anshin .type3 .img{
	position: relative;
	max-width: 495px;
	margin: 0 auto min(40px,2vw);
	aspect-ratio: 495 / 369;
}
#anshin .type3 .img .icon{
	position: absolute;
	aspect-ratio: 1 / 1;
	top: 100%;
	transform: translateY(-50%);
	width: 33%;
	right: 5%;
}
#anshin .type3 .anshin5 .img .icon::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/anshin_abs6@2x.png")no-repeat top left;
	background-size: 100% auto;
	height: 90%;
	aspect-ratio: 92 / 148;
	right: calc(100% - 1em);
	top:50%;
	transform: translateY(-50%);
}
#anshin .type3 .txt{
	max-width: 515px;
	margin: 0 auto;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
/*type1*/
#anshin .type1 .flex_box{
	margin-top: -8.5vw;
	margin-bottom: 3vw;
}
#anshin .type1 .flex_box .txtbox{
	padding-top:8vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/*type1*/
#anshin .type1 .flex_box{
	margin-top: -8.5vw;
	margin-bottom: 7vw;
}
#anshin .type1 .flowbox::before{
	border: 5px solid #ecdf88;
}
#anshin .type1 .flex_box .txtbox{
	padding-top:8vw;
}
#anshin .type1 .flowbox ul li{
	font-size: 1.4vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#anshin .anshin_index1{
	width: 85%;
}
#anshin .anshin_index1 .fs24{
	margin-top: .5em;
}

/*type1*/
#anshin .type1 .flex_box{
	display: block;
	margin-top: 7vw;
}
#anshin .type1 .flex_box .imgbox{
	width: 80%;
	margin-left: auto;
	margin-right: 0;
	margin-bottom: -7vw;
}
#anshin .type1 .flex_box .imgbox .icon{
	top:35%;
	left: -22%;
	width: 38%;
}
#anshin .type1 .flex_box .txtbox{
	width: 100%;
	max-width: 100%;
	padding-top: 0;
}
#anshin .type1 .flex_box .txtbox .txt,
#anshin .anshin3 .flex_box .txtbox .txt{
	max-width: 100%;
}

/*number*/
#anshin .number{
	font-size: 400%;
}
#anshin .anshin2 .number{
	margin-bottom: -0.6em;
}
#anshin .type3 .number{
	font-size: 400%;
}
#anshin .number dd{
	width: 1.8em!important;
}
#anshin .anshin2 .number dd{
	top: 0;
	right: .85em;
}

/*flowbox*/
#anshin .type1 .flowbox{
	margin-top: 5%;
	padding: 0 5% 8%;
}
#anshin .type1 .flowbox::before{
	height: calc(100% - 4vw);
	border: 5px solid #ecdf88;
}
#anshin .type1 .flowbox .fs24{
	padding: .3em 1em;
	margin-bottom: 4%;
	box-shadow: 0 0 20px -10px rgba(155,105,5,1.00);
}
#anshin .type1 .flowbox ul{
	display: block;
	width: 90%;
	margin: 0 auto;
}
#anshin .type1 .flowbox ul li{
	width: 100%;
	font-size: 100%;
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: 7vw;
}
#anshin .type1 .flowbox ul li:last-child{
	margin-bottom: 0;
}
#anshin .type1 .flowbox ul li .img{
	width: 30%;
	margin: 0 auto;
}
#anshin .type1 .flowbox ul li .img::before{
	width: 11%;
	top:calc(100% + 3vw);
	transform: translateY(0) rotate(90deg) translateX(-50%);
	right: 41%;
}
#anshin .type1 .flowbox ul li .fs17{
	width: 70%;
	padding-left: 1em;
	box-sizing:border-box;
	display: block;
	text-align: left;
}

/*type2*/
#anshin .anshin2{
	padding-top: 10%;
}
#anshin .anshin2{
	background-position: top -3vw center;
}
#anshin .anshin2 .bg{
	padding-bottom: 5%;
}
#anshin .flex_box{
	display: block;
}
#anshin .type2 .imgbox{
	width: 95%;
	margin: 0 auto 7%;
}
#anshin .type2 .imgbox .icon{
	width: 30%;
}
#anshin .type2.anshin2 .imgbox .icon{
	right: 2%;
}
#anshin .type2.anshin3 .imgbox .icon{
	left:0;
}
#anshin .type2 .txtbox{
	width: 100%;
	max-width:100%;
}
#anshin .type2.anshin2 .txtbox{
	width:100%;
}
#anshin .type2 .txtbox .img{
	margin: 4% auto 0;
	width: 70%;
}
	
#anshin .anshin3{
	padding-top: 8%;
	padding-bottom: 10%;
}

/*type3*/
#anshin .type3 .bg{
	padding-top: 7%;
	padding-bottom:10%;
}
#anshin .type3 .flex_box{
	display: block;
}
#anshin .type3 .flex_box > section{
	width: 100%;
	margin-bottom: 10%;
}
#anshin .type3 .flex_box > section:last-child{
	margin-bottom: 0;
}
#anshin .type3 .img{
	margin: 0 auto 5%;
	width: 70%;
}
#anshin .type3 .img .icon{
	width: 40%;
	right:-15%;
}
#anshin .type3 .anshin5 .img .icon::before{
	right: calc(100% - 0.5em);
}
#anshin .type3 .txt{
	max-width: 100%;
}
}












/* kihon
---------------------------------------------------------*/
#kihon .bg{
	background: #ff947b;
	padding-top: min(90px,9vw);
}
#kihon .bg2{
	position: relative;
	background: #ffccb8;
}
#kihon .bg2::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/kihon_abs3@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 100%;
	height: 1000px;
	top:0;
	left: 0;
}
#kihon .bg2::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/kihon_abs4@2x.png")no-repeat bottom -1px left;
	background-size: 100% auto;
	width: 100%;
	height: 1000px;
	bottom:0;
	left: 0;
}
#kihon .w1300{
	position: relative;
	z-index: 2;
}
#kihon .index{
	position: relative;
}
#kihon .index .abs{
	position: absolute;
	top: 70%;
	transform: translateY(-50%);
	right: -4%;
	width: 17%;
	aspect-ratio:218 / 209;
}
#kihon .index ul{
	display: flex;
    justify-content: center;
	margin-bottom: 1em;
}
#kihon .index li{
	color: var(--color_white);
	border-radius:var(--radius20);
	background: #ff7656;
	padding: .2em .8em;
	box-sizing: border-box;
	margin-right: .5em;
}
#kihon .index li:last-child{
	margin-right: 0;
}
#kihon .index h2{
	width: 60%;
	max-width: 606px;
	margin: 0 auto min(-40px,-1vw);
}
#kihon .bg2{
	padding-top: min(170px,13vw);
	padding-bottom: min(50px,5vw);
}
#kihon .bg2 ol{
	max-width: 1228px;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
}
#kihon .bg2 ol li{
	width: 31%;
	max-width: 340px;
}
#kihon .bg2 ol li .eng35{
	text-align: center;
	margin-bottom: 1.3em;
}
#kihon .bg2 ol li .eng35 span{
	background: #ff7656;
	border-radius: min(30px,2.5vw);
	color: var(--color_white);
	margin: 0 auto;
	padding: .5em;
	box-sizing: border-box;
}
#kihon .bg2 ol li .fs32{
	text-align: center;
	margin: 1em 0 .5em;
}

#kihon .bg3{
	position: relative;
}
#kihon .bg3 .abs{
	position: absolute;
	top: 30%;
	transform: translateY(-50%);
	left: -2%;
	width: 17%;
	aspect-ratio:218 / 209;
}
#kihon .abs_txt{
	position: relative;
	margin-top:min(80px,5vw);
	padding-bottom: min(60px,4vw);
	text-align: center;
	color:var(--color_white);
}
#kihon .abs_txt::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/kihon_img4@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: 15%;
	max-width: 162px;
	height: 177px;
	bottom: -5px;
	right: 8%;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#kihon .abs_txt::before{
	right: -1%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#kihon .index h2{
	margin: 0 auto -1vw;
}
#kihon .abs_txt::before{
	right: -1%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#kihon .bg{
	padding-top: 12%;
}
#kihon .index .abs{
	top: 80%;
	right: -6%;
	width: 12%;
}
#kihon .index ul{
	margin-bottom: 1em;
}
#kihon .index li{
	padding: .2em .8em;
	margin-right: .3em;
}
#kihon .index h2{
	width: 88%;
	margin: 0 auto 3%;
}
#kihon .bg2{
	padding-top: 16vw;
	padding-bottom: 18vw;
}
#kihon .bg2 ol{
	display: block;
}
#kihon .bg2 ol li{
	width: 100%;
	max-width:100%;
	margin-bottom: 8%;
}
#kihon .bg2 ol li:last-child{
	margin-bottom: 0;
}
#kihon .bg2 ol li .eng35{
	position: relative;
	z-index: 2;
	margin-bottom: -0.3em;
}
#kihon .bg2 ol li .eng35 span{
	border-radius: 4vw;
}
#kihon .bg2 ol li .fs32{
	margin: .8em 0 .4em;
	text-align: left;
}
#kihon .bg2 ol li .img{
	width: 70%;
	margin: 0 auto;
}
#kihon .bg3 .abs{
	top: -55%;
	left: -2%;
	width: 22%;
}
#kihon .abs_txt{
	margin: 8vw auto 0;
	padding-bottom: 1.7em;
	text-align: left;
	padding-left: 1em;
	box-sizing: border-box;
}
#kihon .abs_txt::before{
	width: 4.8em;
	bottom: 0;
	right: -1%;
}
}







/* tabekata
---------------------------------------------------------*/
#tabekata .bg{
	background:url("../images/top/tabe_abs1@2x.png") no-repeat top left #8b6240;
	background-size: 100% auto;
	padding-top: min(190px,13vw);
	padding-bottom: min(140px,12vw);
}
#tabekata .tabe_index{
	position: relative;
	width: 85%;
	max-width: 950px;
	margin: 0 auto min(120px,9vw);
	text-align: left;
	z-index: 2;
}
#tabekata .tabe_index h2{
	width: 77%;
}
#tabekata .tabe_index .abs{
	position: absolute;
	width: 32.5%;
	top: 52%;
	right: -7%;
}

#tabekata .tabe_list1{
	margin-bottom: min(130px,10vw);
}
#tabekata .tabe_list1 section{
	position: relative;
	background: url("../images/top/tabe_bg1@2x.png")no-repeat top left #977254;
	background-size: 100% auto;
	border-radius: var(--radius40);
	margin-bottom: 115px;
	padding: min(90px,8.5vw) 5% min(60px,6vw);
	box-sizing: border-box;
	text-align: center;
}
#tabekata .tabe_list1 section.tabe2{
	background-image: url("../images/top/tabe_bg2@2x.png");
}
#tabekata .tabe_list1 section.tabe3{
	background-image: url("../images/top/tabe_bg3@2x.png");
	margin-bottom: 0!important;
}
#tabekata .tabe_list1 section .tabe_icon{
	font-size:min(100%,1vw);
	width: 11em;
	position: absolute;
	top:-4.6em;
	left: 0;
	right: 0;
	margin: 0 auto;
	aspect-ratio: 1 / 1;
}
#tabekata .tabe_list1 section .min48{
	border-bottom: rgba(255,255,255,0.3) 1px solid;
	color: var(--color_white);
	padding-bottom: .5em;
	margin-bottom: min(1em,2.5vw);
}
#tabekata .tabe_list1 section .fs18{
	color: var(--color_white);
	line-height: 2em;
}
#tabekata .tabe_list1 section .tabe_txt1{
	background: var(--color_white);
	padding: .3em .8em;
	box-sizing: border-box;
	max-width: 913px;
	margin: 1.5em auto 1em;
	border-radius: 2em;
}
#tabekata .tabe_list1 section.tabe1 .tabe_txt1 span{color: #f4ad27;}
#tabekata .tabe_list1 section.tabe2 .tabe_txt1 span{color: #69d4bb;}
#tabekata .tabe_list1 section.tabe3 .tabe_txt1 span{color: #ff9080;}

#tabekata .tabe_list2{
	max-width: 913px;
	margin: 0 auto 1em;
	display: flex;
    justify-content: space-between;
}
#tabekata .tabe_list2 > li{
	position: relative;
	width: 24%;
	color: var(--color_white);
	padding: 0 0 .8em;
}
#tabekata .tabe_list2 > li::before{
	position: absolute;
	display: block;
	content: "";
	background: #674a3c;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 1em);
	bottom: 0;
	left: 0;
	border-radius: var(--radius20);
}
#tabekata .tabe_list2 > li div,
#tabekata .tabe_list2 > li p{
	position: relative;
	z-index: 2;
}
#tabekata .tabe_list2 > li .icon{
	width: 50%;
	margin: 0 auto .5em;
}

#tabekata .attention{
	display: flex;
    justify-content: center;
    align-items: center;	
	color: var(--color_white);
	margin-top: min(50px,4vw);
}
#tabekata .attention .fs23{
	position: relative;
	padding-left: 3em;
	padding-right: 5em;
	box-sizing: border-box;
}
#tabekata .attention .fs23::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/tabe_abs9@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 2em;
	aspect-ratio: 50 / 46;
	top:50%;
	transform: translateY(-50%);
	left: 0;
}
#tabekata .attention .fs23::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/tabe_abs10.svg")no-repeat top right;
	background-size: 100% auto;
	height: 130%;
	aspect-ratio: 32 / 89;
	top:50%;
	transform: translateY(-50%);
	right: 2em;
}
#tabekata .attention .fs23 span{color: #fff236;}

.com_marubatu{
	text-align: left;
}
.com_marubatu li{
	position: relative;
	padding-left: 1.4em;
	box-sizing: border-box;
}
.com_marubatu li::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e803';	
	left: 0;
	font-size:90%;
	top: 0;
}
.com_marubatu.batu li::before{
	content: '\e804';	
}
#tabekata .tabe1 .com_marubatu li::before{color: #fff236;}

#tabekata .tabe2 .tabe_box1 .txt .fs24 span,
#tabekata .tabe2 .check .fs20 strong,
#tabekata .tabe2 .com_marubatu li::before,
#tabekata .tabe3 .com_marubatu li::before{
	color: #8ae9de;
}

#tabekata .tabe_list3{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	color: var(--color_white);
	text-align: left;
	max-width: 1120px;
	margin: min(40px,3vw) auto min(50px,4vw);
}
#tabekata .tabe_list3 li{
	position: relative;
	padding-left: 1.7em;
	box-sizing: border-box;
	width: 48%;
	margin-top: 1em;
}
#tabekata .tabe_list3 li:nth-child(-n+2){
	margin-top: 0;
}
#tabekata .tabe_list3 li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/tabe_abs12.svg")no-repeat top left;
	background-size: 100% auto;
	width: 1.2em;
	aspect-ratio: 20 / 14;
	top:.3em;
	left: 0;	
}

#tabekata .tabe_box1{
	background: #674a3c;
	border-radius: var(--radius40);
	padding: min(40px,4vw) 4%;
	box-sizing: border-box;
	max-width: 1146px;
	margin: 0 auto;
}
#tabekata .tabe_box1 .flex_box{
	max-width: 960px;
	margin: 0 auto;
    align-items: center;	
}
#tabekata .tabe_box1 .img{
	width: 20%;
}
#tabekata .tabe_box1 .txt{
	width: 76%;
	max-width: 710px;
	text-align: left;
	color: var(--color_white);
}
#tabekata .tabe_box1 .txt .fs24{
	margin-bottom: .3em;
}
#tabekata .tabe_box1 .check{
	display: flex;
    justify-content: space-between;
    align-items: center;	
	margin-top: 1em;
}
#tabekata .tabe_box1 .check dt{
	position: relative;
	width:min(8rem,11vw);
	line-height: 1.3em;
	text-align: center;
}
#tabekata .tabe_box1 .check dt span{
	font-size:130%;
	letter-spacing: normal;
}
#tabekata .tabe_box1 .check dt::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/tabe_abs10.svg")no-repeat top right;
	background-size: 100% auto;
	height: 150%;
	aspect-ratio: 32 / 89;
	top:50%;
	transform: translateY(-50%);
	right: -2rem;
}
#tabekata .tabe_box1 .check dd{
	width: calc(100% - min(12rem,17vw));
}
#tabekata .tabe_box1 .txt > .com_marubatu{
	margin-top: 1em;
}
#tabekata .tabe3 .tabe_box1{
	margin-top: 30px;
}
#tabekata .tabe_list4{
	display: flex;
    justify-content: space-between;
	margin-top: min(50px,4vw);
}
#tabekata .tabe_list4 li{
	display: flex;
    justify-content: space-between;
	flex-flow: row-reverse;
	width: 48%;
}
#tabekata .tabe_list4 li .img{
	width: 32%;
}
#tabekata .tabe_list4 li .txt{
	width: 62%;
	text-align: left;
}
#tabekata .com_hito{
	color: var(--color_white);
}
#tabekata .com_hito .com_hito_index{
	border-color: var(--color_white);
}

.com_hito{
	position: relative;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto;
}
.com_hito::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/tabe_img2@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 20%;
	aspect-ratio: 231 / 215;
	top:50%;
	transform: translateY(-50%);
	left: 0;
	z-index: 3;
}
#week .com_hito::before{
	background-image: url("../images/top/week_img1@2x.png");
	background-position: right top;
	left: auto;
	right: 2%;
	aspect-ratio: 231 / 185;
}
.com_hito .com_hito_index{
	position: relative;
	border-bottom: dotted 3px var(--color_base);
	padding-bottom:min(1.8em,2vw);
	max-width: 48em;
	width: 90%;
	margin: 0 auto min(1.8em,2vw);
}
.com_hito .com_hito_index span{
	display: block;
}
.com_hito .com_hito_index span.fs24{
	margin-bottom: .5em;
}
.com_hito_index_txt{
	position: relative;
	display: inline-block;
}
.com_hito_index_txt span{
	letter-spacing: 0.15em!important;
}
#tabekata .com_hito .com_hito_index span.fs24 strong,
#tabekata .com_hito .com_hito_index span.fs32 strong{
	display: inline;
}
#tabekata .com_hito .com_hito_index span.fs24 strong{color: #f7e16f;}
#tabekata .com_hito .com_hito_index span.fs32 strong{color: #b4e161;}

.com_hito .com_hito_index .abs{
	position: absolute;
	top:-5em;
	right: -8em;
	width: 10em;
	aspect-ratio:1 / 1;
	font-size:min(100%,1.3vw)
}
#week .com_hito .com_hito_index .abs{
	right: auto;
	left: -8.5em;
}
.com_hito .fs18{
	line-height: 2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#tabekata .tabe_list4{
	display: block;
}
#tabekata .tabe_list4 li{
	width: 100%;
	margin-bottom: 4%;
}
#tabekata .tabe_list4 li:last-child{
	margin-bottom: 0;
}
#tabekata .tabe_list4 li .img{
	width:20%;
}
#tabekata .tabe_list4 li .txt{
	width: 77%;
}
.com_hito .com_hito_index{
	border-bottom: dotted 2px var(--color_base);
}
#week .com_hito::before{
	top: 20%;
	right:-2%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#tabekata .bg{
	padding-top:13vw;
	padding-bottom:14vw;
}
#tabekata .tabe_index{
	width: 100%;
	margin: 0 auto 12vw;
}
#tabekata .tabe_index h2{
	width: 98%;
}
#tabekata .tabe_index .abs{
	width: 30%;
	top: 90%;
	right: -1%;
}

#tabekata .tabe_list1{
	margin-bottom: 13vw;
}
#tabekata .tabe_list1 section{
	margin-bottom: 10vw;
	padding: 11vw 4% 7vw;
}
#tabekata .tabe_list1 section .tabe_icon{
	font-size: 1.2vw;
}
#tabekata .tabe_list1 section .min48{
	margin-bottom: .5em;
}
#tabekata .tabe_list1 section .fs18{
	line-height: 1.8em;
}
#tabekata .tabe_list1 section .tabe_txt1{
	padding: .6em .8em;
	margin: 1.5em auto 1em;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	border-radius: 3em;
}

#tabekata .tabe_list2{
	flex-wrap: wrap;
}
#tabekata .tabe_list2 > li{
	width: 49%;
}
#tabekata .tabe_list2 > li .icon{
	width: 13vw;
}

#tabekata .attention{
	display: block;
	margin-top:5vw;
	text-align: center;
}
#tabekata .attention .fs23{
	display: inline-block;
	padding-left:8.3vw;
	padding-right: 0;
	padding-bottom: 7vw;
}
#tabekata .attention .fs23::before{
	width: 6vw;
	top:25%;
	transform: translateY(-50%);
}
#tabekata .attention .fs23::after{
	height: 13vw;
	top: calc(100% - 10vw);
	transform: translateY(0) rotate(90deg);
	right: 0;
	left: 0;
	margin: 0 auto;
}

#tabekata .tabe_list3{
	display: block;
	margin: 4vw auto 5vw;
}
#tabekata .tabe_list3 li{
	width: 100%;
	margin-top: .5em!important;
}
#tabekata .tabe_list3 li:nth-child(1){
	margin-top: 0!important;
}

#tabekata .tabe_box1{
	padding: 6% 5% 8%;
}
#tabekata .tabe_box1 .flex_box{
	display: block;
}
#tabekata .tabe_box1 .img{
	width: 40%;
	margin: 0 auto 5%;
}
#tabekata .tabe_box1 .txt{
	width: 100%;
	max-width:100%;
}
#tabekata .tabe_box1 .txt .fs24{
	text-align: center;
}
#tabekata .tabe_box1 .check{
	display: block;
}
#tabekata .tabe_box1 .check dt{
	width:100%;
	padding-bottom: 8vw;
}
#tabekata .tabe_box1 .check dt::before{
	height: 12vw;
	top:4.5vw;
	transform: translateY(0) rotate(90deg);
	right: 0;
	left: 0;
	margin: 0 auto;
}
#tabekata .tabe_box1 .check dd{
	width:100%;
}
#tabekata .tabe3 .tabe_box1{
	margin-top: 5%;
}
#tabekata .tabe_list4{
	display: block;
	margin-top: 5%;
}
#tabekata .tabe_list4 li{
	display: block;
	width: 100%;
	margin-bottom: 8%;
}
#tabekata .tabe_list4 li:last-child{
	margin-bottom: 0;
}
#tabekata .tabe_list4 li .img{
	width: 35%;
	margin: 0 auto 4%;
}
#tabekata .tabe_list4 li .txt{
	width: 100%;
}
#tabekata .tabe_list4 li .txt .fs24{
	text-align: center;
}

.com_hito::before{
	width: 25%;
	top:20%;
	left: -2%;
}
#week .com_hito::before{
	right: -1%;
}
.com_hito .com_hito_index{
	padding-bottom: 4vw;
	max-width: 100%;
	width: 100%;
	text-align: left;
	box-sizing: border-box;
	margin: 0 auto 3vw;
}
#tabekata .com_hito .com_hito_index{
	padding-left: 27%;
}
#week .com_hito .com_hito_index{
	padding-right: 21%;
}
.com_hito .com_hito_index span.fs24{
	margin-bottom: .3em;
}
.com_hito_index_txt span{
	letter-spacing: 0.1em!important;
}
#tabekata .com_hito .com_hito_index .abs,
#week .com_hito .com_hito_index .abs{
	width: 12.5em;
}
#tabekata .com_hito .com_hito_index .abs{
	top: 6em;
	right: -2em;
}
#week .com_hito .com_hito_index .abs{
	top: 6em;
	left: 32em;
}
.com_hito .fs18{
	line-height: 1.8em;
}
}






/* week
---------------------------------------------------------*/
#week .w1536{
	padding-top: min(110px,8vw);
	padding-bottom: min(80px,8vw);
}
#week .bnr{
	width: 60%;
	margin: min(30px,3vw) auto 0;
}

#week .week_scl_erea{
	position: relative;
	margin-bottom: min(130px,10vw);
	display: flex;
    justify-content: space-between;
	align-items: flex-start; /* これが重要 */
}
#week .week_l{
	position: sticky;
	top: 0;
	width: 43%;
	text-align: right;
	padding-top: min(140px, 12vw);
	padding-bottom:min(290px,18vw);
	flex-shrink: 0;
	z-index: 2;
}
#week .week_l h2{
	position: relative;
	z-index: 2;
	width: 80%;
	margin-left: auto;
	margin-right: 5%;
	margin-bottom: min(40px,3vw);
}
#week .week_l .btn{
	position: relative;
	z-index: 2;
	display: flex;
    justify-content: space-between;
	margin-left: auto;
	width: 100%;
	max-width: 543px;
}
#week .week_l .btn li{
	width: 31%;
	background-color: #fff;
	-webkit-mask: url("../images/common/moya.svg") no-repeat center center;
	mask: url("../images/common/moya.svg") no-repeat center center;
	-webkit-mask-size: 100% auto;
	mask-size: 100% auto;
	filter: drop-shadow(0 0 10px rgba(119,65,1,0.20));
	aspect-ratio: 1 / 1;
	transition: 0.4s;
}
#week .week_l .btn li:hover{
	background-color: #ffe269;
	transition: 0.4s;
}
#week .week_l .abs div:nth-child(1){
	position: absolute;
	top:0;
	left: -11%;
	width: 27%;
}
#week .week_l .abs div:nth-child(2){
	position: absolute;
	bottom: 0;
	left: 0;
	width: 55%;
}

#week .week_r{
	flex: 1;
	position: relative;
	width: 54%;
	max-width: 720px;
	margin-left: auto;
	margin-right: 0;
	padding-top: min(215px,16vw);
}
#week .week_r .abs{
	position: absolute;
	width: 32%;
	max-width: 223px;
	top: min(50px,4vw);
	left: -14%;
}
#week .week_r > section{
	position: relative;
	z-index: 2;
	margin-bottom: min(80px,6vw);
}
#week .week_r > section:last-child{
	margin-bottom: 0;
}
#week .week_r .img{
	width:55%;
	margin-bottom: min(40px,3vw);
}
#week .week_r .fs23{
	background: var(--color_yellow2);
	padding: .8em 1.3em;
	box-sizing: border-box;
	border-bottom-right-radius: 2em;
	border-top-right-radius: 2em;
	letter-spacing: 0.03em;
	margin-bottom: min(30px,2vw);
}
#week .week_r #week2 .fs23{	background: #c1da61;}
#week .week_r #week3 .fs23{	background: #ffc2a2;}

#week .week_r .fs32{
	position: relative;
	padding-left: 1.8em;
	box-sizing: border-box;
	margin: 1em 0 .8em;
}
#week .week_r .fs32::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/week0_abs2.svg")no-repeat top left;
	background-size: 100% auto;
	width: 1.3em;
	aspect-ratio: 38 / 28;
	top:.2em;
	left: 0;
}
#week .week_r #week2 .fs32::before{
	background-image: url("../images/top/week3_abs2.svg");}
#week .week_r #week3 .fs32::before{
	background-image: url("../images/top/week6_abs2.svg");}

#week .week_r .col3{
	display: flex;
    justify-content: space-between;
}
#week .week_r .col3 li{
	position: relative;
	width: 33%;
	max-width: 220px;
	padding-bottom: 1.2em;
	text-align: center;
}
#week .week_r .col3 li::before{
	position: absolute;
	display: block;
	content: "";
	background: #faf7ae;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 2em);
	bottom: 0;
	left: 0;
	border-radius: var(--radius20);
}
#week .week_r #week2 .col3 li::before{	background: #eff7ae;}
#week .week_r #week3 .col3 li::before{	background: #fae1c1;}

#week .week_r .col3 li div,
#week .week_r .col3 li p{
	position: relative;
	z-index: 2;
}
#week .week_r .col3 li div{
	width: 70%;
	margin: 0 auto .5em;
}
#week .week_r .col3 li p{
	line-height: 1.3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#week .week_l{
	width: 38%;
}
#week .week_r{
	width: 60%;
	padding-top:12vw;
}
#week .week_r .abs{
	width: 25%;
}
#week .week_r .col3 li p{
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#week .w1536{
	padding-top:25vw;
	padding-bottom:15vw;
}
#week .bnr{
	width: 100%;
	margin:3% auto 0;
}

#week .week_scl_erea{
	display: block;
	margin-bottom: 13vw;
}
#week .week_l{
	position: static;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
}
#week .week_l h2{
	width: 70%;
	margin-right: 12%;
	margin-bottom: 5vw;
}
#week .week_l .btn{
	width: 85%;
	margin: 0 auto;
}
#week .week_l .abs div:nth-child(1){
	top:-17vw;
}
#week .week_l .abs div:nth-child(2){
	top: 65vw;
	bottom: auto;
	left: auto;
	right: -7%;
	width: 35%;
}
#week .week_l .abs div:nth-child(3){
	position: absolute;
	top: 0;
	right: -3%;
	width: 28%;
}

#week .week_r{
	width: 100%;
	max-width:100%;
	padding-top: 8vw;
}
#week .week_r > section{
	margin-bottom:10vw;
}
#week .week_r .img{
	width: 60%;
	margin-bottom:4vw;
}
#week .week_r .fs23{
	width: 106%;
	margin-left: -6%;
	padding: .8em 1.1em .75em;
	margin-bottom: 3vw;
}
#week .week_r .col3{
	width: 104%;
	margin-left: -2%;
}
#week .week_r .col3 li{
	width: 32.8%;
	padding-bottom: 1em;
}
#week .week_r .col3 li::before{
	height: calc(100% - 1em);
}
#week .week_r .col3 li div{
	width: 60%;
}
#week .week_r .col3 li p{
	font-size: 3.4vw;
	letter-spacing: normal;
}
}








/* mushiba1
---------------------------------------------------------*/
#mushiba1 .bg{
	background: #a487b4;
	padding-bottom: min(130px,9vw);
}
#mushiba1 .mushiba1_index{
	position: relative;
	text-align: center;
	padding: min(100px,9vw) 0 min(80px,6vw);
	color: var(--color_white);
}
#mushiba1 .mushiba1_index::before{
	position: absolute;
	display: block;
	content: "";
	background: #87619c;
	background-size: 100% auto;
	width: 95%;
	aspect-ratio:1/1;
	top:60%;
	transform: translateY(-50%) scale(0);
	left: 0;
	right: 0;
	margin: 0 auto;
	border-radius: 50%;
	transition: 2.5s;
}
#mushiba1 .anime_on .mushiba1_index::before{
	transform: translateY(-50%) scale(1);
}
#mushiba1 .mushiba1_index h2,
#mushiba1 .mushiba1_index p{
	position: relative;
	z-index: 2;
}
#mushiba1 .mushiba1_index h2{
	width: 55%;
	margin: 0 auto min(30px,2vw);
}
#mushiba1 .mushiba1_list1{
	position: relative;
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	z-index: 2;
}
#mushiba1 .mushiba1_list1 .title{
	position: absolute;
	top: 35%;
	transform: rotateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 27%;
	aspect-ratio: 1 / 1;
	z-index: 3;
}
#mushiba1 .mushiba1_list1 .content{
	position: relative;
	width: 52%;
	aspect-ratio: 1 / 1;
	margin: -1.5%;
	display: flex;
    justify-content: center;
    align-items: center;	
	text-align: center;
}
#mushiba1 .mushiba1_list1 .content::before{
	position: absolute;
	display: block;
	content: "";
	background:var(--color_white);
	background-size: 100% auto;
	width: 100%;
	aspect-ratio: 1 / 1;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border-radius: 50%;
}
#mushiba1 .mushiba1_list1 .content .inbox{
	position: relative;
	z-index: 2;
	width: 88%;
	max-width: 420px;
	margin: 0 auto;
}
#mushiba1 .mushiba1_list1 .content .icon{
	width: min(230px,15vw);
	margin: 0 auto min(30px,2vw);
}
#mushiba1 .mushiba1_list1 .content h3{
	line-height: 1em;
	margin-bottom: .3em;
}
#mushiba1 .mushiba1_list1 .content h3 small{
	letter-spacing:normal;
	font-size:58%;
}
#mushiba1 .mushiba1_list1 .content p{
	text-align: left;
}
#mushiba1 .mushiba1_list1 .content h4{
	text-align: center;
	background: #bde547;
	padding: .2em 1em;
	box-sizing: border-box;
	border-radius: 2em;
	margin: min(1.8em,1.5vw) auto min(.6em,1vw);
	max-width: 17em;
}
#mushiba1 .mushiba1_list1 .content h4 span{
	position: relative;
}
#mushiba1 .mushiba1_list1 .content h4 span::before{
	position: absolute;
	display:block;
	content: "";
	background: url("../images/top/mushi_abs7.svg")no-repeat bottom left;
	background-size: 100% auto;
	width: 1.4em;
	aspect-ratio:11 / 15;
	left: calc(100% + 0.5em);
	bottom: 0;
}
#mushiba1 .mushiba1_list1 .content ul{
	display: inline-block;
	margin: 0 auto;
}
#mushiba1 .mushiba1_list1 .content ul li::before{
	color: #bde547;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#mushiba1 .mushiba1_list1 .title{
	width: 22%;
	top: 39%;
}
#mushiba1 .mushiba1_list1 .content::before{
	width: 110%;
}
#mushiba1 .mushiba1_list1 .content p{
	font-size:95%;
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#mushiba1 .bg{
	padding-bottom: 18vw;
	overflow: hidden;
}
#mushiba1 .mushiba1_index{
	padding: 10vw 0 18vw;
}
#mushiba1 .mushiba1_index::before{
	width:140%;
	top:40%;
	left: -20%;
	right:auto;
}
#mushiba1 .mushiba1_index h2{
	width: 70%;
	margin: 0 auto 5vw;
}
#mushiba1 .mushiba1_list1{
	display: block;
}
#mushiba1 .mushiba1_list1 .title{
	display: none;
}
#mushiba1 .mushiba1_list1 .content{
	width: 100%;
	margin: 0;
}
#mushiba1 .mushiba1_list1 .content::before{
	width: 120%;
}
#mushiba1 .mushiba1_list1 .content .inbox{
	width: 100%;
	max-width:100%;
}
#mushiba1 .mushiba1_list1 .content .icon{
	width: 25vw;
	margin: -5vw auto 3vw;
}
#mushiba1 .mushiba1_list1 .content p{
	font-size:95%;
}
#mushiba1 .mushiba1_list1 .content h3 small{
	font-size:75%;
}
#mushiba1 .mushiba1_list1 .content h4{
	margin-top: 1em;
}
}







/* mushiba2
---------------------------------------------------------*/
#mushiba2 .bg{
	position: relative;
	background: url("../images/top/mushi_abs12@2x.png")no-repeat top center #f7a245;
	background-size: 100% auto;
	padding-top: min(220px,16vw);
	padding-bottom: min(430px,30vw);
}
#mushiba2 .mushiba2_arrow{
	position: absolute;
	width: min(60px,4.5vw);
	max-width: 60px;
	aspect-ratio:60 / 167;
	top:0;
	left: 52%;
	transform: translateX(-50%) translateY(-50px);
	opacity: 0;
	transition: all 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}
#mushiba2 .anime_on .mushiba2_arrow{
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

#mushiba2 .bg::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/mushi_bg1@2x.jpg")no-repeat bottom center;
	background-size: 100% auto;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3000px;
}
#mushiba2 .w1340{
	position: relative;
	z-index: 2;
}

#mushiba2 .mushiba2_index{
	text-align: center;
	color: var(--color_white);
}
#mushiba2 .mushiba2_index h2{
	position: relative;
	display: inline-block;
	margin: 0 auto min(50px,4vw);
	padding: 0 2.3em;
	box-sizing: border-box;
}
#mushiba2 .mushiba2_index h2::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/mushi_abs10.svg")no-repeat bottom left;
	background-size: 100% auto;
	height: 55%;
	aspect-ratio:59 / 121;
	top:60%;
	transform:translateY(-50%);
	left: 0;
}
#mushiba2 .mushiba2_index h2::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/mushi_abs10.svg")no-repeat bottom right;
	background-size: 100% auto;
	height: 55%;
	aspect-ratio:59 / 121;
	top:60%;
	transform:translateY(-50%) scale(-1, 1);
	right: 0;
}
#mushiba2 .mushiba2_index h2 span{
	display: block;
}
#mushiba2 .mushiba2_index h2 span:nth-child(2){
	position: relative;
	font-size:120%;
	margin: 0.1em 0 .05em;
	padding: 0 .5em .3em;
	box-sizing: border-box;
	background: url("../images/top/mushi_abs9@2x.png")no-repeat bottom center;
	background-size: 100% auto;
}

#mushiba2 ol{
	margin-bottom: min(100px,7vw);
}
#mushiba2 ol li{
	width: 32%;
	max-width: 410px;
	color:var(--color_white);
}
#mushiba2 ol li h3{
	text-align: center;
	margin: min(1em,2.5vw) auto .3em;
}
#mushiba2 .mushiba2_box{
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}
#mushiba2 .mushiba2_box::before{
	position: absolute;
	display: block;
	content: "";
	background: var(--color_white);
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 3rem);
	bottom: 0;
	left: 0;
	border-radius: var(--radius40);
	opacity: .7;
}
#mushiba2 .mushiba2_box_inbox{
	position: relative;
	z-index: 2;
	padding: 0 5% min(50px,4vw);
	box-sizing: border-box;
}
#mushiba2 .mushiba2_box .txt{
	text-align: center;
}
#mushiba2 .mushiba2_box .txt h4{
	width: 70%;
	margin: 0 auto min(30px,2vw);
}
#mushiba2 .mushiba2_box .txt h5{
	margin-bottom: .5em;
}
#mushiba2 .mushiba2_box .img{
	position: absolute;
	top: -1.5rem;
	left: -9%;
	width: 22%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#mushiba2 .mushiba2_box .img{
	left: -8%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#mushiba2 .bg{
	padding-top: 20vw;
	padding-bottom: 30vw;
}
#mushiba2 .mushiba2_arrow{
	width: 7vw;
	top:-1vw;
}
#mushiba2 .mushiba2_index h2{
	margin: 0 auto 5vw;
	padding: 0 1em;
	font-size:4.8vw;
	line-height: 1.7em;
}
#mushiba2 .mushiba2_index h2::before,
#mushiba2 .mushiba2_index h2::after{
	top:70%;
}
#mushiba2 .mushiba2_index h2::before{
	left: -0.5em;
}
#mushiba2 .mushiba2_index h2::after{
	right: -0.5em;
}
#mushiba2 ol{
	display: block;
	margin-bottom:7vw;
}
#mushiba2 ol li{
	width: 100%;
	max-width:100%;
	margin-bottom: 8%;
}
#mushiba2 ol li:last-child{
	margin-bottom: 0;
}
#mushiba2 ol li .img{
	width: 70%;
	margin: 0 auto;
}
#mushiba2 ol li h3{
	margin:3.5vw auto 1.5vw;
}
	
#mushiba2 .mushiba2_box::before{
	height: calc(100% - 3.5vw);
}
#mushiba2 .mushiba2_box_inbox{
	padding: 0 5% 6%;
}
#mushiba2 .mushiba2_box .txt h4{
	width:120%;
	margin: 0 -10% 2vw;
}
#mushiba2 .mushiba2_box .txt h5{
	margin-bottom: .5em;
}
#mushiba2 .mushiba2_box .img{
	position:static;
	width: 45%;
	margin: 0 auto 4%;
}
}






/* message
---------------------------------------------------------*/
#message .bg{
	position: relative;
	padding-top: min(160px,12vw);
	padding-bottom: min(190px,15vw);
	background: url("../images/top/mes_bg1@2x.jpg")no-repeat bottom center;
	background-size: 100% auto;
}
#message .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/mes_abs8@2x.png")no-repeat bottom -1px left;
	background-size: 100% auto;
	width: 100%;
	height: 1000px;
	bottom: 0;
	left: 0;
}

.top_index1{
	text-align: center;
	margin-bottom: min(80px,6vw);
}
#message .top_index1 .eng110{
	color: var(--color_yellow);
}
.top_index1 .fs24,
.top_index1 .fs20{
	margin-top: .5em;
}
#message .top_index1{
	position: relative;
	z-index: 2;
}
#message .top_index1 .abs div:nth-child(1){
	position: absolute;
	top:0;
	left: 12%;
	width: 10%;
	aspect-ratio:493 / 394;
}
#message .top_index1 .abs div:nth-child(2){
	position: absolute;
	top:0;
	right: -6%;
	width:32.5%;
	aspect-ratio:150 / 126;
}

#message .mes_box1 {
	position: relative;
	margin-bottom: min(100px,7vw);
}
#message .mes_box1 .img{
	position: absolute;
	top:0;
	right: 0;
	width:45.5%;
	max-width: 698px;
}
#message .mes_box1 .img .icon{
	position: absolute;
	top: 22%;
	transform: translateY(-50%);
	left: -1.5em;
	width: 30%;
}
#message .mes_box1 .abs div:nth-child(1){
	position: absolute;
	top: 83%;
	transform: translateY(-50%);
	left: -12%;
	width: 22%;
	aspect-ratio:150 / 126;
}
#message .mes_box1 .abs div:nth-child(2){
	position: absolute;
	top: 103%;
	transform: translateY(-50%);
	right: 12%;
	width: 22%;
	aspect-ratio:150 / 126;
}

#message .mes_box1 .txt{
	width: var(--content_width);
	max-width: 1300px;
	margin: 0 auto;
}
#message .mes_box1 .txt_inbox{
	width: 50%;
	max-width: 614px;
}
#message .mes_box1 .txt .min48,
#message .mes_box2 .txt .min32{
	margin-bottom: .5em;
}
#message .mes_box1 .txt .min48{
	letter-spacing: 0.05em;
	line-height: 1.7em;
}
#message .mes_box3 .min24{
	margin-bottom: 1em;
}
#message .mes_txt{
	line-height:3em;
}

#message .mes_box2{
	display: flex;
    justify-content: space-between;
	width: var(--content_width);
	margin: 0 auto min(60px,4vw);
}
#message .mes_box2 .img{
	position: relative;
	width: 31%;
}
#message .mes_box2 .img div:nth-child(1){
	width: 85%;
	margin-left: auto;
	margin-right: 0;
	margin-bottom: 40px;
}
#message .mes_box2 .img div:nth-child(2){
	width: 63%;
}
#message .mes_box2 .abs{
	position: absolute;
	bottom: 5%;
	right: -12%;
	width:34%;
	aspect-ratio:150 / 126;
}

#message .mes_box2 .txt{
	width: 62%;
	padding-top: min(150px,10vw);
}
#message .mes_box2 .txt_inbox{
	max-width: 818px;
}

#message .mes_box3{
	position: relative;
	text-align: center;
	padding-bottom: min(90px,7vw);
}
#message .mes_box3 .mes_box3_txt{
	width: 55%;
	margin: 0 auto;
}
#message .mes_box3 .abs div:nth-child(1){
	position: absolute;
	top:0;
	left: -6%;
	width: 32%;
	aspect-ratio:493 / 394;
}
#message .mes_box3 .abs div:nth-child(2){
	position: absolute;
	bottom:0;
	right: -8%;
	width: 32%;
	aspect-ratio:493 / 394;
}

#message .mes_box4{
	display: flex;
    justify-content: space-between;
	width: var(--content_width);
	max-width: 1275px;
	margin: 0 auto;
}
#message .mes_box4 .img{
	width: 26%;
}
#message .mes_box4 .txt{
	width:68%;
}
#message .mes_box4 .txt .katagaki{
	font-weight: bold!important;
	letter-spacing: 0.25em;
}
#message .mes_box4 .txt h4{
	display: flex;
    align-items: center;	
}
#message .mes_box4 .txt h4 .eng20{
	color: #7cc347;
	margin-left: 1.1em;
}
#message .mes_box4 .txt .reki{
	border-radius: var(--radius20);
	background: rgba(255,255,255,0.5);
	padding: min(25px,3vw) 5%;
	box-sizing: border-box;
	margin-top: min(20px,2vw);
	display: flex;
    justify-content: space-between;
}
#message .mes_box4 .txt .reki dl{
	width: 48%;
}
#message .mes_box4 .txt .reki dt{
	font-weight: bold!important;
	color: #7cc347;
}
#message .mes_box4 .txt .reki dl:nth-child(1) li{
	position: relative;
	padding-left: 1em;
	box-sizing: border-box;
}
#message .mes_box4 .txt .reki dl:nth-child(1) li::before{
	position: absolute;
	display: block;
	content: "・";
	left: 0;
	top:0;
}
#message .mes_box4 .txt .reki dl:nth-child(2) li{
	display: flex;
    justify-content: space-between;
}
#message .mes_box4 .txt .reki dl li div:nth-child(1){
	width: 5.5em;
}
#message .mes_box4 .txt .reki dl li div:nth-child(2){
	width: calc(100% - 6.5em);
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
#message .mes_box2 .txt{
	padding-top: 0;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#message .mes_box1 {
	overflow: hidden;
}
#message .mes_box1 .img{
	position: relative;
	float: right;
	margin-left: 4%;
	margin-bottom: 1em;
}
#message .mes_box1 .txt{
	width: var(--content_width);
	max-width: 1300px;
	margin: 0 auto;
}
#message .mes_box1 .txt_inbox{
	width: 100%;
	max-width: 100%;
}
#message .mes_box1 .abs div:nth-child(1){
	left: -6%;
}
#message .mes_box1 .abs div:nth-child(2){
	top:98%;
}
#message .mes_box1 .txt .min48{
	line-height: 1.6em;
}
	
#message .mes_txt{
	line-height: 2em;
}
#message .mes_box2 .txt{
	width: 65%;
	padding-top: 0;
}
#message .mes_box2 .abs{
	right: 0;
}
	
#message .mes_box3 .mes_box3_txt{
	width: 100%;
}
#message .mes_box3 .abs div:nth-child(1){
	left: -10%;
	top:-7vw;
}
#message .mes_box3 .abs div:nth-child(2){
	right: -12%;
	bottom: -7vw;
}
	
#message .mes_box4 .txt{
	width: 70%;
}
#message .mes_box4 .txt .reki{
	padding-left: 4%;
	padding-right: 4%;
}
#message .mes_box4 .txt .reki dl{
	width:50%;
}
#message .mes_box4 .txt .reki dd{
	letter-spacing: normal;
}
#message .mes_box4 .txt .reki dl li div:nth-child(1){
	width: 5em;
}
#message .mes_box4 .txt .reki dl li div:nth-child(2){
	width: calc(100% - 5.5em);
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#message .bg{
	padding-top:12vw;
	padding-bottom: 35vw;
}
.top_index1{
	margin-bottom: 6vw;
}
.top_index1 .fs24,
.top_index1 .fs20{
	margin-top: .3em;
}
#message .top_index1 {
	margin-bottom: 20vw;
}
#message .top_index1 .abs div:nth-child(1){
	left: 5%;
	width: 17%;
	top: 20vw;
}
#message .top_index1 .abs div:nth-child(2){
	top: 20vw;
	right: -4%;
	width: 40%;
}

#message .mes_box1 {
	margin-bottom: 5vw;
}
#message .mes_box1 .img{
	position: relative;
	width:85%;
	margin-left: auto;
	margin-right: 0;
	margin-bottom: 6%;
}
#message .mes_box1 .img .icon{
	top: 5%;
	width:40%;
}
#message .mes_box1 .abs div:nth-child(1){
	top:70%;
	left: -12%;
	width: 25%;
}
#message .mes_box1 .abs div:nth-child(2){
	top: 105%;
	right: 3%;
	width: 25%;
}
#message .mes_box1 .txt_inbox{
	width: 100%;
	max-width:100%;
}
#message .mes_box1 .txt .min48,
#message .mes_box2 .txt .min32{
	margin-bottom: .3em;
}
#message .mes_box3 .min24{
	margin-bottom: .3em;
}
#message .mes_txt{
	line-height: 1.8em;
}

#message .mes_box2{
	display: block;
	margin: 0 auto 4vw;
}
#message .mes_box2 .img{
	width: 100%;
	margin: 0 auto;
}
#message .mes_box2 .img div:nth-child(1){
	margin-bottom: 4vw;
}
#message .mes_box2 .abs{
	bottom: 12vw;
	right: 0;
	width: 31%;
}
#message .mes_box2 .txt{
	width: 100%;
	padding-top: 5vw;
}
#message .mes_box2 .txt_inbox{
	max-width: 100%;
}

#message .mes_box3{
	padding-top: 26vw;
	padding-bottom: 7vw;
}
#message .mes_box3 .mes_box3_txt{
	width: 90%;
	margin: 0 auto;
}
#message .mes_box3 .abs div:nth-child(1){
	top:0;
	left: -12%;
	width: 50%;
}
#message .mes_box3 .abs div:nth-child(2){
	top:0;
	bottom: auto;
	right: -12%;
	width: 50%;
}

#message .mes_box4{
	display: block;
}
#message .mes_box4 .img{
	width: 70%;
	margin: 0 auto 4%;
}
#message .mes_box4 .txt{
	width:100%;
}
#message .mes_box4 .txt h4{
	display: flex;
    align-items: center;	
}
#message .mes_box4 .txt .reki{
	padding: 5%;
	margin-top: 5%;
	display: block;
}
#message .mes_box4 .txt .reki dl{
	width: 100%;
	margin-bottom: 1em;
}
#message .mes_box4 .txt .reki dl:last-child{
	margin-bottom: 0;
}
#message .mes_box4 .txt .reki dl li div:nth-child(1){
	width: 5em;
}
#message .mes_box4 .txt .reki dl li div:nth-child(2){
	width: calc(100% - 6em);
}
}







/* clinic
---------------------------------------------------------*/
#clinic .bg{
	position: relative;
	background: #afd847;
	padding: min(90px,8vw) 0 min(180px,15vw);
}
#clinic .bg::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/clinic_abs10@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: 11.5%;
	aspect-ratio:171 /  97;
	bottom: 40px;
	right: 4%;
}
#clinic .top_index1{
	position: relative;
	margin-bottom: min(40px,4vw);
}
#clinic .top_index1 .eng110{
	-webkit-text-stroke-width: 2px;
	-webkit-text-stroke-color: #ffff6f;
	color: #afd847;
}
#clinic .top_index1 .abs div:nth-child(1){/*蝶*/
	position: absolute;
	width:16%;
	aspect-ratio: 223 / 63;
	right: 16%;
	top:0;
}
#clinic .top_index1 .abs div:nth-child(2){/*風船*/
	position: absolute;
	width: 7.5%;
	aspect-ratio: 100 / 172;
	right: 1%;
	top: -70%;
}
#clinic .top_index1 .abs div:nth-child(3){/*雲男の子*/
	position: absolute;
	width: 17.5%;
	aspect-ratio: 250 / 221;
	left: 0;
	top: 30%;
}
#clinic .clinic_index{
	position: relative;
	text-align: center;
	margin-bottom: min(70px,7vw);
}
#clinic .clinic_index span{
	display: block;
}
#clinic .clinic_index span.fs32{
	margin-top: .4em;
}
#clinic .clinic_index .abs div:nth-child(1){/*鳥*/
	position: absolute;
	width: 7.5%;
	aspect-ratio: 1 / 1;
	left: 12%;
	top: 20%;
}
#clinic .clinic_index .abs div:nth-child(2){/*雲女の子*/
	position: absolute;
	width: 17.5%;
	aspect-ratio: 250 / 221;
	right: 0;
	top: -20%;
}

#clinic .col2{
	display: flex;
    justify-content: space-between;
	max-width: 1300px;
	margin: 0 auto min(100px,8vw);
}
#clinic .col2 section{
	width: 48%;
	max-width: 600px;
}
#clinic .col2 section .imgbox{
	position: relative;
	margin-bottom: min(40px,4vw);
}
#clinic .col2 section .imgbox .abs{
	position: absolute;
	width: 23%;
	right: -4%;
	top:85%;
	transform: translateY(-50%);
	aspect-ratio:138 / 265;
}
#clinic .col2 section:nth-child(2) .imgbox .abs{
	right: -14%;
}
#clinic .col2 section .imgbox .icon{
	position: absolute;
	width: 28%;
	right: 8%;
	top: 95%;
	transform: translateY(-50%);
	aspect-ratio:165 / 165;
}
#clinic .clinic_index1{
	color: var(--color_white);
	position: relative;
	padding-left: 1em;
	box-sizing: border-box;
	margin-bottom: .8em;
}
#clinic .clinic_index1::before{
	position: absolute;
	display: block;
	content: "";
	background: var(--color_white);
	background-size: 100% auto;
	width: 4px;
	height: 1em;
	top:50%;
	transform: translateY(-50%);
	left: 0;
}
#clinic .min48{
	margin-bottom: .2em;
}

#clinic .col1{
	display: flex;
    justify-content: space-between;
	align-items: flex-start;
	max-width: 1300px;
	margin: 0 auto min(100px,8vw);
}
#clinic .col1 .imgbox{
	position: relative;
	width:57%;
}
#clinic .col1 .imgbox .abs{
	position: absolute;
	left: -11%;
	top: 90%;
	transform: translateY(-50%);
	width:20%;
	aspect-ratio:138 / 265;
}
#clinic .col1 .txtbox{
	width: 38%;
	padding-top: 2em;
}
#clinic .col1 .txtbox .img{
	position: relative;
	width: 65%;
	margin-top: min(20px,2vw);
}
#clinic .col1 .txtbox .img .abs{
	position: absolute;
	left: 115%;
	top: 60%;
	transform: translateY(-50%);
	width: 51%;
	aspect-ratio:171 / 97;
}

#clinic .col3{
	display: flex;
    justify-content: space-between;
	max-width: 1300px;
	margin: 0 auto;
} 
#clinic .col3 section{
	width: 32%;
	max-width: 390px;
} 
#clinic .col3 section .imgbox{
	position: relative;
	margin-bottom: min(1.5em,2vw);
}
#clinic .col3 section .imgbox .abs{
	position: absolute;
	right: 0;
	top: 75%;
	transform: translateY(-50%);
	width: 60%;
	aspect-ratio:231 / 172;
}
#clinic .col3 section .min32{
	margin-bottom: .3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#clinic .col1 .txtbox{
	padding-top: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#clinic .bg{
	padding: 10vw 0 18vw;
}
#clinic .bg::before{
	width: 25%;
	bottom: 4vw;
	right: 6%;
}
#clinic .top_index1{
	margin-bottom: 8vw;
}
#clinic .top_index1 .abs div:nth-child(1){/*蝶*/
	width: 35%;
	right:-3%;
	top:13vw;
}
#clinic .top_index1 .abs div:nth-child(2){/*風船*/
	width: 12%;
	right: 3%;
	top: -40%;
}
#clinic .top_index1 .abs div:nth-child(3){/*雲男の子*/
	width: 27%;
	left: -7%;
	top: 10%;
}
#clinic .clinic_index{
	margin-bottom: 7vw;
}
#clinic .clinic_index span.fs32{
	margin-top: .2em;
}
#clinic .clinic_index .abs div:nth-child(1){/*鳥*/
	width: 11%;
	left: 18%;
	top: -90%;
}
#clinic .clinic_index .abs div:nth-child(2){/*雲女の子*/
	width: 25%;
	right: -4%;
	top: 160%;
	z-index: 2;
}

#clinic .col2{
	display: block;
	margin: 0 auto;
}
#clinic .col2 section{
	width: 100%;
	max-width:100%;
	margin-bottom: 8vw;
}
#clinic .col2 section .imgbox{
	width: 85%;
	margin: 0 auto 4vw;
}
#clinic .col2 section .imgbox .icon{
	width: 32%;
}

#clinic .col1{
	display: block;
	margin: 0 auto 8vw;
}
#clinic .col1 .imgbox{
	width: 85%;
	margin: 0 auto 4%;
}
#clinic .col1 .imgbox .abs{
	top: 50%;
}
#clinic .col1 .txtbox{
	width: 100%;
	padding-top: 0;
}
#clinic .col1 .txtbox .img{
	margin-top: 2vw;
}
#clinic .col1 .txtbox .img .abs{
	left: 100%;
}

#clinic .col3{
	display: block;
} 
#clinic .col3 section{
	width: 100%;
	max-width: 100%;
	margin: 0 auto 8vw;
} 
#clinic .col3 section:last-child{
	margin-bottom: 0;
}
#clinic .col3 section .imgbox{
	width: 75%;
	margin: 0 auto 4%;
}
#clinic .col3 section .min32{
	text-align: center;
}
}






/* blog
---------------------------------------------------------*/
#blog .bg{
	padding: min(110px,8vw) 0 min(100px,7vw);
}
#blog .w1300{
	position: relative;
}
#blog .top_index1{
	position: relative;
}
#blog .top_index1 .abs{
	position: absolute;
	left: 2%;
	bottom: 30px;
	width: 15%;
	aspect-ratio:195 / 332;
}
#blog .top_index1 .eng110{
	color: #6ad0bb;
}

#blog .flex_box {
    justify-content: center;
}
#blog .flex_box li{
	width: 21%;
	margin-right: 5.333%;
}
#blog .flex_box li:last-child{
	margin-right: 0;
}
#blog .flex_box li .img{
	width: 100%;
	aspect-ratio: 266 / 170;
	position: relative;
	overflow: hidden;
	border-radius: var(--radius20);
}
#blog .flex_box li .img img{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 縦横比を維持して最大表示 */
	display: block;
	transition: 0.4s;
}
#blog .flex_box li:hover .img img{
	transform: translateY(-50%) scale(1.3);
	transition: 0.4s;
}
#blog .flex_box li .eng20{
	color: #6ad0bb;
	margin: 1.2em 0 .6em;
}
#blog .flex_box li .min20{
	margin-bottom: .5em;
}
#blog .flex_box li .fs15{
	line-height: 1.6em;
}
#blog .com_btn1 a{
	margin-top: 2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#blog .flex_box li{
	width: 23%;
	margin-right: 2.666%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#blog .bg{
	padding: 12vw 0;
}
#blog .top_index1 .abs{
	left: 2%;
	bottom: 30px;
	width: 25%;
}

#blog .flex_box {
	display: block;
}
#blog .flex_box li{
	width: 100%;
	margin-right: auto;
	margin-bottom: 8%;
}
#blog .flex_box li:last-child{
	margin-bottom: 0;
}
#blog .flex_box li .img{
	width: 65%;
	margin: 0 auto;
}
#blog .flex_box li .eng20{
	margin: 1em 0 .3em;
}
#blog .flex_box li .min20{
	margin-bottom: .4em;
}
#blog .com_btn1 a{
	margin-top: 2em;
}
}