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


/* under_kv
   ================================================================== */
.under_kv{
	margin: 0 0 0;
	position: relative;
}

/* under_kv_top */
.under_kv_top{
	position: relative;
}

.under_kv_top .kv_photo{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.under_kv_top .kv_photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.under_kv_top .inner{
    height: 40vw;
	position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.under_kv_top .inner:before{
	content: "";
    margin: auto;
	background: rgba(0,0,0,.49);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
    right: 0;
}

/* page_title */
.page_title{
    text-align: center;
    position: relative;
    z-index: 1;
}

.page_title > span{
    display: block;
    line-height: 150%;
    font-family: 'Noto Serif JP';
    letter-spacing: 0.1em;
}

.page_title .eng{
    font-size: 5.5vw;
    color: #ED4343;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.page_title .jpn{
    font-size: 8vw;
    color: #fff;
    font-weight: 600;
}

.page_title .jpn small{
    margin-top: 2vw;
    display: block;
    font-family: 'Noto Serif JP';
    font-weight: 600;
    font-size: 4vw;
    line-height: 1.5;
    color: #FFF;
}
.page_title .jpn big{
    display: block;
    font-family: 'Noto Serif JP';
    font-weight: 600;
    font-size: 7vw;
    line-height: 1.5;
    color: #FFF;
}
.page_title .cat{
    font-family: 'Noto Serif JP';
    font-weight: 600;
    font-size: 5vw;
    line-height: 1.7;
    color: #FFF;
}

/* under_kv_wide */
.under_kv_wide{
	position: relative;
    height: 100%;
}

.under_kv_wide .kv_photo{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.under_kv_wide .kv_photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.under_kv_wide .kv_photo:before{
	content: "";
    margin: auto;
	background: rgba(0,0,0,.49);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
    right: 0;
}

.under_kv_wide .kv_photo:after{
	content: "";
    margin: auto;
	background: rgba(0,0,0,.22);
	width: 100%;
	height: 14%;
	position: absolute;
	top: 0;
	left: 0;
    right: 0;
}

@keyframes zoomUp {
    0% {
        transform: scale(1.15);
        filter: blur(10px);
    }
    50%{
        filter: blur(0);
    }
    100% {
        transform: scale(1);
    }
}

.kv_fade{
    opacity: 0;
    transition: .3s;
    z-index: -1;
    height: 100%;
}

.kv_fade.swiper-container-fade{
    opacity: 1;
}

.kv_fade .swiper-slide-active .slide-img,
.kv_fade .swiper-slide-duplicate-active .slide-img,
.kv_fade .swiper-slide-prev .slide-img{
  animation: zoomUp 9s cubic-bezier(0.165, 0.84, 0.44, 1) 0s 1 normal both;  
}

.kv_fade .swiper-slide .slide-img{
    min-width: 100vw;
}

.kv_fade .swiper-container{
	position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}

.kv_fade .slide-img{
	height: 100%;
}

.under_kv_wide .inner{
    padding-top: 15vw;
    height: 176vw;
    box-sizing: border-box;
	position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.under_kv_wide .page_title > span{
    color: #fff;
}

.under_kv_wide .page_title .eng{
    font-size: 4vw;
    letter-spacing: 0.20em;
}

.under_kv_wide .page_title .jpn{
    margin: 2vw 0 0;
    font-size: 6.8vw;
}

.under_kv_wide .center_txt{
    margin: 20vw auto 0;
    display: flex;
    justify-content: center;
}

.under_kv_wide .center_txt > *{
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    color: #fff;
    font-family: 'Noto Serif JP';
    font-weight: 500;
}

.under_kv_wide .center_txt .ttl,
.under_kv_wide .center_txt .txt01,
.under_kv_wide .center_txt .txt02{
    filter: drop-shadow(0 10px 3px rgba(0,0,0,1));
}

.under_kv_wide .center_txt .ttl{
    font-size: 7vw;
    letter-spacing: 1.0em;
}

.under_kv_wide .center_txt .txt01,
.under_kv_wide .center_txt .txt02{
    margin: 15vw 4vw 0 0;
    font-size: 4.4vw;
    letter-spacing: 0.4em;
}

.under_kv_wide .center_txt .txt02{
    margin: 30vw 0 0 0;
}

.under_kv_wide .bottom_txt{
    display: none;
    font-family: 'Noto Serif JP';
}

/* plan_kv */
.plan_kv{
	position: relative;
    height: 100%;
}

.plan_kv .photo_area{
	position: relative;
    height: 100%;
}

.plan_kv .kv_photo{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.plan_kv .kv_photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.plan_kv .inner{
    height: 91vw;
    box-sizing: border-box;
	position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.plan_kv .text_box{
    padding: 8vw 0 0;
	background: rgba(255,255,255,.83);
	width: 42%;
	height: 100%;
	position: absolute;
	top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.plan_kv .page_title > span{
    color: #000;
    font-weight: 700;
}

.plan_kv .page_title .jpn{
    margin: auto;
    font-size: 13vw;
    letter-spacing: .3em;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
}

.plan_kv .page_title .eng{
    margin: 6vw 0 0;
    font-size: 6vw;
}

.plan_kv .catch{
    padding: 3vw 0 0;
    font-size: 4.5vw;
    font-weight: 700;
    text-align: center;
    font-family: 'Zen Kaku Gothic New';
}

.plan_kv .catch .red{
    color: #ED4343;
    font-family: inherit;
}


/* plan
   ================================================================== */

.plan_top_title{
    text-align: center;
}
.plan_top_title .icon{
    width: 60%;
    margin: 0 auto;
}
.plan_top_title h3{
    width: 60%;
    margin: 0 auto;
    margin-top: 2vw;
    background: #000;
    border-radius: 10vw;
    font-weight: 500;
    font-size: 4.2vw;
    color: #FFF;

}

.plan_contents_title{
    display: flex;
    flex-flow: column;
    align-items: center;
    text-align: center;
    letter-spacing: 0.1em;
}
.plan_contents_title .num{
    position: relative;
    font-weight: 700;
    font-size: 13vw;
    line-height: 1.3;
}
.plan_contents_title .num::before{
    content: "";
    width: 16.6vw;
    height: 4.3vw;
    background: url(../images/plan/osusume.svg) no-repeat;
    background-size: 100% 100%;
    position: absolute; top: 0; left: 50%;
    transform: translateX(-50%);
}
.plan_contents_title .title_box{
}
.plan_contents_title .title{
    font-weight: 500;
    font-size: 5vw;
    line-height: 1.5;
}
.plan_contents_title .small{
    margin-top: 1vw;
    font-weight: 500;
}
.plan_contents_title p{
    margin-top: 3vw;
    text-align: left;
}

.plan_top{
    padding: 20vw 0 10vw 0;
    letter-spacing: 0.1em;
}
.plan_top .plan_contents_title .num,
.plan_top .plan_contents_title .small{
    color: #EB853B;
}
.plan_top .box{
}
.plan_top .box .item{
    margin-top: 8vw;
}
.plan_top .box .item:first-child{
    margin-top: 6vw;
}
.plan_top .box .thum{
}
.plan_top .box .thum img{
    border-radius: 10px;
}
.plan_top .box .title{
    margin-top: 4vw;
    font-weight: 500;
    font-size: 5vw;
    text-align: center;
}
.plan_top .box p{
    margin-top: 4vw;
    font-size: 3.4vw;
}
.plan_top .anime_btn{
    margin-top: 8vw;
}

.plan_contents_2{
    padding: 10vw 0 12vw 0;
    background: #FAFAFA;
    letter-spacing: 0.1em;
}
.plan_contents_2 .plan_contents_title .num::before{
    filter: brightness(0) saturate(100%) invert(45%) sepia(96%) saturate(1428%) hue-rotate(149deg) brightness(94%) contrast(99%);
}
.plan_contents_2 .plan_contents_title .num,
.plan_contents_2 .plan_contents_title .small{
    color: #01ADBB;
}

.plan_contents_2 .box{
}
.plan_contents_2 .box .item{
    margin-top: 8vw;
}
.plan_contents_2 .box .thum{
}
.plan_contents_2 .box .thum img{
    border-radius: 10px;
}
.plan_contents_2 .box .cloud{
    width: 120%;
    margin: -6vw 0 0 -10%;
}
.plan_contents_2 .box .cloud img{
    width: 100%;
}

.plan_cocoon{
    padding-top: 10vw;
    letter-spacing: 0.1em;
}
.plan_cocoon .balloon{
    padding: 1.5vw;
    background: #ED4343;
    border-radius: 10vw;
    font-weight: 700;
    font-size: 3.8vw;
    color: #FFF;
    text-align: center;
}
.plan_cocoon .title{
    margin-top: 4vw;
    font-weight: 500;
    font-size: 5vw;
    line-height: 1.5;
    text-align: center;
}
.plan_cocoon .title small{
    font-size: 4.2vw;
}
.plan_cocoon .thum{
    margin-top: 4vw;
}
.plan_cocoon .thum img{
    border-radius: 10px;
}
.plan_cocoon p{
    margin-top: 4vw;
}
.plan_cocoon .price_box{
    margin-top: 4vw;
    padding: 2vw 3vw;
    background: #EBEBEB;
    border-radius: 6px;
    display: flex;
    align-items: flex-start;
}
.plan_cocoon .icon{
    padding: 1.5vw 2vw;
    background: #ED4343;
    border-radius: 10vw;
    font-weight: 700;
    font-size: 3.4vw;
    line-height: 1;
    color: #FFF;
}
.plan_cocoon .text{
    padding-left: 2vw;
    font-weight: 700;
    color: 000;
}
.plan_cocoon .text big{
    font-size: 4.4vw;
}
.plan_cocoon .text small{
    font-size: 3.4vw;
}

.plan_contents_3{
    padding: 10vw 0 15vw 0;
    letter-spacing: 0.1em;
}
.plan_contents_3 .plan_contents_title .num::before{
    filter: brightness(0) saturate(100%) invert(39%) sepia(93%) saturate(2869%) hue-rotate(133deg) brightness(98%) contrast(97%);
}
.plan_contents_3 .plan_contents_title .num,
.plan_contents_3 .plan_contents_title .small{
    color: #04A85F;
}
.plan_contents_3 .box{
    padding-top: 6vw;
}
.plan_contents_3 .box .ice{
    width: 80%;
    margin: 0 auto;
}
.plan_contents_3 .box .ice img{
    border-radius: 10px;
}
.plan_contents_3 .box .detail{
}
.plan_contents_3 .box .title{
    margin-top: 6vw;
    padding: 4vw 0 0 6vw;
    position: relative;
    font-weight: 700;
    font-size: 5vw;
    line-height: 1.5;
}
.plan_contents_3 .box .title::before{
    content: "";
    width: 5.8vw;
    height: 6.2vw;
    background: url(../images/plan/ice_acc.svg) no-repeat;
    background-size: 100% 100%;
    position: absolute; top: 0; left: 0;
}
.plan_contents_3 .box .text_box{
    display: flex;
    align-items: center;
}
.plan_contents_3 .box .acc{
    width: 35vw;
    transform: rotate(-30deg);
}
.plan_contents_3 .box p{
    width: calc(100% - 35vw);
    line-height: 1.5;
}
.plan_contents_3 .box .thum{
}
.plan_contents_3 .box .thum img{
    border-radius: 10px;
}
.plan_contents_3.family_contents_3 .box .image img{
    border-radius: 10px;
}
.plan_contents_3.family_contents_3 .box .detail{
    position: relative;
}
.plan_contents_3.family_contents_3 .box .cloud{
    width: 120%;
    margin: -4vw 0 0 -10%;
}
.plan_contents_3.family_contents_3 .box .thum{
    width: 80%;
    margin: 0 auto;
}
.plan_contents_3.family_contents_3 .box .acc{
    width: 35vw;
    transform: rotate(0);
    position: absolute; top: 50vw; right: 0;
}

.plan_souvenir{
    padding: 10vw 0 12vw 0;
    background: #FAFAFA;
    letter-spacing: 0.1em;
}
.plan_souvenir .plan_contents_title .num::before{
    filter: brightness(0) saturate(100%) invert(45%) sepia(96%) saturate(1428%) hue-rotate(149deg) brightness(94%) contrast(99%);
}
.plan_souvenir .plan_contents_title .num,
.plan_souvenir .plan_contents_title .small{
    color: #01ADBB;
}
.plan_souvenir .box{
    width: 80%;
    margin: 0 auto;
}
.plan_souvenir .box .item{
    margin-top: 8vw;
}
.plan_souvenir .box .thum{
}
.plan_souvenir .box .title{
    margin-top: 4vw;
    font-size: 5vw;
    text-align: center;
}
.plan_souvenir .box p{
    margin-top: 3vw;
    font-size: 4.4vw;
}

.couple_page .pankz_block,
.couple_page .plan_top_title,
.couple_page .plan_top,
.couple_page .plan_contents_3{
    background: #FAFAFA;
}
.couple_page .plan_contents_2{
    background: none;
}
.couple_page .plan_contents_2 .full_thum{
    margin-top: 6vw;
}
.couple_page .plan_contents_2 .full_thum img{
    border-radius: 10px;
}
.plan_contents_3.couple_contents_3 .box{
    padding-top: 0;
}
.plan_contents_3.couple_contents_3 .box .item{
    margin-top: 6vw;
}
.plan_contents_3.couple_contents_3 .box .title{
    width: 80%;
    margin: 0 auto;
    padding: 0;
}
.plan_contents_3.couple_contents_3 .box .title::before{
    display: none;
}
.plan_contents_3.couple_contents_3 .box .thum{
    margin-top: -8vw;
}
.plan_contents_3.couple_contents_3 .cloud{
}
.plan_contents_4.couple_contents_4{
    padding: 10vw 0 12vw 0;
}
.plan_contents_4.couple_contents_4 .plan_contents_title .num::before{
    filter: brightness(0) saturate(100%) invert(45%) sepia(96%) saturate(1428%) hue-rotate(149deg) brightness(94%) contrast(99%);
}
.plan_contents_4.couple_contents_4 .plan_contents_title .num,
.plan_contents_4.couple_contents_4 .plan_contents_title .small{
    color: #01ADBB;
}
.plan_contents_4.couple_contents_4 .box{
    margin-top: 6vw;
}
.plan_contents_4.couple_contents_4 .image{
}
.plan_contents_4.couple_contents_4 .image img{
    border-radius: 10px;
}
.plan_contents_4.couple_contents_4 .detail{
    position: relative;
}
.plan_contents_4.couple_contents_4 .thum{
    width: 30vw;
    position: absolute; bottom: -8vw; right: 0;
}
.plan_contents_4.couple_contents_4 .cloud{
    width: 100vw;
    margin: -18vw 0 0 -7vw;
}


/* pankz
   ================================================================== */
.pankz_block{
    display: none;
}

.pankz{
    padding: 3vw 0 0;
    font-size: 0;
}

.pankz > li{
    margin: 0 8vw 2vw 0;
    display: inline-block;
    vertical-align: top;
    position: relative;
}

.pankz > li:last-child{
    margin-right: 0;
}

.pankz > li::before{
    content: "";
    background-image: url("../images/common/pankz_arrow.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 1.5vw;
    height: 6vw;
    position: absolute;
    top: 0;
    left: calc(100% + 3vw);
}

.pankz > li:last-child::before{
    display: none;
}

.pankz > li > span,
.pankz > li a{
    font-size: 3.5vw;
    line-height: 150%;
    font-weight: 400;
    color: #222;
    display: block;
}


/* block_title
   ================================================================== */
.block_title{
	margin: 0 0 0;
    padding: 0 2vw 3vw;
	position: relative;
    text-align: center;
    border-bottom: 1px solid #000;
}

.block_title.position_left{
	text-align: left;
}

.block_title.border_none{
    border-bottom: none;
}

.block_title.border_red{
    border-color: #ED4343;
}

.block_title > span{
	display: block;
    line-height: 150%;
}

.block_title.red > span{
	color: #ED4343;
}

.block_title.white > span{
	color: #fff;
}

.block_title > .letter140{
    letter-spacing: 0.14em;
}

.block_title > .letter0{
    letter-spacing: 0;
}

.block_title.serif > span{
    font-family: 'Noto Serif JP';
}

.block_title .first{
	font-size: 6vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
}

.block_title .f22{
	font-size: 5vw;
}

.block_title .second{
    margin: 1.5vw 0 0;
	font-size: 4.3vw;
    font-weight: 400;
}


/* line_deco_title
   ================================================================== */
.line_deco_title{
	margin: 0 0 0;
    position: relative;
}

.line_deco_title > span{
    padding: 0 0 0 10vw;
	font-size: 6vw;
	display: inline-block;
    line-height: 140%;
    color: #ED4343;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    position: relative;
}

.line_deco_title > span:before{
	content: "";
	background: #ED4343;
	width: 8vw;
	height: 1px;
	position: absolute;
	top: 4.5vw;
	left: 0;
}

.line_deco_title.center{
    text-align: center;
}

.line_deco_title.center > span{
    padding: 0 7vw;
}

.line_deco_title.center > span:before,
.line_deco_title.center > span:after{
	content: "";
	background: #ED4343;
	width: 12vw;
	height: 1px;
	position: absolute;
	top: 4.5vw;
	left: 0;
}

.line_deco_title.center > span:before{
	left: 100%;
}

.line_deco_title.center > span:after{
    left: auto;
	right: 100%;
}


/* kv
   ================================================================== */
.kv{
	margin: 0 0 0;
	position: relative;
}

.kv:before{
	content: "";
	background: rgba(0,0,0,.19);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
    z-index: 1;
}

.kv .video{
	position: sticky;
    top: 0;
    left: 0;
	height: 100vh;
    line-height: 0;
}

.kv .video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kv .inner{
    padding-top: 40vh;
    padding-bottom: 30vw;
	position: relative;
    z-index: 2;
    box-sizing: border-box;
}

.scroll_down{
  position:absolute;
  top: -100px;
  left: 50%;
}
.scroll_down a{
  position: absolute;
  left: 10px;
  bottom: 33px;
  color: #FFF;
  font-size: 14px;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: .2em;
  writing-mode: vertical-lr;
  text-decoration: none;
  text-transform: uppercase;
}
.scroll_down:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background:#FFF;
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove{
  0%{bottom:100px;}
  100%{bottom:0px;}
}
@keyframes cirlemovehide{
  0%{opacity:0}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{opacity:0;}
}
.scroll_down:after{
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  width:2px;
  height: 100px;
  background:#FFF;
}

.kv .inbox *{
	color: #fff;
	font-family: 'Noto Serif JP';
    font-weight: 700;
    text-align: center;
}

.kv .inbox .title > span{
	display: block;
    line-height: 150%;
}

.kv .inbox .title .eng{
	font-size: 4.2vw;
}

.kv .inbox .title .jpn{
    margin: 3vw 0 0;
	font-size: 10vw;
}

.kv .inbox .text{
    margin: 10vw 0 8vw;
	font-size: 3.8vw;
    line-height: 315%;
    letter-spacing: 0.03em;
}


/* message
   ================================================================== */
.message{
	margin: 0 0 0;
	position: relative;
    overflow: unset !important;
}

.message .time{
	padding: 2vw 0;
    background: #D04B4B;
    display: flex;
    justify-content: center;
    align-items: center;
}

.message .time *{
	color: #fff;
}

.message .time .time_box{
    display: flex;
    justify-content: center;
    align-items: center;
}

.message .time .ttl{
    padding: 1vw 2vw;
    font-size: 3.5vw;
    border: 1px solid #fff;
}

.message .time p{
    margin: 0 0 0 3vw;
}

.message .time p span{
    font-size: 3.6vw;
    line-height: 150%;
}

.message .time p .siz_l{
    font-size: 3.7vw;
}

/* box01 */
.message .box01{
    padding: 18vw 0;
}

.message .box01 .title{
    font-size: 7vw;
    letter-spacing: 0.21em;
    text-align: center;
    font-weight: 500;
    font-family: 'Noto Serif JP';
}

.message .box01 .title .siz_s{
    font-size: .8em;
    font-weight: inherit;
    font-family: inherit;
}

.message .box01 p{
    font-size: 4.7vw;
    letter-spacing: 0.14em;
    text-align: center;
    font-weight: 700;
}

.message .box01 .title + p{
    margin: 6vw 0 0;
}

.message .box01 p + p{
    margin: 0 0 0;
}

/* box02 */
.message .box02{
    background-image: url("../images/index/webp/message_bg_sp.webp");
	background-repeat: no-repeat;
    background-position: center top;
	background-size: cover;
    position: relative;
}

@media screen and (max-width : 499px){
    
    .message.about_page_block .box02{
        background-image: url("../images/index/webp/about_p_bg_spage_message.webp");
    }
    
}

.message .box02:before{
	content: "";
	background: rgba(0,0,0,.57);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.message .box02 .inner{
	position: relative;
    z-index: 1;
}

.message .box02 .text_box{
	padding: 12vw 0;
}

.message .box02 .certification{
    margin: 0 0 8vw;
	display: flex;
    justify-content: center;
    align-items: center;
}

.message .box02 .certification li{
	width: 45vw;
    line-height: 0;
}

.message .box02 .certification li:nth-child(2){
    margin-left: 2vw;
	width: 30vw;
}

/* message_text */
.message_text *{
    color: #fff;
    font-weight: 400;
}

.message_text .title + .title{
    margin: 2vw 0 0;
}

.message_text .title > span{
    font-size: 5vw;
    line-height: 170%;
    display: block;
}

.message_text .title .sub{
    padding-left: 3vw;
}

.message_text .txt{
    margin: 3vw 0 0;
    font-size: 4.3vw;
    line-height: 170%;
}

/* movie */
.message .movie{
    padding: 15vw 0 10vw;
}

.message .movie .title{
    font-size: 7vw;
    letter-spacing: 0.21em;
    text-align: center;
    font-weight: 500;
    font-family: 'Noto Serif JP';
}

.message .movie .title .siz_s{
    font-size: .8em;
    font-weight: inherit;
    font-family: inherit;
}

.message .movie .youtube{
    margin: 6vw auto 0;
    line-height: 0;
}

.message .movie .youtube iframe{
    width: 100%;
    height: 55vw;
}

.message .movie .block_title{
    margin: 15vw 0 0;
}

.message .movie p{
    margin: 5vw 0 0;
}

/* box03 */
.message .box03{
    padding: 15vw 0 10vw;
}

.message .box03 .certification_list > li + li{
    margin: 10vw 0 0;
}

.message .box03 .certification_list .thm{
    margin: 0 auto;
    width: 45vw;
    line-height: 0;
}

.message .box03 .certification_list > li:nth-child(2) .thm{
    width: 35vw;
}

.message .box03 .certification_list .txt{
    margin: 3vw 0 0;
}


/* index_facilities
   ================================================================== */
.index_facilities{
	margin: 0 0 0;
	position: relative;
}

.index_facilities .top{
	margin: 0 0 0;
	position: relative;
    background-image: url("../images/index/webp/facilities_bg_sp.webp");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.index_facilities .top .text_box{
	margin: 0 -4vw;
    padding: 20vw 0;
	position: relative;
}

.index_facilities .top .text_box:before{
	content: "";
	background: rgba(0,0,0,.61);
	width: 100vw;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.index_facilities .top .text_inbox{
	position: relative;
    z-index: 1;
}

.index_facilities .top .text{
	margin: 6vw 0 0;
    font-size: 4.3vw;
    line-height: 250%;
    letter-spacing: 0.03em;
    color: #fff;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    text-align: center;
}

/* bottom */
.index_facilities .bottom{
	padding: 16vw 0 15vw;
}

.index_facilities .facilities_slider{
	margin: 0 auto;
    width: 100%;
}

.index_facilities .facilities_slider .swiper-slide .card{
	padding: 0 2vw;
    line-height: 0;
    display: block;
}

.index_facilities .facilities_slider .swiper-slide .card img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 325 / 525;
}

.index_facilities .bottom .arrow_btn{
    margin: 6vw 0 0;
}


/* gallery
   ================================================================== */
.gallery{
    padding: 15vw 0;
}

.gallery_box{
    margin: 0 0 0;
    padding: 3vw 0;
    border-top: 1px solid #CBCBCB;
}

.gallery_box .name{
    padding: 4vw 0 0;
    text-align: center;
}

.gallery_box .name a{
    fohnt-size: 4vw;
    font-weight: 400;
    display: inline-block;
}

.gallery_list{
    padding: 0 2vw;
    font-size: 0;
    line-height: 0;
    display: flex;
    flex-wrap: wrap;
}

.gallery_list > li{
    margin: 4vw 4% 0 0;
    width: 48%;
    display: inline-block;
    line-height: 0;
    position: relative;
}

.gallery_list > li:nth-child(2n+2){
    margin-right: 0;
}

.gallery_list > li a{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 1 / 1;
}

.gallery_list > li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}


/* basic_slider
   ================================================================== */
.basic_slider{
	position: relative;
    overflow: inherit !important;
    opacity: 0;
    transition: .3s;
}

.basic_slider.swiper-container-horizontal{
    opacity: 1;
}

.basic_slider .swiper-wrapper{
	line-height: 0;
}

.basic_slider .swiper-wrapper{
	line-height: 0;
}

.basic_slider.out_fade .swiper-slide{
    opacity: .45;
    transition: .3s;
}

.basic_slider.out_fade .swiper-slide-duplicate-prev,
.basic_slider.out_fade .swiper-slide-next,
.basic_slider.out_fade .swiper-slide-active{
    opacity: 1;
}

/* control */
.basic_slider .control{
	margin: 5vw 0 0;
    height: 12vw;
	position: relative;
}

/* swiper-pagination */
.basic_slider .swiper-pagination{
    margin: 0 auto;
    padding: 0 0 0;
    width: calc(100% - 14vw * 2);
    height: 100%;
    bottom: auto !important;
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.basic_slider .swiper-pagination-bullet{
    margin: 0 .5vw 0 !important;
    width: 100%;
    height: .7vw;
    display: inline-block;
    border-radius: 0;
    background: #E8E8E8;
    opacity: 1;
    box-sizing: border-box;
}

.basic_slider .swiper-pagination-bullet-active{
    background: #D95F61;
}

/*
.basic_slider .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-child(1){
    background: #5091AC;
}

.basic_slider .swiper-pagination-bullet.swiper-pagination-bullet-active:nth-child(2){
    background: #D6AE2A;
}
*/

/* arrows */
.basic_slider .arrows{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 0;
}

.basic_slider .arrows .swiper-button-prev,
.basic_slider .arrows .swiper-button-next{
    margin: 0 0 0;
    position: relative;
	width: 12vw;
    height: 12vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    top: 0;
    opacity: 1;
}

.basic_slider .arrows .swiper-button-prev{
	background-image: url("../images/common/slider_prev.svg");
    left: 0;
}

.basic_slider .arrows .swiper-button-next{
	background-image: url("../images/common/slider_next.svg");
    right: 0;
}

/* OFF */
.basic_slider .arrows .swiper-button-prev.swiper-button-disabled{
	opacity: .3;
}

.basic_slider .arrows .swiper-button-next.swiper-button-disabled{
	opacity: .3;
}


/* photo_spot
   ================================================================== */
.photo_spot{
	padding: 15vw 0 0;
	position: relative;
}

.photo_spot .block_title + p{
	margin: 4vw 0 0;
    font-size: 4.2vw;
    letter-spacing: 0.03em;
    line-height: 220%;
    font-weight: 700;
    font-family: 'Noto Serif JP';
}

.photo_spot .photo_spot_slider{
	margin: 8vw auto 0;
    width: 100%;
}

.photo_spot .photo_spot_slider .swiper-slide .card{
	padding: 0 2vw;
    line-height: 0;
    display: block;
}

.photo_spot .photo_spot_slider .swiper-slide .card img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 310 / 335;
}

.photo_spot .photo_spot_slider .swiper-slide .card .ttl{
    padding: 3vw 0 0;
    font-size: 3.6vw;
    letter-spacing: 0.1em;
    line-height: 150%;
    font-weight: 700;
    text-align: center;
    font-family: 'Noto Serif JP';
    display: block;
}


/* access_block
   ================================================================== */
.access_block{
	padding: 0 0 15vw;
	position: relative;
}

.access_block .flex_box{
	margin: 0 auto 0;
}

.access_block .text_box{
	padding: 0 0 0;
}

.access_block .text_box .name{
	width: 70vw;
    line-height: 0;
}

.access_block .text_box .name img{
	width: 100%;
}

.access_block .text_box .list{
	margin: 5vw 0 0;
}

.access_block .text_box .list > li{
	margin: 5vw 0 0;
}

.access_block .text_box .list .ttl{
	display: flex;
    align-items: center;
}

.access_block .text_box .list .ttl > span{
	display: flex;
    line-height: 150%;
    color: #ED4343;
}

.access_block .text_box .list .ttl .eng{
    font-size: 5.2vw;
	font-family: 'Noto Serif JP';
    font-weight: 700;
}

.access_block .text_box .list .ttl .jpn{
    margin: 0 0 0 3vw;
    font-size: 3.6vw;
    font-weight: 400;
}

.access_block .text_box .list .ttl .car_icon{
    margin: 0 3vw 0 0;
    width: 6vw;
}

.access_block .text_box .list .txt{
    margin: 2vw 0 0;
    font-size: 3.6vw;
    line-height: 200%;
    font-weight: 400;
}

.access_block .text_box .list .imt_txt{
    margin: 4vw 0 0;
    width: 100%;
    line-height: 0;
}

.access_block .text_box .list .imt_txt img{
    width: 100%;
}

.access_block .text_box .arrow_btn{
    margin: 10vw 0 0;
    text-align: right;
}

.access_block .map_box{
    margin: 10vw 0 0;
}

.access_block .map_box .frame{
    line-height: 0;
    border-radius: 15px;
    overflow: hidden;
}

.access_block .map_box .frame iframe{
    width: 100%;
    height: 120vw;
}

.access_block .map_box .google_btn{
    margin: 3vw 0 0;
}


/* index_topics
   ================================================================== */
.index_topics{
	padding: 15vw 0 5vw;
	position: relative;
}

.index_topics_list{
	margin: 8vw auto 0;
    width: 80vw;
}

.index_topics_list > li{
	margin: 4vw 0 0;
}

.index_topics_list .box{
	display: block;
}

.index_topics_list .category{
	display: block;
    text-align: center;
}

.index_topics_list .category > span{
    min-height: 6vw;
    min-width: 40vw;
    font-size: 3.5vw;
    font-weight: 700;
    color: #fff;
	display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #5191AD;
}

.index_topics_list .category.category2 > span,
.index_topics_list .category.COLUMN > span{
    background: #D6AE2A;
}

.index_topics_list .category.category3 > span,
.index_topics_list .category.NEWS > span{
    background: #D95F62;
}

.index_topics_list .thm{
    margin: 3vw 0 0;
    line-height: 0;
    display: block;
}

.index_topics_list .thm img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 293 / 196;
}

.index_topics_list .txt_box{
    margin: 3vw 0 0;
    display: block;
}

.index_topics_list .txt_box .date{
    font-size: 3vw;
    color: #777;
    display: block;
}

.index_topics_list .txt_box .ttl{
    font-size: 4.2vw;
    color: #222;
    display: block;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.index_topics .arrow_btn{
    margin: 12vw 0 0;
}


/* craftsman
   ================================================================== */
.craftsman{
	padding: 15vw 0 5vw;
	position: relative;
}

.craftsman .list{
	margin: 2vw auto 0;
    display: flex;
    flex-wrap: wrap;
}

.craftsman .list > li{
	margin: 4vw 4% 0 0;
    width: 48%;
}

.craftsman .list > li:nth-child(2n+2){
	margin-right: 0;
}

.craftsman .list .thm{
	line-height: 0;
}

.craftsman .list .thm img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 1 / 1;
}

.craftsman .list .name{
    padding: 1vw 0 0;
    font-size: 4vw;
    font-weight: 700;
    text-align: center;
    color: #ED4343;
    font-family: 'Noto Serif JP';
}


/* about_work
   ================================================================== */
.about_work{
	padding: 10vw 0 10vw;
	position: relative;
}

.about_work .slider_wrap{
	margin: 5vw 0 0;
}

.about_work .work_slider{
	overflow: hidden !important;
}

.about_work .work_slider img{
	width: 100%;
}


/* about_rgc
   ================================================================== */
.about_rgc{
	padding: 15vw 0 0;
	position: relative;
}

.about_rgc .flex_box{
	margin: 6vw 0 0;
    padding: 0 3vw;
}

.about_rgc .text_box{
	padding: 0 0 0;
}

.about_rgc .text_box p{
	margin: 5vw 0 0;
}

.about_rgc .photo{
	margin: 5vw 0 0;
}


/* about_vgcp
   ================================================================== */
.about_vgcp{
	padding: 10vw 0 0;
	position: relative;
}

.about_vgcp .top_box{
	margin: 0 0 0;
    padding: 0 3vw;
}

.about_vgcp .text_box{
	padding: 0 0 0;
}

.about_vgcp .text_box p{
	margin: 5vw 0 0;
}

.about_vgcp .logo{
	margin: 5vw auto 0;
    width: 100%;
    line-height: 0;
}

.about_vgcp .photos{
	margin: -3vw 0 0;
}

.about_vgcp .photos > li{
	margin: 3vw 0 0;
    line-height: 0;
}

.about_vgcp .photos > li img{
	width: 100%;
}

/*why_box */
.why_box{
	margin: 6vw auto 0;
    padding: 5vw 3vw 10vw;
    background: #F7F7F7;
    border-radius: 16px;
}

.why_box .line_deco_title + p{
	margin: 5vw 0 0;
    padding: 0 5vw;
}

.why_box .list{
	margin: 5vw 0 0;
}

.why_box .list > li{
	margin: 3vw 0 0;
    padding: 0;
    background: #fff;
}

.why_box .list .ttl{
	padding: 1vw 2vw;
    font-size: 4vw;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: #ED4343;
    font-family: 'Noto Serif JP';
}

.why_box .list p{
	padding: 3vw 3vw 4vw;
}


/* about_rules
   ================================================================== */
.about_rules{
	padding: 15vw 0 0;
	position: relative;
}

.about_rules .top_box{
	padding: 0 3vw;
}

.about_rules .text_list{
	margin: 10vw 0 0;
}

.about_rules .text_list > li{
	margin: 10vw 0 0;
}

.about_rules .text_list .ttl{
	font-size: 4.2vw;
    font-weight: 700;
    color: #ED4343;
    text-align: center;
    font-family: 'Noto Serif JP';
}

.about_rules .text_list .ttl + p{
	margin: 3vw 0 0;
}

.about_rules .bg_box{
	margin: 10vw 0 0;
    padding: 6vw 3vw 6vw;
    background: #F7F7F7;
    border-radius: 16px;
}

.about_rules .bg_box .photo{
	margin: 0 auto;
    width: 100%;
}

.about_rules .bg_box .list{
	margin: 3vw 0 0;
}

.about_rules .bg_box .list > li{
	padding: 3vw 0;
    border-bottom: 1px dashed #BFBFBF;
}

.about_rules .bg_box .list > li p{
	line-height: 160%;
}



/* workshop */

.index_workshop{
    padding: 20vw 0;
    letter-spacing: 0.1em;
}
.index_workshop .inner{
    position: relative;
}
.index_workshop .inner::before{
    content: "";
    width: 32vw;
    height: 22.6vw;
    background: url(../images/index/webp/grid_acc_3.webp) no-repeat;
    background-size: 100% 100%;
    position: absolute; bottom: -20vw; right: 0;
}
.index_workshop .block_title{
    position: relative;
}
.index_workshop .block_title::before,
.index_workshop .block_title::after{
    content: "";
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
}
.index_workshop .block_title::before{
    width: 16.8vw;
    height: 11.2vw;
    background-image: url(../images/index/webp/grid_acc_1.webp);
    top: 4vw; left: 0;
}
.index_workshop .block_title::after{
    width: 17vw;
    height: 16.8vw;
    background-image: url(../images/index/webp/grid_acc_2.webp);
    top: -2vw; right: 0;
}
.index_workshop h3 + p{
    padding: 0 3vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
}
.index_workshop .arrow_btn{
}

.index_workshop .experience{
    padding:8vw 3vw;
}
.index_workshop .grid{
    display:grid;
    grid-template-columns:auto;
    grid-auto-rows:auto;
    gap:3vw;
}
.index_workshop .card{
    position:relative;
    overflow:hidden;
    display:block;
}
.index_workshop .card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.index_workshop .label{
    padding:1.5vw 4vw;
    background:rgba(214,214,214,0.79);
    position:absolute; top:2vw; left:0;
    font-weight:700;
    line-height:1.2;
    box-sizing: border-box;
}
.index_workshop .card3 .label,
.index_workshop .card4 .label,
.index_workshop .card5 .label,
.index_workshop .card6 .label,
.index_workshop .card9 .label,
.index_workshop .card10 .label,
.index_workshop .card11 .label,
.index_workshop .card12 .label{
    width: 100%;
    padding: 1.5vw 0;
    text-align: center;
}
.index_workshop .badge{
    margin-left: 2vw;
    padding:0.5vw 4vw;
    background:#ED4343;
    border-radius:10vw;
    display: inline-block;
    font-weight: 700;
    font-size: 2.8vw;
    color:#FFF;
    letter-spacing: 0;
    transform: translateY(-0.5vw);
}
.index_workshop .caption{
    width: 100%;
    padding:3vw;
    background: rgba(0, 0, 0, 0.61);
    position: absolute; bottom: 0; left: 0;
    color: #FFF;
    line-height: 1.5;
    box-sizing: border-box;
    transform: translateY(100%);
    transition: .2s;
}
.index_workshop .today{
    width: 30vw;
    margin-bottom: 1vw;
    padding: 0.5vw 1vw;
    border: 1px solid #FFF;
    display: block;
    font-weight: 700;
    font-size: 3vw;
    color: #FFF;
}
.index_workshop .cap_box{
    width: 100%;
    height: 100%;
    padding: 3vw;
    background: rgba(167, 15, 15, 0.68);
    position: absolute; top: 0; left: 0;
    box-sizing: border-box;
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    transform: translateY(100%);
    transition: .2s;
}
.index_workshop .cap_info{
    width: 100%;
    padding: 0.3vw 0;
    border: 1px solid #FFF;
    font-weight: 700;
    font-size: 2.6vw;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
}
.index_workshop .cap_name{
    height: 12vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 3vw;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
    letter-spacing: 0;
}
.index_workshop .cap_text{
    padding-top: 2vw;
    border-top: 1px solid #FFF;
    font-weight: 700;
    font-size: 2.6vw;
    line-height: 1.5;
    color: #FFF;
}
.index_workshop .card.active .caption,
.index_workshop .card.active .cap_box {
  transform: translateY(0);
}

.index_workshop .card1{grid-column:1/3; grid-row:1/3;}
.index_workshop .card2{grid-column:1/3; grid-row:6/8;}

.index_workshop .card3{grid-column:1/2; grid-row:3/4;}
.index_workshop .card4{grid-column:2/3; grid-row:3/4;}

.index_workshop .card5{grid-column:1/2; grid-row:4/5;}
.index_workshop .card6{grid-column:2/3; grid-row:4/5;}

.index_workshop .card7{grid-column:1/3; grid-row:5/6;}

.index_workshop .card8{grid-column:1/3; grid-row:8/10;}

.index_workshop .card9{grid-column:1/2; grid-row:10/11;}
.index_workshop .card10{grid-column:2/3; grid-row:10/11;}

.index_workshop .card11{grid-column:1/2; grid-row:11/12;}
.index_workshop .card12{grid-column:2/3; grid-row:11/12;}

.index_workshop .card13{grid-column:1/3; grid-row:12/13;}


/* howto_slider */

.howto_slide_block{
    padding: 10vw 0;
}
.howto_slide_block .block_title{
    text-align: left;
}
.howto_slide_box{
    padding-top: 8vw;
}
.howto_slider.girls .swiper-pagination-bullet-active{
    background:#5091AD;
}

.howto_slider.family .swiper-pagination-bullet-active{
    background:#D6AE29;
}

.howto_slider.couple .swiper-pagination-bullet-active{
    background:#D95F62;
}


/* business_top_title
   ================================================================== */

.business_top_title{
    padding-top: 8vw;
}
.business_top_title h3{
    padding-left: 3vw;
    border-left: 10px solid #DA4733;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 6vw;
}

.business_top_btn{
    padding-bottom: 10vw;
}
.business_top_btn .btn{
}
.business_top_btn .btn a{
    padding: 3vw 0;
    border: 1px solid #ED4343;
    border-radius: 10vw;
    display: block;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 3.5vw;
    color: #ED4343;
    text-align: center;
}


/* anchor_link_block
   ================================================================== */

.anchor_link_block{
    padding: 1vw 0 7vw 0;
    letter-spacing: 0.1em;
}
.anchor_link_box{
}
.anchor_link_box .item{
    padding-top: 2vw;
}
.anchor_link_box .item a{
    padding: 3vw 8vw 3vw 0;
    border-bottom: 1px solid #F47878;
    display: block;
    position: relative;
    font-size: 4.3vw;
    font-weight: 700;
}
.anchor_link_box .item a small{
    display: block;
    font-size: 3vw;
    line-height: 1.5;
}
.anchor_link_box .item a span{
    width: 6vw;
    height: 6vw;
    background: #ED4343;
    border-radius: 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute; top: 50%; right: 2vw;
    transform: translateY(-50%);
}
.anchor_link_box .item a span img{
    width: 3vw;
}


/* table_box
   ================================================================== */

.table_box{
    letter-spacing: 0.1em;
}
.table_box table{
}
.table_box table tr{
}
.table_box table th,
.table_box table td{
    display: block;
    font-size: 3.8vw;
    font-weight: 400;
    text-align: center;
}
.table_box table th{
    padding: 1.8vw;
    background: #EDEDED;
    color: #000;
}
.table_box table td{
    padding: 2.5vw 0 3vw 0;
}
.table_box table td a{
    color: #2980B9;
    text-decoration: underline;
}


/* page_top_intro
   ================================================================== */

.page_top_intro{
    padding: 6vw 0 8vw 0;
    letter-spacing: 0.1em;
}
.page_top_title{
}
.page_top_title small{
    display: block;
    font-family: 'Noto Serif JP';
    font-weight: 800;
    font-size: 4vw;
    line-height: 1.5;
    color: #ED4343;
    letter-spacing: 0.2em;
}
.page_top_title span{
    margin-top: 1vw;
    display: block;
    font-family: 'Noto Serif JP';
    font-weight: 600;
    font-size: 6vw;
    line-height: 1.5;
    color: #ED4343;
}
.page_top_intro .text_box{
    margin-top: 2vw;
    padding-top: 4vw;
    border-top: 1px solid #ED4343;
}
.page_top_intro .text_box.no_border{
    border-top: none;
}
.page_top_intro .text_box p{
    color: #ED4343;
}
.page_top_intro .btn .arrow_btn{
    margin-top: 6vw;
    text-align: left;
}
.intro_link_box{
    padding: 3vw 0 0 4vw;
}
.intro_link_box .item{
    margin-top: 3vw;
}
.intro_link_box .item a{
    font-weight: 700;
}
.intro_link_box .thum{
}
.intro_link_box .text{
    color: #ED4343;
}
.intro_link_box .text::before{
    content: "▼";
}
.intro_link_box .text small{
    font-size: 3.5vw;
    color: #ED4343;
}
.intro_link_title{
    margin-top: 6vw;
    padding: 0.5vw;
    font-weight: 700;
    font-size: 3.8vw;
    color: #FFF;
    text-align: center;
}
.intro_link_title.you{
    background: #ED4343;
}
.intro_link_title.fuyou{
    background: #095895;
}


/* full_box
   ================================================================== */

.full_box{
    padding: 10vw 0;
    border-bottom: 1px solid #F47878;
}


/* info_box
   ================================================================== */

.info_box{
    letter-spacing: 0.1em;
}
.info_box.reverse{
}
.info_box .detail_box{
}
.info_box .title_box{
    padding: 0 3vw 2vw 3vw;
    border-bottom: 1px solid #222;
}
.info_box .title{
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 5.5vw;
}
.info_box .title small{
    display: block;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 4.5vw;
}
.info_box .sub_title{
    margin-top: 2vw;
    font-family: 'Noto Serif JP';
    font-size: 4vw;
}
.info_box .text_box{
    padding-top: 4vw;
}
.info_box p{
    padding: 0 3vw;
}
.info_box .text_box .red_text{
    margin-top: -2vw;
    padding: 0 3vw 4vw 3vw;
    font-weight: 700;
    color: #ED4343;
}
.info_box .text_box .caution{
    margin-top: 2vw;
    padding: 0 3vw;
    color: #ED4343;
}
.info_box .point_box{
    margin-top: 4vw;
    padding: 3vw 5vw;
    background: url(../images/common/webp/point_bg.webp) no-repeat;
    background-size: 100% 100%;
    box-sizing: border-box;
}
.info_box .point_box .icon{
    font-size: 3.6vw;
    font-weight: 700;
    color: #ED4343;
    letter-spacing: 0;
}
.info_box .point_box .text{
    font-size: 3.5vw;
}
.info_box .thum_box{
    padding: 5vw 3vw 0 3vw;
}
.info_box .thum_box .main_thum{
    line-height: 0;
}
.info_box .thum_box .main_thum img{
    transition: opacity .8s ease;
}
.info_box .thum_box .main_thum img.fade-out{
    opacity:0;
}
.info_box .thum_box .list{
    margin-top: 2vw;
    display: flex;
    gap: 1vw;
    line-height: 0;
}
.info_box .thum_box .list div{
    position: relative;
}
.info_box .thum_box .list div::before{
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.63);
    position: absolute; top: 0; left: 0;
    display: none;
}
.info_box .thum_box .list div:hover::before,
.info_box .thum_box .list div.active::before{
    display: block;
}


/* accordion_box
   ================================================================== */

.accordion_box{
    padding-top: 8vw;
}
.accordion_title{
    padding: 2vw;
    background: #DD4747;
    border-radius: 10vw;
    position: relative;
    font-weight: 700;
    font-size: 4.2vw;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
}
.accordion_title.active{
    border-radius: 20px 20px 0 0;
}
.accordion_title::after{
    content: "＋";
    width: 6vw;
    height: 6vw;
    background: #FFF;
    border-radius: 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute; top: 50%; right: 4vw;
    transform: translateY(-50%);
    line-height: 6vw;
    color: #DD4747;
    text-align: center;
}
.accordion_title.active::after{
    content: "－";
}
.accordion_inner{
    background: #FDFDFA;
    border-radius: 0 0 20px 20px;
    display: none;
}
.accordion_box .coming_soon{
    padding: 10vw 5vw;
    text-align: center;
}
.accordion_box .coming_soon .title_box{
    padding-bottom: 4vw;
    border-bottom: 1px solid #ED4343;
}
.accordion_box .coming_soon .title{
    font-weight: 700;
    font-size: 7vw;
    color: #ED4343;
    letter-spacing: 0.2em;
}
.accordion_box .coming_soon .sub_title{
    margin-top: 2vw;
    font-weight: 700;
    font-size: 3.8vw;
    color: #ED4343;
    letter-spacing: 0.15em;
}
.accordion_box .coming_soon p{
    margin-top: 4vw;
    font-weight: 700;
    font-size: 6vw;
    color: #8E8E8E;
    letter-spacing: 0.08em;
}
.accordion_flow{
    padding: 0 4vw;
    letter-spacing: 0.1em;
}
.accordion_flow .item{
    padding-top: 8vw;
}
.accordion_flow .item:first-child{
    padding-top: 6vw;
}
.accordion_flow .title_box{
    padding-bottom: 2vw;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #222;
}
.accordion_flow .num{
    width: 7vw;
    height: 7vw;
    background: #DD4747;
    border-radius: 3.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 7vw;
    color: #FFF;
}
.accordion_flow .title{
    width: calc(100% - 7vw);
    padding-left: 2vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 4.2vw;
}
.accordion_flow .thum{
    margin-top: 4vw;
}
.accordion_flow p{
    margin-top: 4vw;
}
.accordion_flow .check_box{
    margin-top: 4vw;
    padding: 3vw 5vw;
    background: url(../images/common/webp/point_bg.webp) no-repeat;
    background-size: 100% 100%;
    box-sizing: border-box;
}
.accordion_flow .check_box .icon{
    font-size: 3.6vw;
    font-weight: 700;
    color: #ED4343;
    letter-spacing: 0;
}
.accordion_flow .check_box .text{
    font-size: 3.5vw;
}
.accordion_option{
    margin: 6vw 4vw 0 4vw;
    padding: 4vw;
    background: #F7F7F7;
    border-radius: 15px;
}
.accordion_option .title{
    font-weight: 700;
    font-size: 4.2vw;
    color: #ED4343;
}
.accordion_option p{
    margin-top: 2vw;
    font-size: 3.5vw;
}
.accordion_box .btn{
    padding: 6vw 4vw;
}
.accordion_flow .item.wide{
}
.accordion_flow .wide_inner{
}
.accordion_flow .wide_inner .left{
}
.accordion_flow .wide_inner .right{
}
.accordion_flow .check_box .thum_in{
    margin-top: 2vw;
    display: flex;
}
.accordion_flow .check_box .thum_in div{
}
.accordion_box .add_box{
    margin-top: 4vw;
}
.accordion_box .add_box div{
    padding: 4vw 0;
    background: #F7F7F7;
    border-radius: 15px;
    font-weight: 700;
    color: #ED4343;
    text-align: center;
}


/* bottom_faq_block
   ================================================================== */

.bottom_faq_block{
    padding-top: 10vw;
}


/* plan_point_block
   ================================================================== */

.plan_point_block{
    padding: 8vw 0 10vw 0;
    background: #FDFDF7;
    letter-spacing: 0.1em;
}
.plan_point_block .top_title_box{
}
.plan_point_block .top_title_box .icon{
    padding-left: 4vw;
    font-weight: 900;
    font-size: 6vw;
    line-height: 1;
    color: #ED4343;
}
.plan_point_block .top_title_box .top_title{
    margin-top: -1vw;
    padding: 2vw;
    background: #ED4343;
    border-radius: 10vw;
    font-weight: 700;
    font-size: 4.2vw;
    color: #FFF;
    text-align: center;
}
.plan_point_block .top_text{
    margin-top: 2vw;
    font-family: 'Noto Serif JP';
    font-size: 4.2vw;
    line-height: 2;
    text-align: center;
}
.plan_point_box{
}
.plan_point_box .item{
    margin-top: 6vw;
}
.plan_point_box .text_box{
}
.plan_point_box .title{
    font-weight: 700;
    font-size: 4.5vw;
}
.plan_point_box p{
    margin-top: 3vw;
}
.plan_point_box .thum{
    margin-top: 2vw;
}
.plan_point_block .btn{
    margin-top: 6vw;
}
.plan_point_block .btn .arrow_btn a{
    height: 10vw;
    font-size: 4vw;
}


/* product
   ================================================================== */

.product_top_text{
    padding-top: 8vw;
}
.product_top_text p{
    text-align: center;
    letter-spacing: 0;
}
.product_block{
    padding-bottom: 20vw;
    letter-spacing: 0.1em;
}
.product_box{
    padding-top: 10vw;
}
.product_box + .product_box{
    padding-top: 15vw;
}
.product_box .box_title{
    padding: 2vw;
    background: #222;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 5vw;
    color: #FFF;
    text-align: center;
}
.product_box .online_btn{
    padding-top: 10vw;
}
.product_big{
    padding: 0 3vw;
}
.product_big .item{
    padding-top: 6vw;
}
.product_big .thum{
}
.product_big .name{
    padding-top: 3vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 5vw;
}
.product_big p{
    padding-top: 3vw;
}
.product_small{
    padding: 3vw 3vw 0 3vw;
    display: flex;
    flex-wrap: wrap;
    gap: 8vw;
}
.product_small .item{
    width: 39vw;
}
.product_small .thum{
}
.product_small .name{
    padding-top: 2vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.01em;
}
.product_small p{
    padding-top: 2vw;
    font-size: 3.5vw;
    line-height: 1.5;
}
.product_mid{
    padding: 0 3vw;
}
.product_mid .item{
    padding-top: 8vw;
}
.product_mid .item:first-child{
    padding-top: 6vw;
}
.product_mid .thum{
}
.product_mid .thum img{
    border-radius: 10px;
}
.product_mid .name{
    padding-top: 3vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 5vw;
    text-align: center;
}
.product_mid p{
    padding-top: 3vw;
    font-size: 3.5vw;
}


/* enjoy
   ================================================================== */

.enjoy_map_block{
    padding-bottom: 6vw;
    letter-spacing: 0.1em;
}
.enjoy_map_block .sphere{
}
.enjoy_map_block .top_title{
    margin-top: 6vw;
    padding-top: 5vw;
    position: relative;
    font-family: 'Noto Serif JP';
    font-size: 6vw;
    color: #ED4343;
    text-align: center;
}
.enjoy_map_block .top_title::before{
    content: "";
    width: 8.4vw;
    height: 3.2vw;
    background: url(../images/enjoy/acc.svg) no-repeat;
    background-size: 100% 100%;
    position: absolute; top: 0; left: 50%;
    transform: translateX(-50%);
}
.enjoy_map_box{
    margin-top: 4vw;
}
.enjoy_map_box .box_title{
    height: 10vw;
    margin: 0 3vw;
    background: #ED4343;
    border-radius: 5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 4.5vw;
    line-height: 1;
    color: #FFF;
    text-align: center;
}
.enjoy_map_box .spot_image{
    margin-top: 7vw;
}
.enjoy_map_box .park_map_box{
    padding-top: 0;
}
.park_map_box{
    padding: 12vw 3vw 0 3vw;
}
.park_map_box .title{
    font-size: 5vw;
    font-weight: 700;
    text-align: center;
}
.park_map_box .map_image{
    margin-top: 4vw;
}
.park_map_box .print_btn{
    margin-top: 4vw;
    display: flex;
    justify-content: flex-end;
}
.park_map_box .print_btn a{
    width: 55vw;
    height: 10vw;
    background: #000;
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.5vw;
    line-height: 1;
    color: #FFF;
    text-align: center;
}
.park_map_box .print_btn a span{
    margin-right: 5px;
    font-size: 3.5vw;
    color: #FFF;
    transform: scale(-1, 1);
}
.enjoy_spot_block{
    padding: 12vw 3vw;
}
.enjoy_spot_top_box{
    padding-top: 10vw;
}
.enjoy_spot_top_box .right{
}
.enjoy_spot_top_box .title{
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 6vw;
    color: #000;
    letter-spacing: 0.03em;
}
.enjoy_spot_top_box p{
    margin-top: 4vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    color: #000;
    line-height: 2.5;
    letter-spacing: 0.03em;
}
.enjoy_spot_top_box .left{
    padding-top: 4vw;
}
.enjoy_spot_top_box .thum{
}
.enjoy_spot_top_box .name{
    margin-top: 2vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    color: #000;
    text-align: center;
}
.enjoy_spot_box{
    padding-top: 4vw;
    display: flex;
    flex-wrap: wrap;
    gap: 2vw;
}
.enjoy_spot_box .item{
    width: 43vw;
    padding-top: 2vw;
}
.enjoy_spot_box .item:nth-child(even){
    width: 41vw;
}
.enjoy_spot_box .item:nth-child(5),
.enjoy_spot_box .item:nth-child(6),
.enjoy_spot_box .item:nth-child(7){
    width: 100%;
}
.enjoy_spot_box .item:nth-child(8),
.enjoy_spot_box .item:nth-child(9){
    width: 42vw;
}
.enjoy_spot_box .thum{
}
.enjoy_spot_box .name{
    margin-top: 2vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    color: #000;
    text-align: center;
}
.craftsman_link_block{
    background: url(../images/enjoy/webp/craftsman_bg_sp.webp) no-repeat center;
    background-size: cover;
    position: relative;
}
.craftsman_link_block::before{
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.56);
    position: absolute; top: 0; left: 0;
}
.craftsman_link_block *{
    position: relative;
    z-index: 1;
}
.craftsman_link_box{
    padding: 12vw 0;
}
.craftsman_link_box .title{
    font-family: 'Noto Serif JP';
    font-weight: 500;
    font-size: 7.5vw;
    line-height: 1.7;
    color: #FFF;
    text-align: center;
}
.craftsman_link_box ul{
    padding-top: 3vw;
}
.craftsman_link_box li{
    padding-top: 1vw;
    font-size: 4.5vw;
    color: #FFF;
}
.craftsman_link_box p{
    padding-top: 4vw;
    color: #FFF;
}
.craftsman_link_box .anime_btn{
    padding-top: 6vw;
}
.enjoy_message_block .top_text{
    margin-bottom: 6vw;
    font-family: 'Noto Serif JP';
    font-size: 5vw;
    text-align: center;
}
.enjoy_message_block .arrow_btn.w321 a{
    width: 80%;
    margin-top: 8vw;
}


/* souvenir
   ================================================================== */

.souvenir{
    padding-bottom: 20vw;
}
.souvenir_shop_thum{
    padding: 6vw 3vw 0 3vw;
    display: flex;
    flex-wrap: wrap;
    gap: 2vw;
    line-height: 0;
}
.souvenir_shop_thum div{
    width: 42vw;
}
.souvenir_pick_up_block{
    padding-top: 20vw;
}
.souvenir_pick_up_block h3 .second{
    font-size: 4vw;
}
.souvenir_pick_up_box{
}
.souvenir_pick_up_box .item{
    margin-top: 10vw;
}
.souvenir_pick_up_box .title{
    width: 80%;
    height: 8vw;
    margin: 0 auto;
    background: #ED4343;
    border-radius: 4vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.5vw;
    font-weight: 500;
    color: #FFF;
    text-align: center;
}
.souvenir_pick_up_box .thum_box{
    padding: 5vw 3vw 0 3vw;
}
.souvenir_pick_up_box .thum_box .main_thum{
    position: relative;
    line-height: 0;
}
.souvenir_pick_up_box .thum_box .main_thum img{
    transition: opacity .35s ease;
}
.souvenir_pick_up_box .thum_box .main_thum img.fade-out{
    opacity:0;
}
.souvenir_pick_up_box .thum_box .main_thum span{
    width: 30vw;
    padding: 1vw 0;
    background: rgba(0, 0, 0, 0.58);
    display: block;
    position: absolute; bottom: 0; right: 0;
    font-size: 2.3vw;
    font-weight: 500;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
}
.souvenir_pick_up_box .thum_box .list{
    margin-top: 2vw;
    display: flex;
    gap: 1vw;
    line-height: 0;
}
.souvenir_pick_up_box .thum_box .list div{
    position: relative;
}
.souvenir_pick_up_box .thum_box .list div::before{
    content: "";
    width: 100%;
    height: calc(100% - 5.45vw);
    background: rgba(0, 0, 0, 0.63);
    position: absolute; top: 0; left: 0;
    display: none;
}
.souvenir_pick_up_box .thum_box .list div:hover::before,
.souvenir_pick_up_box .thum_box .list div.active::before{
    display: block;
}
.souvenir_pick_up_box .thum_box .list div span{
    padding: 1vw 0;
    background: rgba(0, 0, 0, 0.58);
    display: block;
    font-size: 2.3vw;
    font-weight: 500;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
}


/* facilities
   ================================================================== */

.facilities_kv{
    padding: 4vw;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16) inset;
}
.facilities_kv h2{
    width: 57vw;
    margin: 0 auto;
    font-size: 0;
    line-height: 0;
}
.facilities{
    padding-bottom: 20vw;
}
.facilities .info_box .text_box .btn{
    margin-top: 6vw;
}
.facilities .info_box .text_box .price_box{
    margin-top: 6vw;
    padding: 3vw 6vw;
    background: #EBEBEB;
    border-radius: 15vw;
    display: flex;
    align-items: flex-start;
}
.facilities .info_box .text_box .price_box .icon{
    width: 17vw;
    background: #ED4343;
    border-radius: 5vw;
    font-weight: 700;
    font-size: 3.8vw;
    color: #FFF;
    text-align: center;
}
.facilities .info_box .text_box .price_box .text{
    width: calc(100% - 17vw);
    padding-left: 4vw;
    font-weight: 700;
    font-size: 4vw;
    line-height: 1.5;
}
.facilities .info_box .text_box .price_box .text big{
    font-size: 4.2vw;
}
.facilities .info_box .text_box .price_box .text small{
    font-size: 3vw;
}


/* workshop
   ================================================================== */

.workshop{
    padding: 4vw 0 20vw 0;
}
.workshop .top_caution{
}
.workshop .top_caution p{
}
.workshop .top_caution p strong{
    color: #ED4343;
}
.workshop .top_caution p a{
    text-decoration: underline;
}
.workshop .info_box .title_box{
}
.workshop_tag{
    padding-bottom: 2vw;
    text-align: left;
}
.workshop_tag div{
    padding: 0.2vw 5vw;
    background: #ED4343;
    border-radius: 5vw;
    display: inline-block;
    font-weight: 700;
    font-size: 3vw;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
}
.workshop .info_box .text_box .btn{
    margin-top: 4vw;
}
/*.workshop .info_box .thum_box .list div{
    pointer-events: none;
}
.workshop .info_box .thum_box .list div.active::before{
    display: none;
}*/


/* access
   ================================================================== */

.access{
    padding-bottom: 20vw;
    letter-spacing: 0.1em;
}
.access_box{
    padding-top: 12vw;
}
.access_box.car{
}
.access_box .box_title{
    padding: 2vw 0 2vw 3vw;
    border-left: 2vw solid #ED4343;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 6vw;
    line-height: 1;
}
.car_box{
}
.car_box .right{
    margin-top: 6vw;
}
.car_box .top_title{
    font-size: 3vw;
    color: #ED4343;
}
.car_box .top_title span{
    margin-right: 2vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 5vw;
    color: #ED4343;
}
.car_box .address{
    margin-top: 3vw;
}
.car_inner{
}
.car_box .item{
    margin-top: 4vw;
    padding: 4vw;
    background: #F4F4F4;
}
.car_box .title_box{
    display: flex;
    align-items: center;
}
.car_box .num{
    width: 7vw;
    height: 7vw;
    background: #ED4343;
    border-radius: 3.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    line-height: 1;
    color: #FFF;
}
.car_box .title{
    width:  calc(100% - 7vw);
    padding-left: 3vw;
    font-weight: 700;
    font-size: 4.5vw;
}
.car_box p{
    margin-top: 4vw;
}
.car_box .left{
    margin-top: 6vw;
}
.access_box.car_navi{
    margin-top: 6vw;
    padding: 4vw;
    border: 1px solid #FF0000;
    border-radius: 35px;
}
.car_navi .top_title{
    padding-left: 10vw;
    display: flex;  
    position: relative;
    font-weight: 700;
    font-size: 4.5vw;
    color: #ED4343;
}
.car_navi .top_title::before{
    content: "！";
    width: 7vw;
    height: 7vw;
    background: #ED4343;
    border-radius: 3.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute; top: 0; left: 0;
    font-weight: 700;
    line-height: 1;
    color: #FFF;
}
.car_navi .top_text{
    margin-top: 4vw;
}
.car_navi_box{
}
.car_navi_box .item{
    margin-top: 8vw;
}
.car_navi_box .title{
    font-weight: 700;
    font-size: 4.5vw;
}
.car_navi_box p{
    margin-top: 4vw;
}
.car_navi_box p span{
    color: #ED4343;
}
.access_box.bus{
}
.bus_box{
    padding-top: 2vw;
}
.bus_box .item{
    margin-top: 4vw;
    padding: 4vw;
    background: #F4F4F4;
}
.bus_box .title{
    font-weight: 700;
    font-size: 4.5vw;
}
.bus_box p{
    margin-top: 4vw;
}
.access_box.info .table_box{
    margin-top: 8vw;
}
.access_box.info .table_box .mail_btn{
    width: 80%;
    margin: 6vw auto 0 auto;
}
.access_box.info .table_box .mail_btn > a{
    padding: 3vw 7vw;
    background: #222;
    border-radius: 100px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}
.access_box.info .table_box .mail_btn .left_icon{
    margin: auto;
    width: 7vw;
    left: 8vw;
    top: 0;
    bottom: 0;
    position: absolute;
    filter: brightness(0) saturate(100%) invert(91%) sepia(34%) saturate(0%) hue-rotate(44deg) brightness(104%) contrast(100%);
}
.access_box.info .table_box .mail_btn .arrow{
    margin: auto;
    background-image: url("../images/common/icon_arrow.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    width: 3vw;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5vw;
    filter: brightness(0) saturate(100%) invert(91%) sepia(34%) saturate(0%) hue-rotate(44deg) brightness(104%) contrast(100%);
}
.access_box.info .table_box .mail_btn > a span{
    padding: 0 0 0;
    font-size: 4.5vw;
    line-height: 120%;
    font-weight: 700;
    color: #FFF;
}


/* business
   ================================================================== */

.business_top_block{
    padding: 10vw 0;
    letter-spacing: 0.1em;
}
.business_top_block .center_text{
    margin-top: 6vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 4vw;
    line-height: 1.8;
    text-align: center;
}
.business_top_block .box{
    padding-top: 3vw;
}
.business_top_block .item{
    margin-top: 7vw;
}
.business_top_block .num{
    width: 8vw;
    height: 8vw;
    margin: 0 auto;
    background: #ED4343;
    border-radius: 4vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 4.2vw;
    color: #FFF;
}
.business_top_block .title{
    margin-top: 4vw;
    font-weight: 500;
    font-size: 4.2vw;
    text-align: center;
}
.business_top_block .thum{
    margin-top: 4vw;
}
.business_top_block p{
    padding: 4vw 4vw 0 4vw;
}

.business_cta{
    padding: 6vw 0 4vw 0;
    background: #ED4343;
    letter-spacing: 0.1em;
}
.business_cta .catch{
    font-weight: 700;
    color: #FFF;
    text-align: center;
}
.business_cta .box{
}
.business_cta .tel{
}
.business_cta .number{
    font-weight: 700;
    text-align: center;
}
.business_cta .number a{
    font-size: 8vw;
    line-height: 1.5;
    color: #FFF;
    letter-spacing: 0.05em;
}
.business_cta .time{
    font-weight: 700;
    font-size: 4.5vw;
    color: #FFF;
    text-align: center;
}
.business_cta .mail_btn{
    margin-top: 6vw;
}
.business_cta .mail_btn > a{
    padding: 3vw 7vw;
    background: #222;
    border-radius: 100px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}
.business_cta .mail_btn .left_icon{
    margin: auto;
    width: 7vw;
    left: 8vw;
    top: 0;
    bottom: 0;
    position: absolute;
    filter: brightness(0) saturate(100%) invert(91%) sepia(34%) saturate(0%) hue-rotate(44deg) brightness(104%) contrast(100%);
}
.business_cta .mail_btn .arrow{
    margin: auto;
    background-image: url("../images/common/icon_arrow.svg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
    width: 3vw;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5vw;
    filter: brightness(0) saturate(100%) invert(91%) sepia(34%) saturate(0%) hue-rotate(44deg) brightness(104%) contrast(100%);
}
.business_cta .mail_btn > a span{
    padding: 0 0 0;
    font-size: 4.5vw;
    line-height: 120%;
    font-weight: 700;
    color: #FFF;
}

.business_original{
    padding-top: 10vw;
    letter-spacing: 0.1em;
}
.business_original .box{
}
.business_original .item{
    margin-top: 8vw;
}
.business_original .thum{
    width: 15vw;
}
.business_original .detail{
    margin-top: -15vw;
}
.business_original .title{
    min-height: 15vw;
    padding-left: 19vw;
    font-weight: 700;
}
.business_original p{
    margin-top: 2vw;
}

.business_flow{
    padding-top: 10vw;
    letter-spacing: 0.1em;
}
.business_flow .box{
    padding-top: 6vw;
}
.business_flow .item{
    margin-top: 8vw;
    display: flex;
    justify-content: center;
}
.business_flow .item:first-child{
    margin-top: 0;
}
.business_flow .thum{
    width: 25vw;
    position: relative;
    line-height: 0;
}
.business_flow .thum img{
    position: relative;
    z-index: 1;
}
.business_flow .thum::before{
    content: "";
    width: 1px;
    height: 12vw;
    background: #ACACAC;
    position: absolute; top: -12vw; left: 50%;
    transform: translateX(-50%);
}
.business_flow .item:first-child .thum::before{
    display: none;
}
.business_flow .detail{
    width: 45vw;
}
.business_flow .num{
    width: 7vw;
    height: 7vw;
    margin: 0 auto;
    background: #F6E2DC;
    border-radius: 3.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 4.2vw;
}
.business_flow .title{
    margin-top: 1vw;
    font-weight: 900;
    text-align: center;
}
.business_flow p{
    margin-top: 1vw;
    font-size: 3.4vw;
    line-height: 1.5;
    text-align: center;
}
.business_flow.business_flow_2 .item:nth-child(1) .num{
    background: #DCEBF6;
}
.business_flow.business_flow_2 .item:nth-child(2) .num{
    background: #C6E9F3;
}
.business_flow.business_flow_2 .item:nth-child(3) .num{
    background: #ABD8F0;
}
.business_flow.business_flow_2 .item:nth-child(4) .num{
    background: #8ECFF7;
}
.business_flow.business_flow_2 .item:nth-child(5) .num{
    background: #72B8EA;
}

.business_slide{
    padding: 12vw 0 10vw 0;
    letter-spacing: 0.1em;
}
.business_slide .top_title{
    width: 40vw;
    margin: 0 auto;
    padding: 1vw;
    background: #222;
    font-weight: 500;
    color: #FFF;
    text-align: center;
}
.business_slide .box{
    margin-top: 6vw;
    display:flex;
}
.business_slide .item{
    width:90vw;
    margin-right:4vw;
    padding: 2vw 4vw;
    flex-shrink:0;
    background: #F7F4F4;
}
.business_slide .title{
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 3wv;
    color: #ED4343;
    text-align: center;
    letter-spacing: 0.2em;
}
.business_slide .thum{
    margin-top: 2vw;
}
.business_slide p{
    margin-top: 1vw;
    font-family: 'Noto Serif JP';
    font-weight: 700;
    font-size: 2.6wv;
    line-height: 1.5;
    color: #ED4343;
    text-align: center;
    letter-spacing: 0.2em;
}
.business_slide .name{
    margin-top: 2vw;
    font-size: 4.2vw;
    text-align: center;
}

.business_contact{
    background: #F4F4F4;
    letter-spacing: 0.1em;
}
.business_contact .box{
}
.business_contact .item{
    padding: 8vw 0;
    border-bottom: 1px solid #ED4343;
}
.business_contact .item:last-child{
    border-bottom: none;
}
.business_contact .text_box{
}
.business_contact .title{
    font-family: 'Noto Serif JP';
    font-weight: 500;
    font-size: 6vw;
}
.business_contact p{
    margin-top: 2vw;
}
.business_contact .anime_btn{
    margin-top: 2vw;
}

.business_faq{
    padding: 12vw 0;
}


/* school
   ================================================================== */

.school_contents{
    padding: 10vw 0;
    letter-spacing: 0.1em;
}
.school_contents.school_contents_2{
    padding-top: 0;
}
.school_contents .top_text{
    margin-top: 4vw;
    line-height: 2;
}
.school_contents .list{
    margin-top: 4vw;
    padding: 4vw;
    background: #F8F8F8;
}
.school_contents .list div{
    line-height: 2;
}
.school_contents .thum{
    margin-top: 4vw;
}
.school_contents .box{
    margin-top: 4vw;
}
.school_contents .detail{
    padding: 0 4vw;
}
.school_contents .title{
    padding-left: 3vw;
    font-weight: 500;
    font-size: 4.2vw;
}
.school_contents .text{
    margin-top: 2vw;
    padding: 4vw;
    background: #F7F7DF;
    font-size: 3.4vw;
    line-height: 2;
}
.school_contents .slide_box{
    margin-top: 4vw;
    position: relative;
}
.school_contents .slide_box .control{
    margin: 2vw 0 0;
    height: 4vw;
    position: relative;
}
.school_contents .slide_box .swiper-pagination{
    margin: 0 auto;
    padding: 0 0 0;
    width: 100%;
    height: 100%;
    bottom: auto !important;
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.school_contents .slide_box .swiper-pagination-bullet{
    margin: 0 1vw 0 !important;
    width: 2vw;
    height: 2vw;
    display: inline-block;
    border-radius: 1vw;
    background: #E8E8E8;
    opacity: 1;
    box-sizing: border-box;
}
.school_contents .slide_box .swiper-pagination-bullet-active{
    background: #D95F61;
}


/* article
   ================================================================== */

.article_pick_up{
    padding-top: 10vw;
    letter-spacing: 0.1em;
}
.article_pick_up h3{
    font-weight: 700;
    font-size: 5vw;
    color: #0F0F0F;
    text-align: center;
}
.article_pick_up_slider{
    margin: 4vw 4vw 0 4vw;
}
.article_pick_up .swiper-slide{
}
.article_pick_up .swiper-slide a{
    display: block;
    position: relative;
    line-height: 0;
}
.article_pick_up .swiper-slide a img{
    width: 100%;
    height: 60vw;
    object-fit: cover;
}
.article_pick_up .swiper-slide span{
    padding: 1vw 3vw;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 10vw;
    position: absolute; top: 2vw; left: 2vw;
    font-size: 2vw;
    line-height: 1.5;
    text-align: center;
}
.article_pick_up .swiper-slide p{
    width: 100%;
    padding: 1.5vw 2vw;
    background: rgba(0, 0, 0, 0.5);
    position: absolute; bottom: 0; left: 0;
    color: #FFF;
    line-height: 1.5;
}
.article_pick_up .control{
    margin: 1vw 0 0;
    height: 4vw;
    position: relative;
}
.article_pick_up .swiper-pagination{
    margin: 0 auto;
    padding: 0 0 0;
    width: 100%;
    height: 100%;
    bottom: auto !important;
    position: relative;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.article_pick_up .swiper-pagination-bullet{
    margin: 0 2vw 0 !important;
    width: 2vw;
    height: 2vw;
    display: inline-block;
    border-radius: 1vw;
    background: #D3D3D3;
    opacity: 1;
    box-sizing: border-box;
}
.article_pick_up .swiper-pagination-bullet-active{
    background: #3498DB;
}

.article_list{
    padding: 10vw 0 12vw 0;
    letter-spacing: 0.1em;
}
.article_list h3{
    font-weight: 700;
    font-size: 5vw;
    color: #0F0F0F;
    text-align: center;
}
.category_list{
}
.article_list .box{
    display: flex;
    flex-wrap: wrap;
    gap: 4vw;
}
.article_list .item{
    width: 44vw;
    margin-top: 4vw;
}
.article_list .item:first-child{
    width: 100%;
}
.article_list .thum_box{
    position: relative;
}
.article_list .thum{
    line-height: 0;
}
.article_list .thum a{
    display: block;
    line-height: 0;
}
.article_list .thum img{
    width: 100%;
    height: 44vw;
    object-fit: cover;
}
.article_list .thum_box span{
    position: absolute; top: 2vw; right: 2vw;
}
.article_list .thum_box span a{
    padding: 1vw 3vw;
    background: #5191AD;
    border-radius: 10vw;
    display: block;
    font-weight: 700;
    font-size: 2vw;
    color: #FFF;
    line-height: 1.5;
    text-align: center;
}
.article_list .thum_box span.COLUMN a{
    background: #D6AE2A;
}
.article_list .thum_box span.NEWS a{
    background: #D95F62;
}
.article_list .date{
    margin-top: 1vw;
    font-size: 3.4vw;
}
.article_list .item:first-child .date::after{
    content: "NEW";
    margin-left: 2vw;
    color: #ED4343;
}
.article_list .title{
    margin-top: 1vw;
}
.article_list .title a{
    font-size: 3.4vw;
    line-height: 1.7;
}

.pagination{
    margin-top: 8vw;
    display: flex;
    justify-content: center;
    gap: 3vw;
}
.pagination span,
.pagination a{
    width: 8vw;
    height: 8vw;
    border: 1px solid #ED4343;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    font-size: 5vw;
    color: #ED4343;
}
.pagination span{
    background: #ED4343;
    color: #FFF;
}
.pagination a:first-child,
.pagination a:last-child{
    border-radius: 10vw;
}
.pagination a svg {
    width: 6vw;
}

.article_block{
    padding: 10vw 0 12vw 0;
    letter-spacing: 0.1em;
}
.article_box{
}
.article_box .date_box{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.article_box .tag{
    display: flex;
}
.article_box .tag span{
    margin-right: 2vw;
}
.article_box .tag span a{
    padding: 1vw 3vw;
    background: #5191AD;
    border-radius: 10vw;
    display: block;
    font-weight: 700;
    font-size: 3vw;
    color: #FFF;
    line-height: 1.5;
    text-align: center;
}
.article_box .tag span.COLUMN a{
    background: #D6AE2A;
}
.article_box .tag span.NEWS a{
    background: #D95F62;
}
.article_box .date{
    font-size: 3vw;
}
.article_box .title{
    margin-top: 2vw;
    font-weight: 700;
    font-size: 5.5vw;
    line-height: 1.5;
}
.article_box .main_image{
    margin-top: 2vw;
}
.article_detail{
    margin-top: 2vw;
}
.article_detail a{
    color: #0840D6;
    text-decoration: underline;
}
.article_detail a:hover{
    text-decoration: none;
}
.article_btn{
    margin-top: 8vw;
    display: flex;
    justify-content: center;
}
.article_btn div{
    margin: 0 0.5vw;
}
.article_btn div a{
    padding: 2vw 3vw;
    background: #A5A5A5;
    border-radius: 10vw;
    font-weight: 700;
    font-size: 3.4vw;
    line-height: 1.5;
    color: #FFF;
    text-align: center;
}
.article_btn div.back a{
    background: #000;
}
.article_btn div a img{
    display: none;
}

.article_block .new_article{
    margin-top: 12vw;
}
.article_block .new_article{
}
.article_block .new_article h3{
    padding: 2vw 4vw;
    background: #ED4343;
    font-weight: 700;
    font-size: 3.6vw;
    color: #FFF;
}
.article_block .new_article .list{
    border-left: 1px solid #A8A8A8;
    border-right: 1px solid #A8A8A8;
}
.article_block .new_article .item{
    padding: 3vw;
    border-bottom: 1px solid #A8A8A8;
    position: relative;
}
.article_block .new_article .item:nth-child(n + 2){
    display: flex;
    justify-content: space-between;
}
.article_block .new_article .thum_box{
    line-height: 0;
    position: relative;
}
.article_block .new_article .item:nth-child(n + 2) .thum_box{
    width: 30vw;
}
.article_block .new_article .thum_box a{
    line-height: 0;
}
.article_block .new_article .thum{
    line-height: 0;
}
.article_block .new_article .thum img{
    width: 100%;
    object-fit: cover;
    line-height: 0;
}
.article_block .new_article .item:first-child .thum img{
    height: 30vw;
}
.article_block .new_article .item:nth-child(n + 2) .thum_box .thum img{
    height: 25vw;
}
.article_block .new_article .item span{
    position: absolute; top: 3vw; left: 36vw;
}
.article_block .new_article .item:first-child span{
    top: 5vw; left: 5vw;
}
.article_block .new_article .item span a{
    padding: 1vw 3vw;
    background: #5191AD;
    border-radius: 10vw;
    display: block;
    font-weight: 700;
    font-size: 2vw;
    color: #FFF;
    line-height: 1.5;
    text-align: center;
}
.article_block .new_article .item span.COLUMN a{
    background: #D6AE2A;
}
.article_block .new_article .item span.NEWS a{
    background: #D95F62;
}
.article_block .new_article p{
    margin-top: 1vw;
    font-size: 3vw;
    line-height: 1.5;
}
.article_block .new_article .item:nth-child(n + 2) p{
    width: calc(100% - 30vw);
    margin-top: 7vw;
    padding-left: 3vw;
    box-sizing: border-box;
}
.article_block .new_article p a{
    font-size: 3vw;
    line-height: 1.5;
}


/* faq
   ================================================================== */

.faq_top_text{
}
.faq_top_text p{
}

.faq_block{
    padding-bottom: 20vw;
}
.faq_box{
}
.faq_box .item{
    margin-top: 4vw;
    padding-top: 10vw;
}
.faq_box .item:first-child{
    margin-top: 0;
}
.faq_box .title{
    height: 11vw;
    background: #ED4343;
    border-radius: 5.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4.5vw;
    font-weight: 500;
    color: #FFF;
    text-align: center;
    letter-spacing: 0.1em;
}
.faq{
    padding-top: 2vw;
}
.faq_inner{
    margin-top: 4vw;
    padding-bottom: 4vw;
    border-bottom: 1px dotted #707070;
}
.faq_inner .q{
    cursor: pointer;
    position: relative;
}
.faq_inner .q::before{
    content: "Q";
    width: 8vw;
    height: 8vw;
    background: #ED4343;
    border-radius: 4vw;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute; top: 0; left: 0;
    font-size: 4.5vw;
    line-height: 7vw;
    font-weight: 500;
    color: #FFF;
    text-align: center;
}
.faq_inner .q::after{
    content: "＋";
    width: 6vw;
    height: 6vw;
    background: #E65757;
    border-radius: 3vw;
    position: absolute; top: 1vw; right: 0;
    color: #FFF;
    text-align: center;
}
.faq_inner .q.active::after{
    content: "－";
    background: #858585;
}
.faq_inner .q p{
    padding: 0 8vw 0 12vw;
    font-size: 4.5vw;
    line-height: 1.7;
    font-weight: 700;
    color: #242424;
}
.faq_inner .a{
    margin-top: 4vw;
    position: relative;
    display: none;
}
.faq_inner .a::before{
    content: "A";
    width: 8vw;
    height: 8vw;
    background: transparent;
    border-radius: 4vw;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute; top: 0; left: 0;
    font-size: 4.5vw;
    line-height: 7vw;
    font-weight: 500;
    color: #ED4343;
    text-align: center;
}
.faq_inner .a p{
    padding-left: 12vw;
    color: #000;
    overflow-wrap: break-word;
}
.faq_inner .a p strong{
    font-size: 4.5vw;
    font-weight: 700;
    color: #ED4343;
}
.faq_inner .a p a{
    color: #0840D6;
    text-decoration: underline;
}
.faq_inner .a p a.link_black{
    color: #000;
}
.faq_inner .a p a.link_bold{
    font-weight: 700;
}


/* corporate
   ================================================================== */

.corporate_block{
    padding-bottom: 20vw;
    letter-spacing: 0.1em;
}
.corporate_box{
}
.corporate_box .item{
    margin-top: 11vw;
}
.corporate_box .item:first-child{
    margin-top: 8vw;
}
.corporate_box .title{
    padding: 4vw 0;
    border-bottom: 1px solid #000;
    font-family: 'Noto Serif JP';
    font-size: 5.5vw;
    font-weight: 500;
    color: #000;
    text-align: center;
}
.corporate_box .table_box{
    padding-top: 5vw;
}


/* privacy
   ================================================================== */

.privacy_block{
    padding: 10vw 0 20vw 0;
    letter-spacing: 0.1em;
}
.privacy_block .top_text{
    font-size: 4vw;
}
.privacy_box{
}
.privacy_box .item{
    margin-top: 10vw;
}
.privacy_box .item:first-child{
    margin-top: 8vw;
}
.privacy_box .title{
    font-size: 5vw;
    font-weight: 500;
}
.privacy_box p{
    margin-top: 4vw;
}


/* contact
   ================================================================== */

.contact_block{
    padding: 10vw 0 20vw 0;
    letter-spacing: 0.1em;
}
.contact_block .top_text{
    margin-bottom: 8vw;
}
.contact_box{
}
.contact_box .item{
    margin-top: 8vw;
}
.contact_box .title{
    font-weight: 500;
    font-size: 4.2vw;
}
.contact_box .title span{
    color: #ED4343;
}
.contact_box .input{
    margin-top: 3vw;
}
input[type="text"],
input[type="date"],
input[type="tel"],
input[type="email"],
textarea,
select,
button{
    -webkit-appearance: none;
    line-height: 1.5;
}
input[type="text"],
input[type="date"],
input[type="tel"],
input[type="email"],
textarea,
select{
    width: 100%;
    background: #F8F8F8;
    border: none;
    border-radius: 14px;
    outline: none;
    color: #222;
    padding: 2vw 3vw;
    font-size: 4vw;
    box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"],
label,
button{
    cursor: pointer;
}
label a{
    color: #0075a9;
    text-decoration: underline;
}
input::placeholder,
input:-ms-input-placeholder,
input::-ms-input-placeholder {
    color: #CCC;
}
.contact_privacy{
    height: 50vw;
    overflow-y: auto;
    margin-top: 8vw;
    padding: 3vw;
    border: 1px solid #707070;
}
.contact_privacy div{
}
.contact_privacy_check{
    margin-top: 4vw;
    text-align: center;
}
.contact_box .btn_box{
    margin-top: 8vw;
}


/* thanks
   ================================================================== */

.thanks_block{
    padding: 10vw 0 20vw 0;
    letter-spacing: 0.1em;
}
.form_step{
    display: flex;
    justify-content: space-between;
    position: relative;
}
.form_step::before{
    content: "";
    width: 100%;
    height: 0;
    border-top: 2px dotted #ED4343;
    position: absolute; top: 50%; left: 0;
    z-index: -1;
    transform: translateY(-50%);
}
.form_step .item{
    height: 10vw;
    padding: 0 3vw 0 2vw;
    background: #F8E7E7;
    border-radius: 5vw;
    display: flex;
    align-items: center;
}
.form_step .item.active{
    background: #ED4343;
}
.form_step .num{
    width: 6vw;
    height: 6vw;
    margin-right: 2vw;
    background: #FFF;
    border-radius: 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.4vw;
    font-weight: 700;
    line-height: 6vw;
    color: #ED4343;
}
.form_step p{
    font-size: 3.4vw;
    font-weight: 500;
    color: #F47A7A;
}
.form_step .item.active p{
    color: #FFF;
}
.thanks_box{
    margin: 12vw 3vw 0 3vw;
    padding: 6vw 4vw;
    border: 3px solid #ED4343;
    border-radius: 13px;
    text-align: center;
}
.thanks_box .title{
    font-size: 5vw;
    font-weight: 700;
    line-height: 1.7;
    color: #ED4343;
}
.thanks_box p{
    margin-top: 4vw;
}
.thanks_box .back_btn{
    margin-top: 4vw;
    display: flex;
    justify-content: center;
}
.thanks_box .back_btn a{
    width: 50vw;
    height: 12vw;
    background: #222;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 3.8vw;
    font-weight: 700;
    color: #FFF;
    text-align: center;
}
.thanks_box .back_btn a .arrow{
    width: 3vw;
    position: absolute; top: 50%; right: 7vw;
    transform: translateY(-50%);
    fill: #FFF;
}



@media screen and (min-width : 500px){


    /* under_kv
       ================================================================== */
    .under_kv{
        margin: 0 0 0;
    }

    /* under_kv_top */
    .under_kv_top .inner{
        height: 19.0vw;
    }

    .under_kv_top .inner:before{
        width: 65.3vw;
    }

    /* page_title */
    .page_title .eng{
        font-size: 1.6vw;
        letter-spacing: 0.20em;
    }

    .page_title .jpn{
        margin: .6vw 0 0;
        font-size: 2.8vw;
    }
    .page_title .jpn small{
        margin-top: 1.5vw;
        font-size: 2.4vw;
    }
    .page_title .jpn big{
        font-size: 3.4vw;
    }
    .page_title .cat{
        font-size: 2.6vw;
    }
    
    /* under_kv_wide */
    .under_kv_wide{
        position: relative;
    }

    .under_kv_wide .kv_photo:after{
        height: 18.0vw;
    }

    .under_kv_wide .inner{
        padding-top: 6.8vw;
        height: 72.4vw;
    }

    .under_kv_wide .page_title .eng{
        font-size: 1.6vw;
    }

    .under_kv_wide .page_title .jpn{
        margin: .8vw 0 0;
        font-size: 2.8vw;
    }

    .under_kv_wide .center_txt{
        margin: 7.4vw auto 0;
    }

    .under_kv_wide .center_txt .ttl{
        font-size: 2.4vw;
        letter-spacing: 0.6em;
    }

    .under_kv_wide .center_txt .txt01,
    .under_kv_wide .center_txt .txt02{
        margin: 4.0vw 2.4vw 0 0;
        font-size: 1.7vw;
    }

    .under_kv_wide .center_txt .txt02{
        margin: 10.0vw 0 0 0;
    }

    .under_kv_wide .bottom_txt{
        margin: 3.0vw auto 0;
        display: block;
        font-size: 1.4vw;
        line-height: 2.4vw;
        text-align: center;
        color: #fff;
    }

    /* plan_kv */
    .plan_kv{
        position: relative;
    }

    .plan_kv .inner{
        height: 50.0vw;
    }

    .plan_kv .text_box{
        padding: 5.0vw 0 0;
        width: 45.3vw;
        right: 2.5vw;
        align-items: flex-start;
    }

    .plan_kv .page_title .jpn{
        font-size: 5.5vw;
        letter-spacing: .3em;
    }

    .plan_kv .page_title .eng{
        margin: 2.3vw 0 0;
        font-size: 2.4vw;
    }

    .plan_kv .catch{
        padding: 5.0vw 0 0;
        font-size: 2.0vw;
    }


    /* plan
       ================================================================== */

    .plan_top_title .icon{
        width: 24vw;
    }
    .plan_top_title h3{
        width: 24vw;
        margin-top: 1.5vw;
        font-size: 2vw;
    }

    .plan_contents_title{
        flex-flow: row;
    }
    .plan_contents_title .num{
        font-size: 6.6vw;
    }
    .plan_contents_title .num::before{
        width: 8.3vw;
        height: 2.15vw;
    }
    .plan_contents_title .title_box{
        margin-left: 4vw;
    }
    .plan_contents_title .title{
        font-size: 2.8vw;
    }
    .plan_contents_title .small{
        margin-top: 0.4vw;
        font-size: 1.6vw;
    }
    .plan_contents_title p{
        margin: 0 0 0 4vw;
        padding-left: 4vw;
        border-left: 2px solid #000;
    }

    .plan_top{
        padding: 3.3vw 0 6vw 0;
    }
    .plan_top .box{
        padding-top: 6vw;
        display: flex;
        justify-content: space-between;
    }
    .plan_top .box .item{
        width: 29vw;
        margin-top: 0;
    }
    .plan_top .box .item:first-child{
        margin-top: 0;
    }
    .plan_top .box .thum{
        height: 29vw;
    }
    .plan_top .box .thum img{
        height: 29vw;
        object-fit: cover;
    }
    .plan_top .box .title{
        margin-top: 1.3vw;
        font-size: 2.4vw;
    }
    .plan_top .box p{
        margin-top: 1.4vw;
        font-size: 1.4vw;
    }
    .plan_top .anime_btn{
        margin-top: 3vw;
    }

    .plan_contents_2{
        padding: 6vw 0 7vw 0;
    }

    .plan_contents_2 .box{
    }
    .plan_contents_2 .box .item{
        margin-top: 6vw;
        display: flex;
    }
    .plan_contents_2 .box .item:first-child{
        margin-top: 4vw;
    }
    .plan_contents_2 .box .item:nth-child(even){
        flex-flow: row-reverse;
    }
    .plan_contents_2 .box .thum{
        width: 60vw;
    }
    .plan_contents_2 .box .cloud{
        width: 55vw;
        margin: 3vw 0 0 -5vw;
        position: relative;
        z-index: 1;
    }
    .plan_contents_2 .box .item:nth-child(even) .cloud{
        margin: 3vw -5vw 0 0;
    }

    .plan_cocoon{
        padding-top: 6vw;
    }
    .plan_cocoon .balloon{
        width: 40vw;
        margin: 0 auto;
        padding: 0.8vw;
        font-size: 1.6vw;
    }
    .plan_cocoon .title{
        margin-top: 1vw;
        font-size: 2.8vw;
    }
    .plan_cocoon .title small{
        font-size: 2.2vw;
    }
    .plan_cocoon .thum{
        margin-top: 2.2vw;
    }
    .plan_cocoon p{
        margin-top: 1.7vw;
        text-align: center;
    }
    .plan_cocoon .price_box{
        width: 54vw;
        margin: 1vw auto 0 auto;
        padding: 1vw 1.5vw;
        align-items: center;
    }
    .plan_cocoon .icon{
        padding: 0.5vw 1vw;
        font-size: 1.4vw;
    }
    .plan_cocoon .text{
        padding-left: 1vw;
        letter-spacing: 0.03em;
    }
    .plan_cocoon .text big{
        font-size: 1.8vw;
    }
    .plan_cocoon .text small{
        font-size: 1.4vw;
    }

    .plan_contents_3{
        padding: 6.4vw 0 6vw 0;
    }
    .plan_contents_3 .box{
        padding-top: 4.3vw;
        display: flex;
        justify-content: space-between;
    }
    .plan_contents_3 .box .ice{
        width: 43%;
        margin: 0;
    }
    .plan_contents_3 .box .detail{
        width: 55%;
    }
    .plan_contents_3 .box .title{
        margin-top: 0;
        padding: 2vw 0 0 2.8vw;
        font-size: 2.4vw;
    }
    .plan_contents_3 .box .title::before{
        width: 2.9vw;
        height: 3.1vw;
        top: 0; left: 0;
    }
    .plan_contents_3 .box .text_box{
        margin-top: -2vw;
        display: flex;
        align-items: center;
    }
    .plan_contents_3 .box .acc{
        width: 18.5vw;
        transform: rotate(-30deg);
    }
    .plan_contents_3 .box p{
        width: calc(100% - 20.5vw);
        margin-left: -2vw;
        font-size: 1.8vw;
    }
    .plan_contents_3 .box .thum{
        margin-top: -1vw;
    }
    .plan_contents_3.family_contents_3 .box{
        padding-top: 6vw;
        display: block;
    }
    .plan_contents_3.family_contents_3 .box .detail{
        width: 100%;
        padding: 4vw 0 0 4vw;
        display: flex;
        flex-flow: row-reverse;
        align-items: center;
        justify-content: flex-end;
    }
    .plan_contents_3.family_contents_3 .box .cloud{
        width: 46.2vw;
        margin: 0 0 0 -4vw;
    }
    .plan_contents_3.family_contents_3 .box .thum{
        width: 34vw;
        margin: 0;
    }
    .plan_contents_3.family_contents_3 .box .acc{
        width: 18.5vw;
        transform: rotate(0);
        top: 55%; right: 10vw;
        transform: translateY(-50%);
    }

    .plan_souvenir{
        padding: 6vw 0;
    }
    .plan_souvenir .box{
        width: auto;
        margin: 0;
        padding-top: 6.3vw;
        display: flex;
        justify-content: space-between;
    }
    .plan_souvenir .box .item{
        width: 28vw;
        margin-top: 0;
    }
    .plan_souvenir .box .title{
        margin-top: 3.2vw;
        font-size: 2.4vw;
    }
    .plan_souvenir .box p{
        margin-top: 1.1vw;
        font-size: 1.8vw;
    }

    .couple_page .plan_contents_2 .full_thum{
        margin-top: 2.3vw;
    }
    .plan_contents_3.couple_contents_3 .box{
        padding-top: 5.7vw;
        display: flex;
        justify-content: space-between;
    }
    .plan_contents_3.couple_contents_3 .box .item{
        width: 46vw;
        margin-top: 0;
    }
    .plan_contents_3.couple_contents_3 .box .title{
        width: 31.7vw;
    }
    .plan_contents_3.couple_contents_3 .box .thum{
        margin-top: -3.5vw;
    }
    .plan_contents_3.couple_contents_3 .cloud{
        width: 55.4vw;
        margin: -6vw auto 0 auto;
    }
    .plan_contents_4.couple_contents_4{
        padding: 4vw 0 8vw 0;
    }
    .plan_contents_4.couple_contents_4 .box{
        margin-top: 6vw;
        display: flex;
        justify-content: flex-start;
    }
    .plan_contents_4.couple_contents_4 .image{
        width: 56.8vw;
    }
    .plan_contents_4.couple_contents_4 .detail{
        width: 27.7vw;
        margin-left: 2.2vw;
    }
    .plan_contents_4.couple_contents_4 .thum{
        width: 100%;
        position: static;
    }
    .plan_contents_4.couple_contents_4 .cloud{
        width: 46.6vw;
        margin: 0;
        position: absolute; bottom: -4.9vw; right: -10vw;
    }


    /* pankz
       ================================================================== */
    .pankz_block{
        display: block;
    }

    .pankz{
        padding: 1.0vw 2.5vw 0;
        box-sizing: border-box;
    }

    .pankz > li{
        margin: 0 2.0vw 1.5vw 0;
    }

    .pankz > li::before{
        width: .6vw;
        height: 2.0vw;
        left: calc(100% + .6vw);
    }

    .pankz > li > span,
    .pankz > li a{
        font-size: 1.4vw;
    }

    .pankz > li a:hover{
        text-decoration: underline;
    }


    /* block_title
       ================================================================== */
    .block_title{
        margin: 0 0 0;
        padding: 0 5.0vw 2.0vw;
    }

    .block_title .first{
        font-size: 2.8vw;
    }

    .block_title .f22{
        font-size: 2.2vw;
        line-height: 3.8vw;
    }

    .block_title .second{
        margin: 1.0vw 0 0;
        font-size: 1.6vw;
    }


    /* line_deco_title
       ================================================================== */
    .line_deco_title > span{
        padding: 0 0 0 5.7vw;
        font-size: 2.4vw;
        line-height: 5.9vw;
    }

    .line_deco_title.center > span:before,
    .line_deco_title.center > span:after,
    .line_deco_title > span:before{
        width: 4.6vw;
        top: 3.0vw;
    }

    .line_deco_title.center > span{
        padding: 0 3.0vw;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
    }

    .kv .video{
        height: 100vh;
    }

    .kv .inner{
        padding-bottom: 20.0vw;
    }

    .kv .inbox .title .eng{
        font-size: 1.8vw;
    }

    .kv .inbox .title .jpn{
        margin: 1.5vw 0 0;
        font-size: 4.0vw;
        line-height: 6.0vw;
    }

    .kv .inbox .text{
        margin: 4.0vw 0 6.0vw;
        font-size: 1.6vw;
        line-height: 5.0vw;
    }


    /* message
       ================================================================== */
    .message{
        margin: 0 0 0;
    }

    .message .time{
        padding: 1.1vw 1.5vw 1.6vw;
        width: 26.3vw;
        position: absolute;
        top: -4.0vw;
        right: 0;
        z-index: 2;
        border-radius: 15px 0 0 15px;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    .message .time .time_box{
        display: block;
    }

    .message .time .ttl{
        padding: .1vw 1.0vw;
        font-size: 1.4vw;
        display: inline-block;
    }

    .message .time p{
        margin: .5vw 0 0
    }

    .message .time p span{
        font-size: 1.6vw;
    }

    .message .time p .siz_l{
        font-size: 1.7vw;
    }

    /* box01 */
    .message .box01{
        padding: 9.4vw 0 9.0vw;
    }

    .message .box01 .title{
        font-size: 4.0vw;
    }

    .message .box01 .title .siz_s{
        font-size: 3.6vw;
    }

    .message .box01 p{
        font-size: 2.2vw;
    }

    .message .box01 .title + p{
        margin: 4.5vw 0 0;
    }

    .message .box01 p + p{
        margin: 1.0vw 0 0;
    }

    /* box02 */
    .message .box02{
        background-image: url("../images/index/webp/message_bg.webp");
    }

    .message .box02:before{
        display: none;
    }

    .message .box02 .text_box{
        margin: 0 0 0 auto;
        padding: 3.3vw 1.0vw 5.0vw 4.0vw;
        width: 50%;
        box-sizing: border-box;
    }

    .message.about_page_block .box02 .text_box{
        padding-top: 6.8vw;
    }

    .message .box02 .certification{
        margin: 0 0 3.2vw;
        display: flex;
        justify-content: flex-start;
    }

    .message .box02 .certification li{
        width: 19.1vw;
    }

    .message .box02 .certification li:nth-child(2){
        margin-left: 4.0vw;
        width: 14.0vw;
    }

    /* message_text */
    .message_text .title + .title{
        margin: 0 0 0;
    }

    .message_text .title > span{
        font-size: 1.8vw;
        line-height: 3.8vw;
    }

    .message_text .title .sub{
        padding-left: 2.0vw;
    }

    .message_text .txt{
        margin: 1.1vw 0 0;
        font-size: 1.6vw;
        line-height: 2.8vw;
    }

    /* movie */
    .message .movie{
        margin: 0 auto;
        padding: 6.0vw 0 10.0vw;
        width: 90.0vw;
        box-sizing: border-box;
    }

    .message .movie .title{
        font-size: 4.0vw;
    }

    .message .movie .title .siz_s{
        font-size: 3.6vw;
    }

    .message .movie .youtube{
        margin: 3.0vw auto 0;
        width: 72.0vw;
    }

    .message .movie .youtube iframe{
        height: 40.0vw;
    }

    .message .movie .block_title{
        margin: 9.0vw 0 0;
    }

    .message .movie p{
        margin: 2.6vw 0 0;
        font-size: 1.6vw;
        line-height: 3.4vw;
    }

    /* box03 */
    .message .box03{
        padding: 6.0vw 0;
    }

    .message .box03 .certification_list{
        margin: 0 auto;
        width: 90.0vw;
        display: flex;
        flex-wrap: wrap;
    }

    .message .box03 .certification_list > li + li{
        margin: 0 0 0;
    }

    .message .box03 .certification_list > li{
        padding: 0 3.5vw;
        width: 50%;
        box-sizing: border-box;
    }

    .message .box03 .certification_list .thm{
        margin: 0 auto;
        width: 21.9vw;
    }

    .message .box03 .certification_list > li:nth-child(2) .thm{
        width: 17.8vw;
    }

    .message .box03 .certification_list .txt{
        margin: 3.0vw 0 0;
    }


    /* index_facilities
       ================================================================== */
    .index_facilities .top{
        background-image: url("../images/index/webp/facilities_bg.webp");
    }

    .index_facilities .top .text_box{
        margin: 0 0 0 auto;
        padding: 10.0vw 0;
        width: 50%;
        min-height: 48.4vw;
        box-sizing: border-box;
    }

    .index_facilities .top .text{
        margin: 2.0vw 0 0;
        font-size: 1.6vw;
        line-height: 4.0vw;
    }

    /* bottom */
    .index_facilities .bottom{
        padding: 6.0vw 0 7.0vw;
    }

    .index_facilities .facilities_slider{
        margin: 0 auto;
        width: 67.7vw;
    }

    .index_facilities .facilities_slider .swiper-slide .card{
        padding: 0 .7vw;
    }

    .index_facilities .bottom .arrow_btn{
        margin: 3.6vw 0 0;
    }


    /* gallery
       ================================================================== */
    .gallery{
        padding: 10.0vw 0;
    }

    .gallery_box{
        margin: 0 auto;
        padding: .4vw 0 1.8vw;
        width: 90.0vw;
        border-bottom: 1px solid #CBCBCB;
    }

    .gallery_box .name{
        padding: 2.0vw 0 0;
        text-align: center;
    }

    .gallery_box .name a{
        fohnt-size: 1.6vw;
    }

    .gallery_list{
        padding: 0;
    }

    .gallery_list > li{
        margin: 1.6vw 1.6vw 0 0;
        width: 16.7vw;
    }

    .gallery_list > li:nth-child(2n+2){
        margin-right: 1.6vw;
    }

    .gallery_list > li:nth-child(5n+5){
        margin-right: 0;
    }

    .gallery_list > li a{
        overflow: hidden;
    }

    .gallery_list > li a img{
        transition: .3s;
    }

    .gallery_list > li a:hover img{
        transform: scale(1.08);
    }


    /* basic_slider
       ================================================================== */
    .basic_slider.pc_show3 .swiper-slide-active + .swiper-slide + .swiper-slide,
    .basic_slider.pc_show3 .swiper-slide-active + .swiper-slide{
        opacity: 1;
    }
    
    .basic_slider .control{
        margin: 2.0vw auto 0;
        width: 69.1vw;
        height: 5.0vw;
    }

    /* swiper-pagination */
    .basic_slider .swiper-pagination{
        margin: 0 auto;
        padding: 0 0 0;
        width: calc(100% - 5.5vw * 2);
    }

    .basic_slider .swiper-pagination-bullet{
        margin: 0 .7vw 0 !important;
        height: .3vw;
    }

    /* arrows */
    .basic_slider .arrows .swiper-button-prev,
    .basic_slider .arrows .swiper-button-next{
        width: 5.0vw;
        height: 5.0vw;
    }


    /* photo_spot
       ================================================================== */
    .photo_spot{
        padding: 10.0vw 0 0;
    }

    .photo_spot .block_title + p{
        margin: 3.0vw 0 0;
        font-size: 1.6vw;
        line-height: 4.0vw;
        text-align: center;
    }

    .photo_spot .photo_spot_slider{
        margin: 4.0vw auto 0;
        width: 95%;
    }

    .photo_spot .photo_spot_slider .swiper-slide .card{
        padding: 0 1.5vw;
    }

    .photo_spot .photo_spot_slider .swiper-slide .card .ttl{
        padding: 1.5vw 0 0;
        font-size: 1.4vw;
    }

    .photo_spot .photo_spot_slider .control{
        margin-top: 4.0vw;
    }


    /* access_block
       ================================================================== */
    .access_block{
        padding: 0 0 15.0vw;
    }

    .access_block .flex_box{
        margin: 2.0vw auto 0;
        display: flex;
        flex-direction: row-reverse;
    }

    .access_block .text_box{
        padding: 0 0 0 3.0vw;
        width: 50%;
        box-sizing: border-box;
    }

    .access_block .text_box .name{
        width: 28.1vw;
    }

    .access_block .text_box .list{
        margin: 2.5vw 0 0;
    }

    .access_block .text_box .list > li{
        margin: 1.4vw 0 0;
    }

    .access_block .text_box .list .ttl .eng{
        font-size: 2.0vw;
        width: 13.2vw;
    }

    .access_block .text_box .list .ttl .jpn{
        margin: 0 0 0;
        font-size: 1.3vw;
        position: relative;
    }

    .access_block .text_box .list .ttl .car_icon{
        margin: 0 .8vw 0 -3.0vw;
        width: 2.2vw;
    }

    .access_block .text_box .list .txt{
        margin: .5vw 0 0;
        font-size: 1.6vw;
        line-height: 3.5vw;
    }

    .access_block .text_box .list .imt_txt{
        margin: 1.1vw 0 0;
    }

    .access_block .text_box .arrow_btn{
        margin: 4.6vw 0 0;
    }

    .access_block .map_box{
        margin: 0 0 0;
        width: 50%;
    }

    .access_block .map_box .frame iframe{
        height: 55.2vw;
    }

    .access_block .map_box .google_btn{
        margin: 1.4vw 0 0;
        text-align: right;
    }


    /* index_topics
       ================================================================== */
    .index_topics{
        padding: 6.6vw 0 4.7vw;
    }

    .index_topics_list{
        margin: 3.0vw auto 0;
        width: 92.0vw;
        display: flex;
        flex-wrap: wrap;
    }

    .index_topics_list > li{
        margin: 2.0vw 2% 0 0;
        width: 32%;
    }

    .index_topics_list > li:nth-child(3n+3){
        margin-right: 0;
    }

    .index_topics_list .box{
        display: block;
    }

    .index_topics_list .category > span{
        min-height: 2.0vw;
        min-width: 15.4vw;
        font-size: 1.1vw;
    }

    .index_topics_list .thm{
        margin: .9vw 0 0;
        overflow: hidden;
    }

    .index_topics_list .txt_box .ttl,
    .index_topics_list .thm img{
        transition: .3s;
    }

    .index_topics_list a:hover .thm img{
        transform: scale(1.05);
    }

    .index_topics_list .txt_box{
        margin: .8vw 0 0;
        padding: 0 .6vw;
    }

    .index_topics_list .txt_box .date{
        font-size: 1.2vw;
    }

    .index_topics_list .txt_box .ttl{
        font-size: 1.4vw;
        line-height: 2.4vw;
    }

    .index_topics_list a:hover .ttl{
        color: #ED4343;
    }

    .index_topics .arrow_btn{
        margin: 5.0vw 0 0;
        text-align: right;
    }


    /* craftsman
       ================================================================== */
    .craftsman{
        padding: 10.0vw 0 6.0vw;
    }

    .craftsman .list{
        margin: 2.5vw auto 0;
        width: 95.0vw;
    }

    .craftsman .list > li{
        margin: 2.5vw 2% 0 0;
        width: 23.5%;
    }

    .craftsman .list > li:nth-child(2n+2){
        margin-right: 2%;
    }

    .craftsman .list > li:nth-child(4n+4){
        margin-right: 0;
    }

    .craftsman .list .name{
        padding: .9vw 0 0;
        font-size: 1.6vw;
    }


    /* about_work
       ================================================================== */
    .about_work{
        padding: 6.0vw 0 10.0vw;
    }

    .about_work .slider_wrap{
        margin: 6.0vw 0 0;
    }

    .about_work .slider_wrap .inner{
        max-width: 100%;
    }


    /* about_rgc
       ================================================================== */
    .about_rgc{
        padding: 10.0vw 0 0;
        position: relative;
    }

    .about_rgc .flex_box{
        margin: 0 0 0;
        padding: 0 2.5vw;
        display: flex;
    }

    .about_rgc .text_box{
        padding: 0 5.0vw 0 2.5vw;
        width: 50%;
        box-sizing: border-box;
    }

    .about_rgc .text_box p{
        margin: 2.0vw 0 0;
    }

    .about_rgc .photo{
        margin: 0 0 0;
        width: 50%;
    }


    /* about_vgcp
       ================================================================== */
    .about_vgcp{
        padding: 6.0vw 0 0;
    }

    .about_vgcp .top_box{
        margin: 0 0 0;
        padding: 0 5.0vw;
    }

    .about_vgcp .text_box{
        padding: 0 0 0;
    }

    .about_vgcp .text_box p{
        margin: 2.0vw 0 0;
    }

    .about_vgcp .logo{
        margin: 2.5vw auto 0;
        width: 38.6vw;
    }

    .about_vgcp .photos{
        margin: 0 0 0;
        position: relative;
    }

    .about_vgcp .photos > li{
        margin: 0 0 0;
        width: 53%;
    }

    .about_vgcp .photos > li:nth-child(2){
        margin: 2.1vw 0 0;
    }

    .about_vgcp .photos > li:last-child{
        margin: 0;
        width: 45.6%;
        position: absolute;
        top: 0;
        right: 0;
    }

    /*why_box */
    .why_box{
        margin: 8.0vw auto 0;
        padding: 3.4vw 5.0vw 3.0vw;
    }

    .why_box .line_deco_title + p{
        margin: 3.0vw 0 0;
        padding: 0;
    }

    .why_box .list{
        margin: 5.0vw 0 0;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .why_box .list > li{
        margin: 0 0 0;
        width: 32%;
    }

    .why_box .list .ttl{
        padding: .2vw .3vw;
        font-size: 1.8vw;
    }

    .why_box .list p{
        padding: 2.5vw 1.6vw 1.0vw;
        min-height: 27.2vw;
        box-sizing: border-box;
    }


    /* about_rules
       ================================================================== */
    .about_rules{
        padding: 6.0vw 0 0;
    }

    .about_rules .top_box{
        padding: 0;
    }

    .about_rules .text_list{
        margin: 3.6vw 0 0;
    }

    .about_rules .text_list > li{
        margin: 2.8vw 0 0;
    }

    .about_rules .text_list .ttl{
        font-size: 1.8vw;
    }

    .about_rules .text_list .ttl + p{
        margin: .6vw 0 0;
        line-height: 3.0vw;
        text-align: center;
    }

    .about_rules .bg_box{
        margin: 5.0vw 0 0;
        padding: 4.4vw 5.0vw 2.3vw;
    }

    .about_rules .bg_box .photo{
        width: 57.9vw;
    }

    .about_rules .bg_box .list{
        margin: 2.0vw 0 0;
    }

    .about_rules .bg_box .list > li{
        padding: 1.0vw 0;
    }

    .about_rules .bg_box .list p{
        line-height: 3.0vw;
    }


    /* workshop */

    .index_workshop{
        padding: 10vw 0 12vw 0;
    }
    .index_workshop .inner::before{
        width: 33.6vw;
        height: 23.6vw;
        bottom: -10vw; right: -5vw;
    }
    .index_workshop .block_title::before{
        width: 16.8vw;
        height: 11.2vw;
        top: 4vw; left: -4vw;
    }
    .index_workshop .block_title::after{
        width: 17vw;
        height: 16.8vw;
        top: -4vw; right: -2vw;
    }
    .index_workshop h3 + p{
        padding: 0;
        text-align: center;
    }

    .index_workshop .experience{
        padding:6vw 0 7vw 0;
    }
    .index_workshop .grid{
        gap:2vw;
    }
    .index_workshop .label{
        padding:0.5vw 3vw;
        top:1.5vw;
        font-size: 1.8vw;
    }
    .index_workshop .card3 .label,
    .index_workshop .card4 .label,
    .index_workshop .card5 .label,
    .index_workshop .card6 .label,
    .index_workshop .card9 .label,
    .index_workshop .card10 .label,
    .index_workshop .card11 .label,
    .index_workshop .card12 .label{
        padding: 0.5vw 0;
    }
    .index_workshop .badge{
        margin-left: 1vw;
        padding:0.3vw 2.5vw;
        vertical-align: middle;
        font-size: 1vw;
        transform: translateY(-0.1vw);
    }
    .index_workshop .caption{
        padding:2vw 2.5vw;
    }
    .index_workshop .card2 .caption,
    .index_workshop .card8 .caption{
        padding-right: 14vw;
    }
    .index_workshop .today{
        width: auto;
        margin-bottom: 0;
        padding: 0.5vw 0.8vw;
        display: inline-block;
        position: absolute; top: 2vw; right: 2vw;
        font-size: 1.1vw;
    }
    .index_workshop .cap_box{
        padding: 2.5vw 1.8vw 1.8vw 1.8vw;
    }
    .index_workshop .cap_info{
        width: auto;
        padding: 0.4vw 0.8vw;
        font-size: 1.1vw;
    }
    .index_workshop .cap_name{
        height: 6vw;
        font-size: 1.6vw;
    }
    .index_workshop .cap_text{
        padding: 0.9vw 0.6vw 0 0.6vw;
        font-size: 1.3vw;
    }

    .index_workshop .card1{
      grid-column:1 / 3;
      grid-row:1 / 3;
    }

    /* 3 */
    .index_workshop .card3{
      grid-column:3 / 4;
      grid-row:1 / 2;
    }

    /* 4 */
    .index_workshop .card4{
      grid-column:4 / 5;
      grid-row:1 / 2;
    }

    /* 5 */
    .index_workshop .card5{
      grid-column:3 / 4;
      grid-row:2 / 3;
    }

    /* 6 */
    .index_workshop .card6{
      grid-column:4 / 5;
      grid-row:2 / 3;
    }

    /* 7 */
    .index_workshop .card7{
      grid-column:1 / 3;
      grid-row:3 / 4;
    }

    /* 2 */
    .index_workshop .card2{
      grid-column:3 / 5;
      grid-row:3 / 5;
    }

    /* 8 */
    .index_workshop .card8{
      grid-column:1 / 3;
      grid-row:4 / 6;
    }

    /* 9 */
    .index_workshop .card9{
      grid-column:3 / 4;
      grid-row:5 / 6;
    }

    /* 10 */
    .index_workshop .card10{
      grid-column:4 / 5;
      grid-row:5 / 6;
    }

    /* 11 */
    .index_workshop .card11{
      grid-column:1 / 2;
      grid-row:6 / 7;
    }

    /* 12 */
    .index_workshop .card12{
      grid-column:2 / 3;
      grid-row:6 / 7;
    }

    /* 13 */
    .index_workshop .card13{
      grid-column:3 / 5;
      grid-row:6 / 7;
    }


    /* howto_slider */

    .howto_slide_block{
        padding: 6vw 0 10vw 0;
    }
    .howto_slide_block .block_title{
        text-align: center;
    }
    .index .howto_slide_block .block_title{
        position: relative;
        text-align: left;
    }
    .index .howto_slide_block .block_title::before{
        content: "";
        width: 22.5vw;
        height: 11.4vw;
        background: url(../images/index/webp/howto_acc.webp) no-repeat;
        background-size: 100% 100%;
        position: absolute; top: 0; right: 0;
    }
    .howto_slide_box{
        padding-top: 4vw;
    }
    .howto_slider .swiper-slide{
        transform: scale(0.9);
        transition: 0.4s;
    }
    .howto_slider .swiper-slide-active{
        transform: scale(1);
    }
    .howto_slider.girls .swiper-pagination-bullet-active{
        background:#5091AD;
    }

    .howto_slider.family .swiper-pagination-bullet-active{
        background:#D6AE29;
    }

    .howto_slider.couple .swiper-pagination-bullet-active{
        background:#D95F62;
    }


    /* business_top_title
        ================================================================== */

    .business_top_title{
        padding-top: 2.5vw;
    }
    .business_top_title h3{
        margin: 0 5vw;
        padding-left: 1.5vw;
        font-size: 2.2vw;
    }

    .business_top_btn{
        padding-bottom: 3vw;
    }
    .business_top_btn .btn{
        width: 47vw;
        margin: 0 5vw;
    }
    .business_top_btn .btn a{
        padding: 1.5vw 0;
        font-size: 1.8vw;
    }


    /* anchor_link_block
       ================================================================== */

    .anchor_link_block{
        padding: 0.5vw 0 2.6vw 0;
    }
    .anchor_link_box{
        padding: 0 5vw;
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
    }
    .anchor_link_box .item{
        padding-top: 1.5vw;
        margin-right: 3vw;
    }
    .anchor_link_box .item a{
        padding: 1.5vw 5vw 1.5vw 2vw;
        font-size: 1.8vw;
    }
    .anchor_link_box .item a small{
        display: inline;
        font-size: 1.8vw;
    }
    .anchor_link_box .item a span{
        width: 2.2vw;
        height: 2.2vw;
        border-radius: 1.1vw;
        right: 1.5vw;
    }
    .anchor_link_box .item a span img{
        width: 0.9vw;
    }


    /* table_box
       ================================================================== */

    .table_box table th,
    .table_box table td{
        border-top: 2px solid #FFF;
        display: table-cell;
        font-size: 1.6vw;
    }
    .table_box table th{
        width: 25.5vw;
        padding: 2vw;
        vertical-align: middle;
    }
    .table_box table td{
        padding: 2vw 0 2vw 5vw;
        text-align: left;
    }


    /* page_top_intro
       ================================================================== */

    .page_top_intro{
        padding: 4.5vw 2.5vw 8vw 2.5vw;
    }
    .page_top_title{
        padding: 0 2.5vw;
    }
    .page_top_title small{
        font-size: 1.6vw;
    }
    .page_top_title span{
        margin-top: 0;
        font-size: 2.8vw;
    }
    .page_top_intro .text_box{
        margin-top: 1vw;
        padding: 2.3vw 2.5vw 0 2.5vw;
        position: relative;
    }
    .page_top_intro .btn .arrow_btn{
        margin-top: 0;
        position: absolute; top: -6vw; right: 2.5vw;
        text-align: left;
    }
    .intro_link_box{
        padding: 7vw 2.5vw 0 2.5vw;
        display: flex;
        flex-wrap: wrap;
        gap: 5.5vw;
    }
    .intro_link_box .item{
        width: 25vw;
        margin-top: -4.5vw;
    }
    .intro_link_box .item a{
        padding: 1vw 0;
        border-bottom: 1px solid #F47878;
        display: flex;
        align-items: center;
        font-weight: 700;
    }
    .intro_link_box .thum{
        width: 6vw;
    }
    .intro_link_box .text{
        width: calc(100% - 6vw);
        padding: 0 2vw;
        position: relative;
        font-size: 1.6vw;
        line-height: 1.5;
    }
    .intro_link_box .text::before{
        content: "";
        width: 0.9vw;
        height: 1.1vw;
        background: url(../images/common/anchor_link_arrow.svg) no-repeat;
        background-size: 100% 100%;
        position: absolute; top: 50%; right: 0;
        transform: translateY(-50%);
        filter: brightness(0) saturate(100%) invert(44%) sepia(36%) saturate(4478%) hue-rotate(335deg) brightness(96%) contrast(94%);
    }
    .intro_link_box .text small{
        display: block;
        font-size: 1.3vw;
    }
    .intro_link_title{
        margin-top: 4vw;
        padding: 0.3vw;
        font-size: 1.4vw;
    }


    /* full_box
        ================================================================== */

    .full_box{
        padding: 6vw 0;
    }


    /* info_box
       ================================================================== */

    .info_box{
        display: flex;
        justify-content: space-between;
    }
    .info_box.reverse{
        flex-flow: row-reverse;
    }
    .info_box .detail_box{
        width: 45vw;
        padding-left: 3vw;
    }
    .info_box.reverse .detail_box{
        padding: 0 3vw 0 0;
    }
    .info_box .title_box{
        padding: 0 0 0.5vw 0;
    }
    .info_box .title{
        font-size: 2.8vw;
    }
    .info_box .title small{
        font-size: 1.8vw;
    }
    .info_box .sub_title{
        margin-top: 0.8vw;
        font-size: 1.8vw;
    }
    .info_box .text_box{
        padding-top: 3vw;
    }
    .info_box p{
        padding: 0;
    }
    .info_box .text_box .red_text{
        margin-top: -1.2vw;
        padding: 0 0 1vw 0;
        font-size: 1.6vw;
    }
    .info_box .text_box .caution{
        margin-top: 1vw;
        padding: 0;
        font-size: 1.6vw;
    }
    .info_box .point_box{
        margin-top: 2vw;
        padding: 1vw 3vw;
    }
    .info_box .point_box .icon{
        font-size: 1.5vw;
    }
    .info_box .point_box .text{
        font-size: 1.4vw;
    }
    .info_box .thum_box{
        width: 45vw;
        padding: 0;
    }
    .info_box .thum_box .list{
        margin-top: 1vw;
        gap: 0.7vw;
    }


    /* accordion_box
       ================================================================== */

    .accordion_box{
        padding: 5.5vw 2.5vw 0 2.5vw;
    }
    .accordion_title{
        padding: 0.8vw;
        font-size: 1.6vw;
    }
    .accordion_title::after{
        width: 2.6vw;
        height: 2.6vw;
        border-radius: 1.3vw;
        right: 3vw;
        line-height: 2.6vw;
    }
    .accordion_box .coming_soon{
        width: 38vw;
        margin: 0 auto;
        padding: 3vw 0 3.5vw 0;
    }
    .accordion_box .coming_soon .title_box{
        padding-bottom: 2vw;
    }
    .accordion_box .coming_soon .title{
        font-size: 2.6vw;
        line-height: 1.5;
    }
    .accordion_box .coming_soon .sub_title{
        margin-top: 0.5vw;
        font-size: 1.2vw;
        line-height: 1.5;
    }
    .accordion_box .coming_soon p{
        margin-top: 1.5vw;
        font-size: 2.4vw;
    }
    .accordion_flow{
        padding: 5vw 3vw 0 3vw;
        display: flex;
        flex-wrap: wrap;
        gap: 5vw;
    }
    .accordion_flow .item{
        width: 40vw;
        margin-top: -1.5vw;
        padding-top: 0;
    }
    .accordion_flow .item:first-child{
        padding-top: 0;
    }
    .accordion_flow .title_box{
        width: 30vw;
        padding-bottom: 0.5vw;
    }
    .accordion_flow .num{
        width: 3vw;
        height: 3vw;
        border-radius: 1.5vw;
        font-size: 1.8vw;
        line-height: 3vw;
    }
    .accordion_flow .title{
        width: calc(100% - 3vw);
        padding-left: 1.7vw;
        font-size: 1.8vw;
    }
    .accordion_flow .thum{
        margin-top: 2vw;
    }
    .accordion_flow p{
        margin-top: 2vw;
    }
    .accordion_flow .check_box{
        margin-top: 2vw;
        padding: 1vw 2vw;
        display: flex;
        align-items: center;
    }
    .accordion_flow .check_box .icon{
        font-size: 1.5vw;
    }
    .accordion_flow .check_box .text{
        padding-left: 1vw;
        font-size: 1.4vw;
    }
    .accordion_option{
        margin: 3.5vw 3vw 0 3vw;
        padding: 1.4vw 4vw 2.2vw 4vw;
    }
    .accordion_option .title{
        font-size: 1.7vw;
    }
    .accordion_option p{
        margin-top: 1vw;
        font-size: 1.4vw;
    }
    .accordion_box .btn{
        padding: 3.6vw 4vw;
    }
    .accordion_flow .item.wide{
        width: 100%;
    }
    .accordion_flow .item.wide .title_box{
        width: 100%;
    }
    .accordion_flow .wide_inner{
        display: flex;
        flex-wrap: wrap;
        gap: 5vw;
    }
    .accordion_flow .wide_inner .left{
        width: 40vw;
    }
    .accordion_flow .wide_inner .right{
        width: 40vw;
    }
    .accordion_flow .wide_inner .right .check_box{
        flex-wrap: wrap;
    }
    .accordion_flow .check_box .thum_in{
        width: 100%;
        margin-top: 1vw;
        justify-content: space-between;
    }
    .accordion_flow .check_box .thum_in div{
        width: 49%;
    }
    .accordion_box .add_box{
        margin-top: 1.4vw;
        text-align: right;
    }
    .accordion_box .add_box div{
        padding: 1.4vw 3.6vw;
        display: inline-block;
    }


    /* bottom_faq_block
       ================================================================== */

    .bottom_faq_block{
        padding-top: 9vw;
    }


    /* plan_point_block
       ================================================================== */

    .plan_point_block{
        padding: 7vw 0;
    }
    .plan_point_block .top_title_box{
        width: 40vw;
        margin: 0 auto;
    }
    .plan_point_block .top_title_box .icon{
        padding-left: 2vw;
        font-size: 3vw;
    }
    .plan_point_block .top_title_box .top_title{
        margin-top: -0.5vw;
        padding: 1vw;
        font-size: 1.8vw;
    }
    .plan_point_block .top_text{
        margin-top: 3vw;
        font-size: 2.6vw;
    }
    .plan_point_box{
        padding: 3vw 2.5vw 0 2.5vw;
    }
    .plan_point_box .item{
        margin-top: 2vw;
        display: flex;
        align-items: center;
        gap: 2vw;
    }
    .plan_point_box .item:nth-child(even){
        flex-flow: row-reverse;
    }
    .plan_point_box .text_box{
        width: 43vw;
    }
    .plan_point_box .title{
        font-size: 2.6vw;
    }
    .plan_point_box p{
        margin-top: 1.5vw;
    }
    .plan_point_box .thum{
        width: 46vw;
        margin-top: 0;
    }
    .plan_point_block .btn{
        margin-top: 3.5vw;
    }
    .plan_point_block .btn .arrow_btn{
        text-align: right;
    }
    .plan_point_block .btn .arrow_btn a{
        height: 4.3vw;
        font-size: 1.6vw;
    }


    /* product
       ================================================================== */

    .product_top_text{
        padding-top: 5vw;
    }
    .product_top_text p{
        letter-spacing: 0.1em;
    }
    .product_block{
        padding-bottom: 16vw;
    }
    .product_box{
        padding-top: 6.5vw;
    }
    .product_box + .product_box{
        padding-top: 6vw;
    }
    .product_box .box_title{
        padding: 0.5vw;
        font-size: 2vw;
    }
    .product_box .online_btn{
        padding-top: 6vw;
    }
    .product_big{
        padding: 0 5vw;
        display: flex;
        flex-wrap: wrap;
        gap: 3vw;
    }
    .product_big .item{
        width: 41.5vw;
        padding-top: 4.5vw;
    }
    .product_big .name{
        padding: 2vw 0 0 1vw;
        font-size: 2.2vw;
    }
    .product_big p{
        padding: 1.6vw 0 0 1vw;
    }
    .product_small{
        padding: 2vw 5vw 0 5vw;
        gap: 2vw;
    }
    .product_small .item{
        width: 20vw;
        padding-top: 4vw;
    }
    .product_small .name{
        padding: 1.3vw 0 0 1vw;
        font-size: 1.8vw;
        letter-spacing: 0.1em;
    }
    .product_small p{
        padding: 1.1vw 0 0 1vw;
        font-size: 1.4vw;
        line-height: 1.7;
    }
    .product_mid{
        padding: 2vw 5vw 0 5vw;
        display: flex;
        flex-wrap: wrap;
        gap: 3.1vw;
    }
    .product_mid .item{
        width: 26.6vw;
        padding-top: 2.5vw;
    }
    .product_mid .item:first-child{
        padding-top: 2.5vw;
    }
    .product_mid .name{
        padding-top: 2vw;
        font-size: 1.8vw;
    }
    .product_mid p{
        padding-top: 1.1vw;
        font-size: 1.4vw;
    }


    /* enjoy
       ================================================================== */

    .enjoy_map_block{
        padding-bottom: 5vw;
    }
    .enjoy_map_block .top_title{
        margin-top: 2.5vw;
        padding-top: 2.2vw;
        font-size: 2.8vw;
    }
    .enjoy_map_block .top_title::before{
        width: 4.2vw;
        height: 1.6vw;
    }
    .enjoy_map_box{
        margin-top: 2.5vw;
        padding-bottom: 4vw;
        background: #E6F0E7;
        border-radius: 20px;
    }
    .enjoy_map_box .box_title{
        width: 37.4vw;
        height: 4vw;
        margin: 0 auto;
        border-radius: 2vw;
        font-size: 1.9vw;
        transform: translateY(-50%);
    }
    .enjoy_map_box .spot_image{
        margin-top: 4vw;
    }
    .park_map_box{
        padding: 10vw 5vw 0 5vw;
        position: relative;
    }
    .park_map_box .title{
        font-size: 2.3vw;
        text-align: left;
    }
    .park_map_box .map_image{
        margin-top: 2vw;
    }
    .park_map_box .print_btn{
        margin-top: 0;
        position: absolute; top: 10vw; right: 5vw;
    }
    .enjoy_map_box .park_map_box .print_btn{
        top: 0;
    }
    .park_map_box .print_btn a{
        width: 15.5vw;
        height: 3.5vw;
        font-size: 1.3vw;
    }
    .park_map_box .print_btn a span{
        font-size: 1vw;
    }
    .enjoy_spot_block{
        padding: 10vw 0;
    }
    .enjoy_spot_top_box{
        padding: 3.5vw 5vw 0 5vw;
        display: flex;
        flex-flow: row-reverse;
        justify-content: space-between;
    }
    .enjoy_spot_top_box .right{
        width: 30vw;
        padding-top: 3vw;
    }
    .enjoy_spot_top_box .title{
        font-size: 2.8vw;
    }
    .enjoy_spot_top_box p{
        margin-top: 3vw;
    }
    .enjoy_spot_top_box .left{
        width: 53vw;
        padding-top: 0;
    }
    .enjoy_spot_top_box .name{
        margin-top: 0.8vw;
        font-size: 1.6vw;
    }
    .enjoy_spot_box{
        padding: 2vw 5vw 0 5vw;
        gap: 2.5vw;
    }
    .enjoy_spot_box .item,
    .enjoy_spot_box .item:nth-child(even),
    .enjoy_spot_box .item:nth-child(5),
    .enjoy_spot_box .item:nth-child(6),
    .enjoy_spot_box .item:nth-child(7),
    .enjoy_spot_box .item:nth-child(8),
    .enjoy_spot_box .item:nth-child(9){
        width: calc(81vw / 3);
        padding-top: 0;
    }
    .enjoy_spot_box .name{
        margin-top: 0.8vw;
        font-size: 1.5vw;
    }
    .craftsman_link_block{
        min-height: 57vw;
        background-image: url(../images/enjoy/webp/craftsman_bg.webp);
        display: flex;
        align-items: center;
    }
    .craftsman_link_block::before{
        width: 62vw;
        left: auto; right: 0;
    }
    .craftsman_link_box{
        width: 41vw;
        padding: 0 0 0 46vw;
    }
    .craftsman_link_box .title{
        width: 33vw;
        font-size: 4vw;
        line-height: 1.7;
        color: #FFF;
        text-align: center;
    }
    .craftsman_link_box ul{
        padding-top: 2.4vw;
    }
    .craftsman_link_box li{
        padding-top: 0;
        font-size: 1.8vw;
    }
    .craftsman_link_box p{
        padding-top: 1.3vw;
    }
    .craftsman_link_box .anime_btn{
        padding-top: 1.9vw;
    }
    .enjoy_message_block .top_text{
        margin-bottom: 6vw;
        font-size: 2.4vw;
    }
    .enjoy_message_block .arrow_btn.w321 a{
        width: 32.1vw;
        margin-top: 5vw;
    }


    /* souvenir
       ================================================================== */

    .souvenir{
        padding-bottom: 16vw;
    }
    .souvenir_shop_thum{
        padding: 4.5vw 0 0 0;
        flex-wrap: nowrap;
        gap: 1.8vw;
    }
    .souvenir_shop_thum div{
        width: auto;
    }
    .souvenir_pick_up_block{
        padding-top: 6vw;
    }
    .souvenir_pick_up_block h3 .second{
        font-size: 1.6vw;
    }
    .souvenir_pick_up_box{
        padding-top: 2vw;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 2.4vw;
    }
    .souvenir_pick_up_box .item{
        width: 44vw;
        margin-top: 1.6vw;
    }
    .souvenir_pick_up_box .title{
        width: 37vw;
        height: 4vw;
        border-radius: 2vw;
        font-size: 1.7vw;
    }
    .souvenir_pick_up_box .thum_box{
        padding: 2.5vw 0 0 0;
    }
    .souvenir_pick_up_box .thum_box .main_thum span{
        width: 15vw;
        padding: 0.3vw 0;
        font-size: 1vw;
    }
    .souvenir_pick_up_box .thum_box .list{
        margin-top: 1vw;
        gap: 1vw;
    }
    .souvenir_pick_up_box .thum_box .list div::before{
        height: calc(100% - 2.1vw);
    }
    .souvenir_pick_up_box .thum_box .list div span{
        padding: 0.3vw 0;
        font-size: 1vw;
    }


    /* facilities
       ================================================================== */

    .facilities_kv{
        padding: 2.5vw;
        box-shadow: none;
    }
    .facilities_kv h2{
        width: 32.8vw;
    }
    .facilities{
        padding-bottom: 16vw;
    }
    .facilities .info_box .title{
        display: inline-block;
    }
    .facilities_tag{
        margin-left: 0.5vw;
        display: inline-block;
        vertical-align: top;
    }
    .facilities_tag div{
        margin-right: 0.2vw;
        padding: 0.3vw 0.5vw;
        border: 1px solid #ED4343;
        display: inline-block;
        font-family: 'Noto Serif JP';
        font-weight: 800;
        font-size: 1.2vw;
        line-height: 1.2;
        color: #ED4343;
        letter-spacing: -0.09em;
    }
    .facilities_tag div:last-child{
        margin-right: 0;
    }
    .facilities .info_box .text_box .btn{
        margin-top: 3vw;
    }
    .facilities .info_box .text_box .btn .arrow_btn{
        text-align: right;
    }
    .facilities .info_box .text_box .price_box{
        width: 34.5vw;
        margin-top: 1vw;
        padding: 0.8vw 2.5vw;
        border-radius: 15vw;
    }
    .facilities .info_box .text_box .price_box .icon{
        width: 7.2vw;
        padding: 0.2vw 0;
        border-radius: 5vw;
        font-size: 1.4vw;
        line-height: 1.5;
    }
    .facilities .info_box .text_box .price_box .text{
        width: calc(100% - 7.2vw);
        padding-left: 3vw;
        font-size: 1.6vw;
    }
    .facilities .info_box .text_box .price_box .text big{
        font-size: 1.8vw;
    }
    .facilities .info_box .text_box .price_box .text small{
        font-size: 1.4vw;
    }


    /* workshop
       ================================================================== */

    .workshop{
        padding: 1vw 0 16vw 0;
    }
    .workshop .top_caution{
        padding: 0 2.5vw;
    }
    .workshop .top_caution p strong{
        font-size: 1.8vw;
    }
    .workshop .top_caution p a{
        font-size: 1.8vw;
    }
    .workshop .info_box .title_box{
        position: relative;
    }
    .workshop_tag{
        padding-bottom: 0;
        position: absolute; top: -0.5vw; right: 0;
    }
    .workshop_tag div{
        width: 10vw;
        padding: 0.2vw;
        border-radius: 5vw;
        font-size: 1.1vw;
    }
    .workshop .info_box .text_box .btn{
        margin-top: 4vw;
    }


    /* access
       ================================================================== */

    .access{
        padding-bottom: 16vw;
    }
    .access_box{
        padding: 6vw 2.5vw 0 2.5vw;
    }
    .access_box.car{
        padding-top: 4vw;
    }
    .access_box .box_title{
        padding: 0 0 0 1.7vw;
        border-left: 8px solid #ED4343;
        font-size: 2.8vw;
        line-height: 1.5;
    }
    .car_box{
        display: flex;
        flex-flow: row-reverse;
        justify-content: space-between;
    }
    .car_box .right{
        width: 50%;
        margin-top: -3.5vw;
    }
    .car_box .top_title{
        font-size: 1.2vw;
    }
    .car_box .top_title span{
        margin-right: 1.3vw;
        font-size: 2.2vw;
    }
    .car_box .address{
        margin-top: 0.5vw;
    }
    .car_inner{
        margin-top: -0.5vw;
    }
    .car_box .item{
        margin-top: 2vw;
        padding: 3.5vw 2.5vw 3.5vw 3.0vw;
    }
    .car_box .title_box{
        display: flex;
        align-items: center;
    }
    .car_box .num{
        width: 3vw;
        height: 3vw;
        border-radius: 1.5vw;
        font-size: 1.6vw;
    }
    .car_box .title{
        width: calc(100% - 3vw);
        padding-left: 1.8vw;
        font-size: 2.2vw;
        line-height: 1;
    }
    .car_box p{
        margin-top: 1.8vw;
    }
    .car_box .left{
        width: 48%;
        margin-top: 4vw;
    }
    .access_box.car_navi{
        margin: 6vw 2.5vw 0 2.5vw;
        padding: 3vw 5vw;
    }
    .car_navi .top_title{
        padding-left: 4.2vw;
        font-size: 2.2vw;
    }
    .car_navi .top_title::before{
        width: 3vw;
        height: 3vw;
        border-radius: 1.5vw;
    }
    .car_navi .top_text{
        margin-top: 1.7vw;
        font-size: 1.6vw;
    }
    .car_navi_box .item{
        margin-top: 4vw;
    }
    .car_navi_box .title{
        font-size: 2vw;
    }
    .car_navi_box p{
        margin-top: 2vw;
    }
    .bus_box{
        padding-top: 3.7vw;
        display: flex;
        justify-content: space-between;
    }
    .bus_box .item{
        width: 35%;
        margin-top: 0;
        padding: 2.5vw 3vw;
    }
    .bus_box .item:last-child{
        width: 50%;
    }
    .bus_box .title{
        font-weight: 700;
        font-size: 2.4vw;
    }
    .bus_box p{
        margin-top: 1.6vw;
    }
    .access_box.info .table_box{
        margin-top: 3vw;
    }
    .access_box.info .table_box .mail_btn{
        width: 20vw;
        margin: 2.2vw 0 0 0;
    }
    .access_box.info .table_box .mail_btn > a{
        padding: 0.8vw 2vw;
    }
    .access_box.info .table_box .mail_btn .left_icon{
        width: 2.1vw;
        left: 2vw;
    }
    .access_box.info .table_box .mail_btn .arrow{
        width: 1vw;
        right: 2vw;
    }
    .access_box.info .table_box .mail_btn > a span{
        font-size: 1.6vw;
    }


    /* business
       ================================================================== */

    .business_top_block{
        padding: 6vw 0;
    }
    .business_top_block .center_text{
        margin-top: 3.2vw;
        font-size: 2.2vw;
    }
    .business_top_block .box{
        padding-top: 6vw;
        display: flex;
        justify-content: space-between;
    }
    .business_top_block .item{
        width: 32%;
        margin-top: 0;
    }
    .business_top_block .num{
        width: 3vw;
        height: 3vw;
        border-radius: 1.5vw;
        font-size: 1.8vw;
    }
    .business_top_block .title{
        margin-top: 1.4vw;
        font-size: 1.7vw;
    }
    .business_top_block .thum{
        margin-top: 1.5vw;
    }
    .business_top_block p{
        padding: 1.6vw 0 0 0;
    }

    .business_cta{
        padding: 1.7vw 0 1.3vw 0;
    }
    .business_cta .catch{
        font-size: 1.8vw;
    }
    .business_cta .box{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .business_cta .tel{
        width: 45vw;
    }
    .business_cta .number{
        text-align: left;
    }
    .business_cta .number a{
        font-size: 5vw;
        line-height: 1.5;
    }
    .business_cta .time{
        font-size: 1.9vw;
        line-height: 1.5;
        text-align: left;
    }
    .business_cta .mail_btn{
        width: 33vw;
        margin: 0 0 0 4vw;
    }
    .business_cta .mail_btn > a{
        padding: 2vw;
    }
    .business_cta .mail_btn .left_icon{
        width: 3.15vw;
        left: 4vw;
    }
    .business_cta .mail_btn .arrow{
        width: 1vw;
        right: 4vw;
    }
    .business_cta .mail_btn > a span{
        font-size: 1.8vw;
    }

    .business_original{
        padding-top: 8vw;
    }
    .business_original .box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .business_original .item{
        width: 48%;
        margin-top: 4.5vw;
        display: flex;
        justify-content: space-between;
    }
    .business_original .thum{
        width: 10vw;
    }
    .business_original .detail{
        width: calc(100% - 10vw);
        margin-top: 0;
        padding-left: 2.7vw;
    }
    .business_original .title{
        min-height: 0;
        padding-left: 0;
        font-size: 1.6vw;
    }
    .business_original p{
        margin-top: 1.6vw;
    }

    .business_flow{
        padding-top: 8vw;
    }
    .business_flow .box{
        padding-top: 6vw;
        display: flex;
    }
    .business_flow .item{
        width: calc(100% / 5);
        margin-top: 0;
        display: flex;
        flex-flow: column;
        justify-content: flex-start;
        align-items: center;
        position: relative;
    }
    .business_flow .thum{
        width: 10vw;
    }
    .business_flow .thum::before{
        display: none;
    }
    .business_flow .detail{
        width: auto;
        padding-top: 3vw;
    }
    .business_flow .num{
        width: 3vw;
        height: 3vw;
        border-radius: 1.5vw;
        font-size: 1.7vw;
    }
    .business_flow .num::before{
        content: "";
        width: 100%;
        height: 1px;
        background: #ACACAC;
        position: absolute; top: 14.5vw; left: 0;
        z-index: -1;
    }
    .business_flow .title{
        margin-top: 1.3vw;
        font-size: 1.8vw;
    }
    .business_flow p{
        margin-top: 1.3vw;
        font-size: 1.6vw;
    }

    .business_slide{
        padding: 10.5vw 0 6vw 0;
    }
    .business_slide .top_title{
        width: 20vw;
        padding: 0.3vw;
        font-size: 1.8vw;
    }
    .business_slide .box{
        margin-top: 3vw;
    }
    .business_slide .item{
        width:43.8vw;
        margin-right:2vw;
        padding: 1.2vw 4vw;
    }
    .business_slide .title{
        font-size: 1.6vw;
    }
    .business_slide .thum{
        margin-top: 0.5vw;
    }
    .business_slide p{
        margin-top: 0.6vw;
        font-size: 1.3wv;
    }
    .business_slide .name{
        margin-top: 0.5vw;
        font-size: 1.8vw;
    }

    .business_contact{
        margin-bottom: 6vw;
    }
    .business_contact .item{
        padding: 3vw 4.2vw 3vw 3.5vw;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .business_contact .text_box{
        padding-left: 2.5vw;
        border-left: 8px solid #ED4343;
    }
    .business_contact .title{
        font-size: 2.8vw;
    }
    .business_contact p{
        margin-top: 0.9vw;
        font-size: 1.8vw;
    }
    .business_contact .anime_btn{
        margin-top: 0;
    }

    .business_faq{
        padding: 9wv 0 12vw 0;
    }


    /* school
       ================================================================== */

    .school_contents{
        padding: 8vw 0;
    }
    .school_contents .top_text{
        margin-top: 3vw;
        text-align: center;
    }
    .school_contents .list{
        width: 70vw;
        margin: 1.5vw auto 0 auto;
        padding: 1.5vw 4.5vw;
        display: flex;
        justify-content: space-between;
    }
    .school_contents .list div{
    }
    .school_contents .thum{
        margin-top: 5.4vw;
    }
    .school_contents .box{
        margin-top: 2vw;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }
    .school_contents .detail{
        width: 30vw;
        padding: 0;
    }
    .school_contents .title{
        padding-left: 2.5vw;
        font-size: 1.8vw;
    }
    .school_contents .text{
        margin-top: 0.5vw;
        padding: 1.5vw 3vw;
        font-size: 1.4vw;
    }
    .school_contents .slide_box{
        width: 57vw;
        margin: 0 0 0 2.2vw;
    }
    .school_contents .slide_box .control{
        margin: 0;
        height: 0.9vw;
        position: absolute; bottom: -2.5vw; right: 0;
    }
    .school_contents .slide_box .swiper-pagination-bullet{
        margin: 0 1vw 0 !important;
        width: 0.9vw;
        height: 0.9vw;
        border-radius: 1vw;
    }


    /* article
       ================================================================== */

    .article_pick_up{
        padding-top: 7vw;
    }
    .article_pick_up h3{
        font-size: 2.4vw;
    }
    .article_pick_up_slider{
        margin: 2.5vw 0 0 0;
    }
    .article_pick_up .swiper-slide{
        width: 60vw;
        height: 34vw;
        margin: 0 1.5vw;
    }
    .article_pick_up .swiper-slide a img{
        height: 34vw;
    }
    .article_pick_up .swiper-slide span{
        padding: 0.4vw 2vw;
        top: 1vw; left: 0.8vw;
        font-size: 1vw;
    }
    .article_pick_up .swiper-slide p{
        padding: 1.5vw 1.5vw 1vw 1.5vw;
        box-sizing: border-box;
    }
    .article_pick_up .control{
        margin: 1vw 0 0;
        height: 3vw;
    }
    .article_pick_up .swiper-pagination-bullet{
        margin: 0 1vw 0 !important;
        width: 1vw;
        height: 1vw;
    }

    .article_list{
        padding: 6vw 0 16vw 0;
    }
    .article_list h3{
        font-size: 2.4vw;
    }
    .category_list{
        margin-top: 3vw;
    }
    .category_list ul{
        display: flex;
        justify-content: center;
        gap: 2.3vw;
    }
    .category_list li{
    }
    .category_list li a{
        padding: 1vw 3vw;
        background: #F5F4F4;
        border-radius: 10vw;
        display: block;
        text-align: center;
    }
    .category_list li.all a{
        background: #ED4343;
        font-weight: 700;
        color: #FFF;
        tra
    }
    .article_list .box{
        padding-top: 2.5vw;
        gap: 3vw;
    }
    .article_list .item{
        width: 30vw;
        margin-top: 0.5vw;
    }
    .article_list .item:first-child{
        width: 30vw;
    }
    .article_list .thum img{
        width: 100%;
        height: 30vw;
        object-fit: cover;
    }
    .article_list .thum_box span{
        top: 1vw; right: 0.8vw;
    }
    .article_list .thum_box span a{
        padding: 0.3vw 2vw;
        font-size: 1.1vw;
    }
    .article_list .date{
        margin-top: 0.7vw;
        font-size: 1.4vw;
    }
    .article_list .item:first-child .date::after{
        margin-left: 1vw;
    }
    .article_list .title{
        margin-top: 0.6vw;
    }
    .article_list .title a{
        font-size: 1.6vw;
    }

    .pagination{
        margin-top: 6vw;
        gap: 1.4vw;
    }
    .pagination span,
    .pagination a{
        width: 4.4vw;
        height: 4.4vw;
        font-size: 2.4vw;
    }
    .pagination a svg {
        width: 4vw;
    }

    .article_block{
        padding: 3.5vw 0 13vw 0;
    }
    .article_block .inner{
        display: flex;
        justify-content: space-between;
    }
    .article_box{
        width: 68%;
    }
    .article_box .date_box{
        padding-left: 5vw;
    }
    .article_box .tag span{
        margin-right: 1.3vw;
    }
    .article_box .tag span a{
        padding: 0.2vw 3vw;
        font-size: 1.3vw;
    }
    .article_box .date{
        font-size: 1.2vw;
    }
    .article_box .title{
        margin-top: 1.3vw;
        padding-left: 5vw;
        font-size: 2.6vw;
    }
    .article_box .main_image{
        margin-top: 2vw;
    }
    .article_detail{
        margin-top: 2vw;
    }
    .article_btn{
        margin-top: 5.4vw;
    }
    .article_btn div{
        margin: 0 0.8vw;
    }
    .article_btn div a{
        padding: 1.4vw 4vw;
        position: relative;
        font-size: 1.2vw;
    }
    .article_btn div a img{
        height: 1.4vw;
        position: absolute; top: 1.6vw;
        display: block;
    }
    .article_btn div.prev a img{
        left: 1.5vw;
        transform: scale(-1,1);
    }
    .article_btn div.next a img{
        right: 1.5vw;
    }

    .article_block .new_article{
        width: 28%;
        margin-top: 3.5vw;
    }
    .article_block .new_article{
    }
    .article_block .new_article h3{
        padding: 1vw 2vw;
        font-size: 1.5vw;
    }
    .article_block .new_article .item{
        padding: 1.5vw;
    }
    .article_block .new_article .item:nth-child(n + 2) .thum_box{
        width: 7vw;
    }
    .article_block .new_article .item:first-child .thum img{
        height: 13vw;
    }
    .article_block .new_article .item:nth-child(n + 2) .thum_box .thum img{
        height: 7vw;
    }
    .article_block .new_article .item span{
        top:1.5vw; left: 9.5vw;
    }
    .article_block .new_article .item:first-child span{
        top: 2.2vw; left: 1.9vw;
    }
    .article_block .new_article .item span a{
        padding: 0.2vw 2vw;
        font-size: 0.9vw;
    }
    .article_block .new_article p{
        margin-top: 0.8vw;
        font-size: 1.1vw;
    }
    .article_block .new_article .item:nth-child(n + 2) p{
        width: calc(100% - 7vw);
        margin-top: 2vw;
        padding-left: 0.7vw;
    }
    .article_block .new_article p a{
        font-size: 1.1vw;
    }


    /* faq
       ================================================================== */

    .faq_top_text p{
        padding: 2vw 5vw 0 5vw;
    }

    .faq_block{
        padding-bottom: 16vw;
    }
    .faq_box{
        padding: 0 2.5vw;
    }
    .faq_box .item{
        margin-top: 2vw;
        padding-top: 4vw;
    }
    .faq_box .item:first-child{
        margin-top: 2vw;
    }
    .faq_box .title{
        height: 4.8vw;
        border-radius: 2.4vw;
        font-size: 2vw;
    }
    .faq{
        padding-top: 1vw;
    }
    .faq_inner{
        margin-top: 2.4vw;
        padding-bottom: 2.8vw;
    }
    .faq_inner .q::before{
        width: 4vw;
        height: 4vw;
        border-radius: 2vw;
        font-size: 1.9vw;
        line-height: 4vw;
    }
    .faq_inner .q::after{
        width: 2.6vw;
        height: 2.6vw;
        border-radius: 1.3vw;
        top: 0.7vw;
        font-size: 1.7vw;
        line-height: 2.6vw;
    }
    .faq_inner .q p{
        padding: 0 4.6vw 0 6vw;
        font-size: 1.8vw;
    }
    .faq_inner .a{
        margin-top: 3vw;
    }
    .faq_inner .a::before{
        width: 4vw;
        height: 4vw;
        border-radius: 2vw;
        font-size: 1.9vw;
        line-height: 4vw;
    }
    .faq_inner .a p{
        padding-left: 6vw;
    }
    .faq_inner .a p strong{
        font-size: 1.8vw;
    }


    /* corporate
       ================================================================== */

    .corporate_block{
        padding-bottom: 16vw;
    }
    .corporate_box .item{
        margin-top: 4.3vw;
    }
    .corporate_box .item:first-child{
        margin-top: 4.3vw;
    }
    .corporate_box .title{
        padding: 1.7vw 5vw;
        font-size: 2.8vw;
        text-align: left;
    }
    .corporate_box .table_box{
        padding: 3.8vw 2.5vw 0 2.5vw;
    }


    /* privacy
        ================================================================== */

    .privacy_block{
        padding: 7vw 0 16vw 0;
    }
    .privacy_block .inner{
        padding: 0 5vw;
    }
    .privacy_block .top_text{
        font-size: 1.6vw;
    }
    .privacy_box .item{
        margin-top: 4vw;
    }
    .privacy_box .item:first-child{
        margin-top: 6vw;
    }
    .privacy_box .title{
        font-size: 2.4vw;
    }
    .privacy_box p{
        margin-top: 2vw;
    }


    /* contact
       ================================================================== */

    .contact_block{
        padding: 4vw 0 16vw 0;
    }
    .contact_block .top_text{
        margin-bottom: 5.5vw;
    }
    .contact_box{
        padding-top: 1.8vw;
    }
    .contact_box .item{
        margin-top: 3.5vw;
    }
    .contact_box .title{
        font-size: 1.8vw;
    }
    .contact_box .input{
        margin-top: 1vw;
    }
    input[type="text"],
    input[type="date"],
    input[type="tel"],
    input[type="email"],
    textarea,
    select{
        padding: 1.2vw 1.8vw;
        font-size: 1.5vw;
    }
    .contact_privacy{
        height: 22vw;
        margin-top: 3.5vw;
        padding: 1.5vw 1vw;
    }
    .contact_privacy_check{
        margin-top: 4vw;
    }
    .contact_box .btn_box{
        margin-top: 5vw;
    }


    /* thanks
        ================================================================== */

    .thanks_block{
        padding: 7vw 0 16vw 0;
    }
    .form_step{
        width: 60vw;
        margin: 0 auto;
    }
    .form_step .item{
        min-width: 14vw;
        height: 5vw;
        padding: 0 1.7vw 0 1vw;
        border-radius: 2.5vw;
    }
    .form_step .num{
        width: 3vw;
        height: 3vw;
        margin-right: 1vw;
        border-radius: 1.5vw;
        font-size: 1.8vw;
        line-height: 3vw;
    }
    .form_step p{
        font-size: 1.8vw;
    }
    .thanks_box{
        width: 85vw;
        margin: 5vw auto 0 auto;
        padding: 3vw  3vw 4.5vw 3vw;
    }
    .thanks_box .title{
        font-size: 2vw;
    }
    .thanks_box p{
        margin-top: 1vw;
    }
    .thanks_box .back_btn{
        margin-top: 3.5vw;
    }
    .thanks_box .back_btn a{
        width: 19vw;
        height: 5vw;
        font-size: 1.4vw;
    }
    .thanks_box .back_btn a .arrow{
        width: 0.8vw;
        right: 2.6vw;
    }

    
}
@media screen and (min-width : 1040px){    


    /* under_kv
       ================================================================== */
    .under_kv{
        margin: 0 0 0;
    }

    /* under_kv_top */
    .under_kv_top .inner{
        height: 190px;
    }

    .under_kv_top .inner:before{
        width: 653px;
    }

    /* page_title */
    .page_title .eng{
        font-size: 16px;
        letter-spacing: 0.20em;
    }

    .page_title .jpn{
        margin: 6px 0 0;
        font-size: 28px;
    }
    .page_title .jpn small{
        margin-top: 10px;
        font-size: 24px;
    }
    .page_title .jpn big{
        font-size: 34px;
    }
    .page_title .cat{
        font-size: 26px;
    }
    
    /* under_kv_wide */
    .under_kv_wide{
        position: relative;
    }

    .under_kv_wide .kv_photo:after{
        height: 180px;
    }

    .under_kv_wide .inner{
        padding-top: 68px;
        height: 724px;
    }

    .under_kv_wide .page_title .eng{
        font-size: 16px;
    }

    .under_kv_wide .page_title .jpn{
        margin: 8px 0 0;
        font-size: 28px;
    }

    .under_kv_wide .center_txt{
        margin: 74px auto 0;
    }

    .under_kv_wide .center_txt .ttl{
        font-size: 24px;
        letter-spacing: 0.6em;
    }

    .under_kv_wide .center_txt .txt01,
    .under_kv_wide .center_txt .txt02{
        margin: 40px 24px 0 0;
        font-size: 17px;
    }

    .under_kv_wide .center_txt .txt02{
        margin: 100px 0 0 0;
    }

    .under_kv_wide .bottom_txt{
        margin: 30px auto 0;
        font-size: 14px;
        line-height: 24px;
    }

    /* plan_kv */
    .plan_kv{
        position: relative;
    }

    .plan_kv .inner{
        height: 500px;
    }

    .plan_kv .text_box{
        padding: 50px 0 0;
        width: 453px;
        right: 25px;
        align-items: flex-start;
    }

    .plan_kv .page_title .jpn{
        font-size: 55px;
        letter-spacing: .3em;
    }

    .plan_kv .page_title .eng{
        margin: 23px 0 0;
        font-size: 24px;
    }

    .plan_kv .catch{
        padding: 50px 0 0;
        font-size: 20px;
    }


    /* plan
       ================================================================== */

    .plan_top_title .icon{
        width: 240px;
    }
    .plan_top_title h3{
        width: 240px;
        margin-top: 15px;
        font-size: 20px;
    }

    .plan_contents_title{
        padding: 0 50px;
    }
    .plan_contents_title .num{
        font-size: 66px;
    }
    .plan_contents_title .num::before{
        width: 83px;
        height: 21.5px;
    }
    .plan_contents_title .title_box{
        margin-left: 40px;
    }
    .plan_contents_title .title{
        font-size: 28px;
    }
    .plan_contents_title .small{
        margin-top: 4px;
        font-size: 16px;
    }
    .plan_contents_title p{
        margin: 0 0 0 40px;
        padding-left: 40px;
    }

    .plan_top{
        padding: 33px 0 60px 0;
    }
    .plan_top .box{
        padding: 60px 50px 0 50px;
    }
    .plan_top .box .item{
        width: 284px;
    }
    .plan_top .box .thum{
        height: 271px;
    }
    .plan_top .box .thum img{
        height: 271px;
    }
    .plan_top .box .title{
        margin-top: 13px;
        font-size: 24px;
    }
    .plan_top .box p{
        margin-top: 14px;
        font-size: 14px;
    }
    .plan_top .anime_btn{
        margin-top: 30px;
    }

    .plan_contents_2{
        padding: 60px 0 70px 0;
    }

    .plan_contents_2 .box{
        padding: 0 50px;
    }
    .plan_contents_2 .box .item{
        margin-top: 60px;
    }
    .plan_contents_2 .box .item:first-child{
        margin-top: 40px;
    }
    .plan_contents_2 .box .thum{
        width: 590px;
    }
    .plan_contents_2 .box .cloud{
        width: 357px;
        margin: 53px 0 0 -66px;
    }
    .plan_contents_2 .box .item:nth-child(even) .thum{
        width: 561px;
    }
    .plan_contents_2 .box .item:nth-child(even) .cloud{
        width: 382px;
        margin: 30px -40px 0 0;
    }
    .plan_contents_2.girls_contents_2 .item.item_3 .cloud{
        margin-top: 71px;
    }
    .plan_contents_2.girls_contents_2 .item.item_4 .thum{
        width: 576px;
    }
    .plan_contents_2.girls_contents_2 .item.item_4 .cloud{
        width: 384px;
        margin: 126px -63px 0 0;
    }
    .plan_contents_2.girls_contents_2 .item.item_5 .thum{
        width: 554px;
    }
    .plan_contents_2.girls_contents_2 .item.item_5 .cloud{
        width: 418px;
        margin: 65px 0 0 -63px;
    }

    .plan_cocoon{
        padding: 60px 50px 0 50px;
    }
    .plan_cocoon .balloon{
        width: 400px;
        padding: 8px;
        font-size: 16px;
    }
    .plan_cocoon .title{
        margin-top: 10px;
        font-size: 28px;
    }
    .plan_cocoon .title small{
        font-size: 22px;
    }
    .plan_cocoon .thum{
        margin-top: 22px;
    }
    .plan_cocoon p{
        margin-top: 17px;
    }
    .plan_cocoon .price_box{
        width: 480px;
        margin: 10px auto 0 auto;
        padding: 10px 20px;
    }
    .plan_cocoon .icon{
        padding: 3px 10px;
        font-size: 14px;
    }
    .plan_cocoon .text{
        padding-left: 10px;
    }
    .plan_cocoon .text big{
        font-size: 18px;
    }
    .plan_cocoon .text small{
        font-size: 14px;
    }

    .plan_contents_3{
        padding: 64px 0 60px 0;
    }
    .plan_contents_3 .box{
        padding: 43px 50px 0 50px;
    }
    .plan_contents_3 .box .ice{
        width: 398px;
    }
    .plan_contents_3 .box .detail{
        width: 473px;
    }
    .plan_contents_3 .box .title{
        padding: 20px 0 0 28px;
        font-size: 24px;
    }
    .plan_contents_3 .box .title::before{
        width: 29px;
        height: 31px;
    }
    .plan_contents_3 .box .text_box{
        margin-top: -15px;
    }
    .plan_contents_3 .box .acc{
        width: 185px;
    }
    .plan_contents_3 .box p{
        width: calc(100% - 200px);
        margin-left: -20px;
        font-size: 18px;
    }
    .plan_contents_3 .box .thum{
        margin-top: -5px;
    }
    .plan_contents_3.family_contents_3 .box{
        padding-top: 60px;
    }
    .plan_contents_3.family_contents_3 .box .detail{
        width: 100%;
        padding: 40px 0 0 44px;
    }
    .plan_contents_3.family_contents_3 .box .cloud{
        width: 462px;
        margin: 0 0 0 -37px;
    }
    .plan_contents_3.family_contents_3 .box .thum{
        width: 340px;
    }
    .plan_contents_3.family_contents_3 .box .acc{
        width: 185px;
        top: 55%; right: 50px;
    }

    .plan_souvenir{
        padding: 60px 0;
    }
    .plan_souvenir .box{
        padding: 63px 50px 0 50px;
    }
    .plan_souvenir .box .item{
        width: 270px;
    }
    .plan_souvenir .box .title{
        margin-top: 32px;
        font-size: 24px;
    }
    .plan_souvenir .box p{
        margin-top: 11px;
        font-size: 18px;
    }

    .couple_page .plan_contents_2 .full_thum{
        margin-top: 23px;
        padding: 0 50px;
    }
    .plan_contents_3.couple_contents_3 .box{
        padding-top: 57px;
    }
    .plan_contents_3.couple_contents_3 .box .item{
        width: 440px;
    }
    .plan_contents_3.couple_contents_3 .box .title{
        width: 317px;
    }
    .plan_contents_3.couple_contents_3 .box .thum{
        margin-top: -32px;
    }
    .plan_contents_3.couple_contents_3 .cloud{
        width: 554px;
        margin: -60px auto 0 auto;
    }
    .plan_contents_4.couple_contents_4{
        padding: 40px 0 80px 0;
    }
    .plan_contents_4.couple_contents_4 .box{
        margin-top: 60px;
        padding: 0 50px;
    }
    .plan_contents_4.couple_contents_4 .image{
        width: 568px;
    }
    .plan_contents_4.couple_contents_4 .detail{
        width: 277px;
        margin-left: 22px;
    }
    .plan_contents_4.couple_contents_4 .cloud{
        width: 466px;
        bottom: -49px; right: -90px;
    }


    /* pankz
       ================================================================== */
    .pankz{
        padding: 10px 25px 0;
        box-sizing: border-box;
    }

    .pankz > li{
        margin: 0 20px 15px 0;
    }

    .pankz > li::before{
        width: 6px;
        height: 20px;
        left: calc(100% + 6px);
    }

    .pankz > li > span,
    .pankz > li a{
        font-size: 14px;
    }


    /* block_title
       ================================================================== */
    .block_title{
        margin: 0 0 0;
        padding: 0 50px 20px;
    }

    .block_title .first{
        font-size: 28px;
    }

    .block_title .f22{
        font-size: 22px;
        line-height: 38px;
    }

    .block_title .second{
        margin: 10px 0 0;
        font-size: 16px;
    }


    /* line_deco_title
       ================================================================== */
    .line_deco_title > span{
        padding: 0 0 0 57px;
        font-size: 24px;
        line-height: 59px;
    }

    .line_deco_title.center > span:before,
    .line_deco_title.center > span:after,
    .line_deco_title > span:before{
        width: 46px;
        top: 32px;
    }

    .line_deco_title.center > span{
        padding: 0 30px;
    }


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
    }

    .kv .video{
        height: 100vh;
    }

    .kv .inner{
        padding-bottom: 200px;
    }

    .kv .inbox .title .eng{
        font-size: 18px;
    }

    .kv .inbox .title .jpn{
        margin: 15px 0 0;
        font-size: 40px;
        line-height: 60px;
    }

    .kv .inbox .text{
        margin: 40px 0 60px;
        font-size: 16px;
        line-height: 50px;
    }


    /* message
       ================================================================== */
    .message{
        margin: 0 0 0;
    }

    .message .time{
        padding: 11px 15px 16px;
        width: 263px;
        position: absolute;
        top: -40px;
        right: 0;
        z-index: 2;
        border-radius: 15px 0 0 15px;
        box-sizing: border-box;
        justify-content: flex-start;
    }

    .message .time .time_box{
        display: block;
    }

    .message .time .ttl{
        padding: 1px 10px;
        font-size: 14px;
        display: inline-block;
    }

    .message .time p{
        margin: 5px 0 0
    }

    .message .time p span{
        font-size: 16px;
    }

    .message .time p .siz_l{
        font-size: 17px;
    }

    /* box01 */
    .message .box01{
        padding: 94px 0 90px;
    }

    .message .box01 .title{
        font-size: 40px;
    }

    .message .box01 .title .siz_s{
        font-size: 36px;
    }

    .message .box01 p{
        font-size: 22px;
    }

    .message .box01 .title + p{
        margin: 45px 0 0;
    }

    .message .box01 p + p{
        margin: 10px 0 0;
    }

    /* box02 */
    .message .box02{
        background-image: url("../images/index/webp/message_bg.webp");
    }

    .message .box02:before{
        display: none;
    }

    .message .box02 .text_box{
        margin: 0 0 0 auto;
        padding: 33px 50px 50px 40px;
        width: 50%;
        box-sizing: border-box;
    }

    .message.about_page_block .box02 .text_box{
        padding-top: 68px;
    }

    .message .box02 .certification{
        margin: 0 0 32px;
        display: flex;
        justify-content: flex-start;
    }

    .message .box02 .certification li{
        width: 191px;
    }

    .message .box02 .certification li:nth-child(2){
        margin-left: 40px;
        width: 140px;
    }

    /* message_text */
    .message_text .title + .title{
        margin: 0 0 0;
    }

    .message_text .title > span{
        font-size: 18px;
        line-height: 38px;
    }

    .message_text .title .sub{
        padding-left: 20px;
    }

    .message_text .txt{
        margin: 11px 0 0;
        font-size: 16px;
        line-height: 28px;
    }

    /* movie */
    .message .movie{
        margin: 0 auto;
        padding: 60px 0 100px;
        width: 900px;
        box-sizing: border-box;
    }

    .message .movie .title{
        font-size: 40px;
    }

    .message .movie .title .siz_s{
        font-size: 36px;
    }

    .message .movie .youtube{
        margin: 30px auto 0;
        width: 720px;
    }

    .message .movie .youtube iframe{
        height: 400px;
    }

    .message .movie .block_title{
        margin: 90px 0 0;
    }

    .message .movie p{
        margin: 26px 0 0;
        font-size: 16px;
        line-height: 34px;
    }

    /* box03 */
    .message .box03{
        padding: 60px 0;
    }

    .message .box03 .certification_list{
        margin: 0 auto;
        width: 900px;
        display: flex;
        flex-wrap: wrap;
    }

    .message .box03 .certification_list > li + li{
        margin: 0 0 0;
    }

    .message .box03 .certification_list > li{
        padding: 0 35px;
        width: 50%;
        box-sizing: border-box;
    }

    .message .box03 .certification_list .thm{
        margin: 0 auto;
        width: 219px;
    }

    .message .box03 .certification_list > li:nth-child(2) .thm{
        width: 178px;
    }

    .message .box03 .certification_list .txt{
        margin: 30px 0 0;
    }


    /* index_facilities
       ================================================================== */
    .index_facilities .top{
        background-image: url("../images/index/webp/facilities_bg.webp");
    }

    .index_facilities .top .text_box{
        margin: 0 0 0 auto;
        padding: 100px 0;
        width: 50%;
        min-height: 484px;
        box-sizing: border-box;
    }

    .index_facilities .top .text{
        margin: 20px 0 0;
        font-size: 16px;
        line-height: 40px;
    }

    /* bottom */
    .index_facilities .bottom{
        padding: 60px 0 70px;
    }

    .index_facilities .facilities_slider{
        margin: 0 auto;
        width: 677px;
    }

    .index_facilities .facilities_slider .swiper-slide .card{
        padding: 0 7px;
    }

    .index_facilities .bottom .arrow_btn{
        margin: 36px 0 0;
    }


    /* gallery
       ================================================================== */
    .gallery{
        padding: 100px 0;
    }

    .gallery_box{
        margin: 0 auto;
        padding: 4px 0 18px;
        width: 900px;
        border-bottom: 1px solid #CBCBCB;
    }

    .gallery_box .name{
        padding: 20px 0 0;
        text-align: center;
    }

    .gallery_box .name a{
        fohnt-size: 16px;
    }

    .gallery_list{
        padding: 0;
    }

    .gallery_list > li{
        margin: 16px 16px 0 0;
        width: 167px;
    }

    .gallery_list > li:nth-child(2n+2){
        margin-right: 16px;
    }

    .gallery_list > li:nth-child(5n+5){
        margin-right: 0;
    }


    /* basic_slider
       ================================================================== */
    .basic_slider .control{
        margin: 20px auto 0;
        width: 691px;
        height: 50px;
    }

    /* swiper-pagination */
    .basic_slider .swiper-pagination{
        margin: 0 auto;
        padding: 0 0 0;
        width: calc(100% - 55px * 2);
    }

    .basic_slider .swiper-pagination-bullet{
        margin: 0 7px 0 !important;
        height: 3px;
    }

    /* arrows */
    .basic_slider .arrows .swiper-button-prev,
    .basic_slider .arrows .swiper-button-next{
        width: 50px;
        height: 50px;
    }


    /* photo_spot
       ================================================================== */
    .photo_spot{
        padding: 100px 0 0;
    }

    .photo_spot .block_title + p{
        margin: 30px 0 0;
        font-size: 16px;
        line-height: 40px;
        text-align: center;
    }

    .photo_spot .photo_spot_slider{
        margin: 40px auto 0;
        width: 1000px;
    }

    .photo_spot .photo_spot_slider .swiper-slide .card{
        padding: 0 15px;
    }

    .photo_spot .photo_spot_slider .swiper-slide .card .ttl{
        padding: 15px 0 0;
        font-size: 14px;
    }

    .photo_spot .photo_spot_slider .control{
        margin-top: 40px;
    }


    /* access_block
       ================================================================== */
    .access_block{
        padding: 0 0 150px;
    }

    .access_block .flex_box{
        margin: 20px auto 0;
        display: flex;
        flex-direction: row-reverse;
    }

    .access_block .text_box{
        padding: 0 50px 0 30px;
        width: 50%;
        box-sizing: border-box;
    }

    .access_block .text_box .name{
        width: 281px;
    }

    .access_block .text_box .list{
        margin: 25px 0 0;
    }

    .access_block .text_box .list > li{
        margin: 14px 0 0;
    }

    .access_block .text_box .list .ttl .eng{
        font-size: 20px;
        width: 132px;
    }

    .access_block .text_box .list .ttl .jpn{
        margin: 0 0 0;
        font-size: 13px;
        position: relative;
    }

    .access_block .text_box .list .ttl .car_icon{
        margin: 0 8px 0 -30px;
        width: 22px;
    }

    .access_block .text_box .list .txt{
        margin: 5px 0 0;
        font-size: 16px;
        line-height: 35px;
    }

    .access_block .text_box .list .imt_txt{
        margin: 11px 0 0;
    }

    .access_block .text_box .arrow_btn{
        margin: 46px 0 0;
    }

    .access_block .map_box{
        margin: 0 0 0;
        width: 50%;
    }

    .access_block .map_box .frame iframe{
        height: 552px;
    }

    .access_block .map_box .google_btn{
        margin: 14px 0 0;
        text-align: right;
    }


    /* index_topics
       ================================================================== */
    .index_topics{
        padding: 66px 0 47px;
    }

    .index_topics_list{
        margin: 30px auto 0;
        width: 920px;
        display: flex;
        flex-wrap: wrap;
    }

    .index_topics_list > li{
        margin: 20px 2% 0 0;
        width: 32%;
    }

    .index_topics_list > li:nth-child(3n+3){
        margin-right: 0;
    }

    .index_topics_list .box{
        display: block;
    }

    .index_topics_list .category > span{
        min-height: 20px;
        min-width: 154px;
        font-size: 11px;
    }

    .index_topics_list .thm{
        margin: 9px 0 0;
    }

    .index_topics_list .txt_box{
        margin: 8px 0 0;
        padding: 0 6px;
    }

    .index_topics_list .txt_box .date{
        font-size: 12px;
    }

    .index_topics_list .txt_box .ttl{
        font-size: 14px;
        line-height: 24px;
    }

    .index_topics .arrow_btn{
        margin: 50px 0 0;
        text-align: right;
    }


    /* craftsman
       ================================================================== */
    .craftsman{
        padding: 100px 0 60px;
    }

    .craftsman .list{
        margin: 25px auto 0;
        width: 950px;
    }

    .craftsman .list > li{
        margin: 25px 2% 0 0;
        width: 23.5%;
    }

    .craftsman .list > li:nth-child(2n+2){
        margin-right: 2%;
    }

    .craftsman .list > li:nth-child(4n+4){
        margin-right: 0;
    }

    .craftsman .list .name{
        padding: 9px 0 0;
        font-size: 16px;
    }


    /* about_work
       ================================================================== */
    .about_work{
        padding: 60px 0 100px;
    }

    .about_work .slider_wrap{
        margin: 60px 0 0;
    }

    .about_work .slider_wrap .inner{
        padding: 0;
        max-width: 100%;
    }


    /* about_rgc
       ================================================================== */
    .about_rgc{
        padding: 100px 0 0;
        position: relative;
    }

    .about_rgc .flex_box{
        margin: 0 0 0;
        padding: 0 25px;
        display: flex;
    }

    .about_rgc .text_box{
        padding: 0 50px 0 25px;
        width: 50%;
        box-sizing: border-box;
    }

    .about_rgc .text_box p{
        margin: 20px 0 0;
    }

    .about_rgc .photo{
        margin: 0 0 0;
        width: 50%;
    }


    /* about_vgcp
       ================================================================== */
    .about_vgcp{
        padding: 60px 0 0;
    }

    .about_vgcp .top_box{
        margin: 0 0 0;
        padding: 0 50px;
    }

    .about_vgcp .text_box{
        padding: 0 0 0;
    }

    .about_vgcp .text_box p{
        margin: 20px 0 0;
    }

    .about_vgcp .logo{
        margin: 25px auto 0;
        width: 386px;
    }

    .about_vgcp .photos{
        margin: 0 0 0;
        position: relative;
    }

    .about_vgcp .photos > li{
        margin: 0 0 0;
        width: 473px;
    }

    .about_vgcp .photos > li:nth-child(2){
        margin: 21px 0 0;
    }

    .about_vgcp .photos > li:last-child{
        margin: 0;
        width: 406px;
        position: absolute;
        top: 0;
        right: 0;
    }

    /*why_box */
    .why_box{
        margin: 80px auto 0;
        padding: 34px 50px 30px;
    }

    .why_box .line_deco_title + p{
        margin: 30px 0 0;
        padding: 0;
    }

    .why_box .list{
        margin: 50px 0 0;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .why_box .list > li{
        margin: 0 0 0;
        width: 32%;
    }

    .why_box .list .ttl{
        padding: 2px 3px;
        font-size: 18px;
    }

    .why_box .list p{
        padding: 25px 20px 10px;
        min-height: 272px;
        box-sizing: border-box;
    }


    /* about_rules
       ================================================================== */
    .about_rules{
        padding: 60px 0 0;
    }

    .about_rules .top_box{
        padding: 0;
    }

    .about_rules .text_list{
        margin: 36px 0 0;
    }

    .about_rules .text_list > li{
        margin: 28px 0 0;
    }

    .about_rules .text_list .ttl{
        font-size: 18px;
    }

    .about_rules .text_list .ttl + p{
        margin: 6px 0 0;
        line-height: 30px;
        text-align: center;
    }

    .about_rules .bg_box{
        margin: 50px 0 0;
        padding: 44px 50px 23px;
    }

    .about_rules .bg_box .photo{
        width: 579px;
    }

    .about_rules .bg_box .list{
        margin: 20px 0 0;
    }

    .about_rules .bg_box .list > li{
        padding: 10px 0;
    }

    .about_rules .bg_box .list p{
        line-height: 30px;
    }


    /* workshop */

    .index_workshop{
        padding: 100px 0 120px 0;
    }
    .index_workshop .inner::before{
        width: 336px;
        height: 236px;
        bottom: -60px; right: -120px;
    }
    .index_workshop .block_title::before{
        width: 168px;
        height: 112px;
        top: 40px; left: -100px;
    }
    .index_workshop .block_title::after{
        width: 170px;
        height: 168px;
        top: -40px; right: -20px;
    }

    .index_workshop .experience{
        padding:60px 0 70px 0;
    }
    .index_workshop .grid{
        gap:20px;
    }
    .index_workshop .label{
        padding:5px 30px;
        top:15px;
        font-size: 18px;
    }
    .index_workshop .card3 .label,
    .index_workshop .card4 .label,
    .index_workshop .card5 .label,
    .index_workshop .card6 .label,
    .index_workshop .card9 .label,
    .index_workshop .card10 .label,
    .index_workshop .card11 .label,
    .index_workshop .card12 .label{
        padding: 5px 0;
    }
    .index_workshop .badge{
        margin-left: 10px;
        padding:3px 25px;
        font-size: 10px;
        transform: translateY(-2px);
    }
    .index_workshop .caption{
        padding:20px 25px;
    }
    .index_workshop .card:hover .caption{
        transform: translateY(0);
    }
    .index_workshop .card2 .caption,
    .index_workshop .card8 .caption{
        padding-right: 140px;
    }
    .index_workshop .today{
        padding: 5px 8px;
        top: 20px; right: 20px;
        font-size: 11px;
    }
    .index_workshop .cap_box{
        padding: 25px 18px 18px 18px;
    }
    .index_workshop .card:hover .cap_box{
        transform: translateY(0);
    }
    .index_workshop .cap_info{
        padding: 4px 8px;
        font-size: 11px;
    }
    .index_workshop .cap_name{
        height: 60px;
        font-size: 16px;
    }
    .index_workshop .cap_text{
        padding: 9px 6px 0 6px;
        font-size: 13px;
    }


    /* howto_slider */

    .howto_slide_block{
        padding: 60px 0 100px 0;
    }
    .index .howto_slide_block .block_title::before{
        width: 225px;
        height: 114px;
        right: 50px;
    }
    .howto_slide_box{
        width: 1000px;
        margin: 0 auto;
        padding-top: 40px;
        overflow: hidden;
    }
    .howto_slider.basic_slider .swiper-pagination{
        width: calc(100% - 5.5vw * 2);
    }
    .howto_slider.basic_slider .arrows{
        padding: 0;
    }


    /* business_top_title
        ================================================================== */

    .business_top_title{
        padding-top: 25px;
    }
    .business_top_title h3{
        margin: 0 50px;
        padding-left: 15px;
        font-size: 22px;
    }

    .business_top_btn{
        padding-bottom: 30px;
    }
    .business_top_btn .btn{
        width: 470px;
        margin: 0 50px;
    }
    .business_top_btn .btn a{
        padding: 13px 0;
        font-size: 18px;
        text-decoration: none;
        transition: .2s;
    }
    .business_top_btn .btn a:hover{
        background: #ED4343;
        color: #FFF;
    }


    /* anchor_link_block
       ================================================================== */

    .anchor_link_block{
        padding: 5px 0 26px 0;
    }
    .anchor_link_box{
        padding: 0 50px;
    }
    .anchor_link_box .item{
        padding-top: 15px;
        margin-right: 30px;
    }
    .anchor_link_box .item a{
        padding: 15px 50px 15px 20px;
        font-size: 18px;
        transition: .2s;
    }
    .anchor_link_box .item a:hover{
        background: #F47878;
        color: #FFF;
    }
    .anchor_link_box .item a small{
        font-size: 18px;
        transition: .2s;
    }
    .anchor_link_box .item a:hover small{
        color: #FFF;
    }
    .anchor_link_box .item a span{
        width: 22px;
        height: 22px;
        border-radius: 11px;
        right: 15px;
        transition: .2s;
    }
    .anchor_link_box .item a:hover span{
        background: #FFF;
    }
    .anchor_link_box .item a span img{
        width: 9px;
    }
    .anchor_link_box .item a:hover span img{
        filter: brightness(0) saturate(100%) invert(59%) sepia(10%) saturate(2558%) hue-rotate(314deg) brightness(102%) contrast(92%);
    }


    /* table_box
       ================================================================== */

    .table_box table th,
    .table_box table td{
        font-size: 16px;
    }
    .table_box table th{
        width: 255px;
        padding: 20px;
    }
    .table_box table td{
        padding: 20px 0 20px 50px;
    }
    .table_box table td a:hover{
        text-decoration: none;
    }


    /* page_top_intro
       ================================================================== */

    .page_top_intro{
        padding: 45px 25px 80px 25px;
    }
    .page_top_title{
        padding: 0 25px;
    }
    .page_top_title small{
        font-size: 16px;
    }
    .page_top_title span{
        font-size: 28px;
    }
    .page_top_intro .text_box{
        margin-top: 11px;
        padding: 23px 25px 0 25px;
    }
    .page_top_intro .btn .arrow_btn{
        top: -55px; right: 25px;
    }
    .intro_link_box{
        padding: 75px 25px 0 25px;
        gap: 60px;
    }
    .intro_link_box .item{
        width: 260px;
        margin-top: -50px;
    }
    .intro_link_box .item a{
        padding: 10px 0;
        transition: .2s;
    }
    .intro_link_box .item a:hover{
        color: #222;
    }
    .intro_link_box .thum{
        width: 60px;
    }
    .intro_link_box .text{
        width: calc(100% - 60px);
        padding: 0 20px;
        font-size: 16px;
        transition: .2s;
    }
    .intro_link_box .item a:hover .text{
        color: #222;
    }
    .intro_link_box .text::before{
        width: 9px;
        height: 11px;
    }
    .intro_link_box .item a:hover .text::before{
    }
    .intro_link_box .text small{
        font-size: 13px;
        transition: .2s;
    }
    .intro_link_box .item a:hover .text small{
        color: #FFF;
    }
    .intro_link_title{
        margin-top: 40px;
        padding: 3px;
        font-size: 14px;
    }


    /* full_box
        ================================================================== */

    .full_box{
        padding: 60px 0;
    }


    /* info_box
       ================================================================== */

    .info_box .detail_box{
        width: 450px;
        padding-left: 50px;
    }
    .info_box.reverse .detail_box{
        padding: 0 50px 0 0;
    }
    .info_box .title_box{
        padding: 0 0 5px 0;
    }
    .info_box .title{
        font-size: 28px;
    }
    .info_box .title small{
        font-size: 18px;
    }
    .info_box .sub_title{
        margin-top: 8px;
        font-size: 18px;
    }
    .info_box .text_box{
        padding-top: 30px;
    }
    .info_box .text_box .red_text{
        margin-top: -12px;
        padding: 0 0 10px 0;
        font-size: 16px;
    }
    .info_box .text_box .caution{
        margin-top: 10px;
        font-size: 16px;
    }
    .info_box .point_box{
        margin-top: 20px;
        padding: 10px 30px;
    }
    .info_box .point_box .icon{
        font-size: 15px;
    }
    .info_box .point_box .text{
        font-size: 14px;
    }
    .info_box .thum_box{
        width: 470px;
    }
    .info_box .thum_box .list{
        margin-top: 10px;
        gap: 8px;
    }
    .info_box .thum_box .list div{
        cursor: pointer;
    }


    /* bottom_faq_block
       ================================================================== */

    .bottom_faq_block{
        padding-top: 9;
    }


    /* accordion_box
       ================================================================== */

    .accordion_box{
        padding: 55px 25px 0 25px;
    }
    .accordion_title{
        padding: 8px;
        font-size: 16px;
        cursor: pointer;
    }
    .accordion_title::after{
        width: 26px;
        height: 26px;
        border-radius: 13px;
        right: 30px;
        line-height: 26px;
    }
    .accordion_box .coming_soon{
        width: 380px;
        padding: 30px 0 35px 0;
    }
    .accordion_box .coming_soon .title_box{
        padding-bottom: 20px;
    }
    .accordion_box .coming_soon .title{
        font-size: 26px;
    }
    .accordion_box .coming_soon .sub_title{
        margin-top: 5px;
        font-size: 12px;
    }
    .accordion_box .coming_soon p{
        margin-top: 15px;
        font-size: 24px;
    }
    .accordion_flow{
        padding: 60px 25px 0 25px;
        gap: 60px;
    }
    .accordion_flow .item{
        width: 420px;
        margin-top: -25px;
    }
    .accordion_flow .title_box{
        width: 300px;
        padding-bottom: 5px;
    }
    .accordion_flow .num{
        width: 30px;
        height: 30px;
        border-radius: 15px;
        font-size: 18px;
        line-height: 30px;
    }
    .accordion_flow .title{
        width: calc(100% - 30px);
        padding-left: 17px;
        font-size: 18px;
    }
    .accordion_flow .thum{
        margin-top: 20px;
    }
    .accordion_flow p{
        margin-top: 20px;
    }
    .accordion_flow .check_box{
        margin-top: 20px;
        padding: 10px 20px;
    }
    .accordion_flow .check_box .icon{
        font-size: 15px;
    }
    .accordion_flow .check_box .text{
        padding-left: 10px;
        font-size: 14px;
    }
    .accordion_option{
        margin: 35px 25px 0 25px;
        padding: 14px 40px 22px 40px;
    }
    .accordion_option .title{
        font-size: 17px;
    }
    .accordion_option p{
        margin-top: 10px;
        font-size: 14px;
    }
    .accordion_box .btn{
        padding: 36px 40px;
    }
    .accordion_flow .wide_inner{
        gap: 60px;
    }
    .accordion_flow .wide_inner .left{
        width: 420px;
    }
    .accordion_flow .wide_inner .right{
        width: 420px;
    }
    .accordion_flow .check_box .thum_in{
        margin-top: 10px;
        padding: 0 10px;
    }
    .accordion_box .add_box{
        margin-top: 14px;
    }
    .accordion_box .add_box div{
        padding: 14px 36px;
    }


    /* plan_point_block
       ================================================================== */

    .plan_point_block{
        padding: 70px 0;
    }
    .plan_point_block .top_title_box{
        width: 400px;
    }
    .plan_point_block .top_title_box .icon{
        padding-left: 20px;
        font-size: 30px;
    }
    .plan_point_block .top_title_box .top_title{
        margin-top: -5px;
        padding: 10px;
        font-size: 18px;
    }
    .plan_point_block .top_text{
        margin-top: 30px;
        font-size: 26px;
    }
    .plan_point_box{
        padding: 30px 50px 0 50px;
    }
    .plan_point_box .item{
        margin-top: 20px;
        gap: 20px;
    }
    .plan_point_box .text_box{
        width: 420px;
    }
    .plan_point_box .title{
        font-size: 26px;
    }
    .plan_point_box p{
        margin-top: 15px;
    }
    .plan_point_box .thum{
        width: 460px;
    }
    .plan_point_block .btn{
        margin-top: 35px;
    }
    .plan_point_block .btn .arrow_btn a{
        height: 43px;
        font-size: 16px;
    }


    /* product
       ================================================================== */

    .product_top_text{
        padding-top: 50px;
    }
    .product_block{
        padding-bottom: 160px;
    }
    .product_box{
        padding-top: 65px;
    }
    .product_box + .product_box{
        padding-top: 60px;
    }
    .product_box .box_title{
        padding: 5px;
        font-size: 20px;
    }
    .product_box .online_btn{
        padding-top: 60px;
    }
    .product_big{
        padding: 0 50px;
        gap: 30px;
    }
    .product_big .item{
        width: 435px;
        padding-top: 45px;
    }
    .product_big .name{
        padding: 20px 0 0 10px;
        font-size: 22px;
    }
    .product_big p{
        padding: 16px 0 0 10px;
    }
    .product_small{
        padding: 20px 50px 0 50px;
        gap: 20px;
    }
    .product_small .item{
        width: 210px;
        padding-top: 40px;
    }
    .product_small .name{
        padding: 13px 0 0 10px;
        font-size: 18px;
    }
    .product_small p{
        padding: 11px 0 0 10px;
        font-size: 14px;
    }
    .product_mid{
        padding: 20px 50px 0 50px;
        gap: 30px;
    }
    .product_mid .item{
        width: 280px;
        padding-top: 25px;
    }
    .product_mid .item:first-child{
        padding-top: 25px;
    }
    .product_mid .name{
        padding-top: 20px;
        font-size: 18px;
    }
    .product_mid p{
        padding-top: 11px;
        font-size: 14px;
    }


    /* enjoy
       ================================================================== */

    .enjoy_map_block{
        padding-bottom: 50px;
    }
    .enjoy_map_block .top_title{
        margin-top: 25px;
        padding-top: 22px;
        font-size: 28px;
    }
    .enjoy_map_block .top_title::before{
        width: 42px;
        height: 16px;
    }
    .enjoy_map_box{
        margin-top: 30px;
        padding-bottom: 40px;
    }
    .enjoy_map_box .box_title{
        width: 374px;
        height: 40px;
        border-radius: 20px;
        font-size: 19px;
    }
    .enjoy_map_box .spot_image{
        margin-top: 40px;
    }
    .park_map_box{
        padding: 100px 50px 0 50px;
    }
    .park_map_box .title{
        font-size: 23px;
    }
    .park_map_box .map_image{
        margin-top: 20px;
    }
    .park_map_box .print_btn{
        top: 100px; right: 50px;
    }
    .park_map_box .print_btn a{
        width: 153px;
        height: 33px;
        border: 1px solid #000;
        font-size: 13px;
        transition: .2s;
    }
    .park_map_box .print_btn a:hover{
        background: #FFF;
        color: #000;
    }
    .park_map_box .print_btn a span{
        font-size: 10px;
        transition: .2s;
    }
    .park_map_box .print_btn a:hover span{
        color: #000;
    }
    .enjoy_spot_block{
        padding: 100px 0;
    }
    .enjoy_spot_top_box{
        padding: 35px 50px 0 50px;
    }
    .enjoy_spot_top_box .right{
        width: 300px;
        padding-top: 30px;
    }
    .enjoy_spot_top_box .title{
        font-size: 28px;
    }
    .enjoy_spot_top_box p{
        margin-top: 30px;
    }
    .enjoy_spot_top_box .left{
        width: 572px;
    }
    .enjoy_spot_top_box .name{
        margin-top: 8px;
        font-size: 16px;
    }
    .enjoy_spot_box{
        padding: 20px 50px 0 50px;
        gap: 25px;
    }
    .enjoy_spot_box .item,
    .enjoy_spot_box .item:nth-child(even),
    .enjoy_spot_box .item:nth-child(5),
    .enjoy_spot_box .item:nth-child(6),
    .enjoy_spot_box .item:nth-child(7),
    .enjoy_spot_box .item:nth-child(8),
    .enjoy_spot_box .item:nth-child(9){
        width: calc(850px / 3);
    }
    .enjoy_spot_box .name{
        margin-top: 8px;
        font-size: 16px;
    }
    .craftsman_link_block{
        min-height: 570px;
    }
    .craftsman_link_block::before{
        width: 60vw;
    }
    .craftsman_link_box{
        width: 410px;
        padding: 0 0 0 460px;
    }
    .craftsman_link_box .title{
        width: 330px;
        font-size: 40px;
    }
    .craftsman_link_box ul{
        padding-top: 24px;
    }
    .craftsman_link_box li{
        font-size: 18px;
    }
    .craftsman_link_box p{
        padding-top: 13px;
    }
    .craftsman_link_box .anime_btn{
        padding-top: 19px;
    }
    .enjoy_message_block .top_text{
        margin-bottom: 60px;
        font-size: 24px;
    }
    .enjoy_message_block .arrow_btn.w321 a{
        width: 321px;
        margin-top: 50px;
    }


    /* souvenir
       ================================================================== */

    .souvenir{
        padding-bottom: 160px;
    }
    .souvenir_shop_thum{
        padding: 45px 0 0 0;
        gap: 18px;
    }
    .souvenir_pick_up_block{
        padding-top: 60px;
    }
    .souvenir_pick_up_block h3 .second{
        font-size: 16px;
    }
    .souvenir_pick_up_box{
        padding-top: 44px;
        gap: 24px;
    }
    .souvenir_pick_up_box .item{
        width: 440px;
        margin-top: 16px;
    }
    .souvenir_pick_up_box .title{
        width: 370px;
        height: 40px;
        border-radius: 20px;
        font-size: 17px;
    }
    .souvenir_pick_up_box .thum_box{
        padding: 25px 0 0 0;
    }
    .souvenir_pick_up_box .thum_box .main_thum span{
        width: 150px;
        padding: 3px 0;
        font-size: 10px;
    }
    .souvenir_pick_up_box .thum_box .list{
        margin-top: 10px;
        gap: 10px;
    }
    .souvenir_pick_up_box .thum_box .list div{
        cursor: pointer;
    }
    .souvenir_pick_up_box .thum_box .list div::before{
        height: calc(100% - 21px);
    }
    .souvenir_pick_up_box .thum_box .list div span{
        padding: 3px 0;
        font-size: 10px;
    }


    /* facilities
       ================================================================== */

    .facilities_kv{
        padding: 25px;
    }
    .facilities_kv h2{
        width: 328px;
    }
    .facilities{
        padding-bottom: 160px;
    }
    .facilities_tag{
        margin-left: 10px;
    }
    .facilities_tag div{
        margin-right: 5px;
        padding: 3px 4px;
        font-size: 12px;
    }
    .facilities .info_box .text_box .btn{
        margin-top: 30px;
    }
    .facilities .info_box .text_box .price_box{
        width: 345px;
        margin-top: 10px;
        padding: 8px 25px;
        border-radius: 100px;
    }
    .facilities .info_box .text_box .price_box .icon{
        width: 72px;
        padding: 2px 0;
        border-radius: 50px;
        font-size: 14px;
    }
    .facilities .info_box .text_box .price_box .text{
        width: calc(100% - 72px);
        padding-left: 30px;
        font-size: 16px;
    }
    .facilities .info_box .text_box .price_box .text big{
        font-size: 18px;
    }
    .facilities .info_box .text_box .price_box .text small{
        font-size: 14px;
    }


    /* workshop
       ================================================================== */

    .workshop{
        padding: 10px 0 160px 0;
    }
    .workshop .top_caution{
        padding: 0 25px;
    }
    .workshop .top_caution p strong{
        font-size: 18px;
    }
    .workshop .top_caution p a{
        font-size: 18px;
    }
    .workshop_tag{
        top: -5px; right: 0;
    }
    .workshop_tag div{
        width: 100px;
        padding: 2px;
        border-radius: 50px;
        font-size: 11px;
    }
    .workshop .info_box .text_box .btn{
        margin-top: 40px;
    }


    /* access
       ================================================================== */

    .access{
        padding-bottom: 160px;
    }
    .access_box{
        padding: 60px 25px 0 25px;
    }
    .access_box.car{
        padding-top: 40px;
    }
    .access_box .box_title{
        padding: 0 0 0 17px;
        font-size: 28px;
    }
    .car_box .right{
        width: 475px;
        margin-top: -35px;
    }
    .car_box .top_title{
        font-size: 12px;
    }
    .car_box .top_title span{
        margin-right: 13px;
        font-size: 22px;
    }
    .car_box .address{
        margin-top: 5px;
    }
    .car_inner{
        margin-top: -5px;
    }
    .car_box .item{
        margin-top: 20px;
        padding: 35px 25px 35px 30px;
    }
    .car_box .num{
        width: 30px;
        height: 30px;
        border-radius: 15px;
        font-size: 16px;
    }
    .car_box .title{
        width: calc(100% - 30px);
        padding-left: 18px;
        font-size: 22px;
    }
    .car_box p{
        margin-top: 18px;
    }
    .car_box .left{
        width: 450px;
        margin-top: 40px;
    }
    .access_box.car_navi{
        margin: 60px 25px 0 25px;
        padding: 30px 50px;
    }
    .car_navi .top_title{
        padding-left: 42px;
        font-size: 22px;
    }
    .car_navi .top_title::before{
        width: 30px;
        height: 30px;
        border-radius: 15px;
    }
    .car_navi .top_text{
        margin-top: 17px;
        font-size: 16px;
    }
    .car_navi_box .item{
        margin-top: 40px;
    }
    .car_navi_box .title{
        font-size: 20px;
    }
    .car_navi_box p{
        margin-top: 20px;
    }
    .bus_box{
        padding-top: 37px;
    }
    .bus_box .item{
        width: 345px;
        padding: 25px 30px;
        box-sizing: border-box;
    }
    .bus_box .item:last-child{
        width: 585px;
    }
    .bus_box .title{
        font-size: 24px;
    }
    .bus_box p{
        margin-top: 16px;
    }
    .access_box.info .table_box{
        margin-top: 30px;
    }
    .access_box.info .table_box .mail_btn{
        width: 210px;
        margin: 22px 0 0 0;
    }
    .access_box.info .table_box .mail_btn > a{
        padding: 8px 20px;
        border: 1px solid #000;
        transition: .2s;
    }
    .access_box.info .table_box .mail_btn > a:hover{
        background: #FFF;
    }
    .access_box.info .table_box .mail_btn .left_icon{
        width: 20px;
        left: 20px;
    }
    .access_box.info .table_box .mail_btn .arrow{
        width: 10px;
        right: 20px;
    }
    .access_box.info .table_box .mail_btn > a:hover .left_icon,
    .access_box.info .table_box .mail_btn > a:hover .arrow{
        filter: brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(2%) hue-rotate(147deg) brightness(102%) contrast(100%);
    }
    .access_box.info .table_box .mail_btn > a span{
        font-size: 16px;
        transition: .2s;
    }
    .access_box.info .table_box .mail_btn > a:hover span{
        color: #000;
    }


    /* business
       ================================================================== */

    .business_top_block{
        padding: 60px 0;
    }
    .business_top_block .center_text{
        margin-top: 32px;
        font-size: 22px;
    }
    .business_top_block .box{
        padding: 60px 50px 0 50px;
    }
    .business_top_block .item{
        width: 280px;
    }
    .business_top_block .num{
        width: 30px;
        height: 30px;
        border-radius: 15px;
        font-size: 18px;
    }
    .business_top_block .title{
        margin-top: 14px;
        font-size: 17px;
    }
    .business_top_block .thum{
        margin-top: 15px;
    }
    .business_top_block p{
        padding: 16px 0 0 0;
    }

    .business_cta{
        padding: 17px 0 13px 0;
    }
    .business_cta .catch{
        font-size: 18px;
    }
    .business_cta .tel{
        width: 420px;
    }
    .business_cta .number a{
        font-size: 50px;
        pointer-events: none;
    }
    .business_cta .time{
        font-size: 19px;
    }
    .business_cta .mail_btn{
        width: 330px;
        margin: 0 0 0 70px;
    }
    .business_cta .mail_btn > a{
        padding: 15px;
        border: 1px solid #000;
        transition: .2s;
    }
    .business_cta .mail_btn > a:hover{
        background: #FFF;
    }
    .business_cta .mail_btn .left_icon{
        width: 33px;
        left: 55px;
    }
    .business_cta .mail_btn .arrow{
        width: 8px;
        right: 45px;
    }
    .business_cta .mail_btn > a:hover .left_icon,
    .business_cta .mail_btn > a:hover .arrow{
        filter: brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(2%) hue-rotate(147deg) brightness(102%) contrast(100%);
    }
    .business_cta .mail_btn > a span{
        font-size: 18px;
    }
     .business_cta .mail_btn > a:hover span{
        color: #000;
    }

    .business_original{
        padding-top: 80px;
    }
    .business_original .box{
        padding: 0 25px;
    }
    .business_original .item{
        width: 450px;
        margin-top: 45px;
    }
    .business_original .thum{
        width: 97px;
    }
    .business_original .detail{
        width: calc(100% - 97px);
        padding-left: 27px;
    }
    .business_original .title{
        font-size: 16px;
    }
    .business_original p{
        margin-top: 16px;
    }

    .business_flow{
        padding-top: 80px;
    }
    .business_flow .box{
        padding-top: 60px;
    }
    .business_flow .thum{
        width: 98px;
    }
    .business_flow .detail{
        padding-top: 30px;
    }
    .business_flow .num{
        width: 30px;
        height: 30px;
        border-radius: 15px;
        font-size: 17px;
    }
    .business_flow .num::before{
        top: 143px;
    }
    .business_flow .title{
        margin-top: 13px;
        font-size: 18px;
    }
    .business_flow p{
        margin-top: 13px;
        font-size: 16px;
    }

    .business_slide{
        padding: 105px 0 60px 0;
    }
    .business_slide .top_title{
        width: 200px;
        padding: 3px;
        font-size: 18px;
    }
    .business_slide .box{
        margin-top: 30px;
    }
    .business_slide .item{
        width:438px;
        margin-right:20px;
        padding: 12px 40px;
    }
    .business_slide .title{
        font-size: 16px;
    }
    .business_slide .thum{
        margin-top: 5px;
    }
    .business_slide p{
        margin-top: 6px;
        font-size: 13px;
    }
    .business_slide .name{
        margin-top: 5px;
        font-size: 18px;
    }

    .business_contact{
        margin-bottom: 60px;
    }
    .business_contact .item{
        padding: 30px 42px 30px 35px;
    }
    .business_contact .text_box{
        padding-left: 25px;
    }
    .business_contact .title{
        font-size: 28px;
    }
    .business_contact p{
        margin-top: 9px;
        font-size: 18px;
    }

    .business_faq{
        padding: 90px 0 120px 0;
    }


    /* school
       ================================================================== */

    .school_contents{
        padding: 80px 0;
    }
    .school_contents .top_text{
        margin-top: 30px;
    }
    .school_contents .list{
        width: 600px;
        margin: 15px auto 0 auto;
        padding: 15px 45px;
        justify-content: center;
    }
    .school_contents .list div{
        padding: 0 5px;
    }
    .school_contents .thum{
        margin-top: 54px;
        padding: 0 50px;
    }
    .school_contents .box{
        margin-top: 20px;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }
    .school_contents .detail{
        width: 300px;
    }
    .school_contents .title{
        padding-left: 25px;
        font-size: 18px;
    }
    .school_contents .text{
        margin-top: 5px;
        padding: 15px 30px;
        font-size: 14px;
    }
    .school_contents .slide_box{
        width: 570px;
        margin: 0 0 0 22px;
        line-height: 0;
    }
    .school_contents .slide_box .control{
        margin: 0;
        height: 9px;
        position: absolute; bottom: -25px; right: 0;
    }
    .school_contents .slide_box .swiper-pagination-bullet{
        margin: 0 10px 0 !important;
        width: 9px;
        height: 9px;
        border-radius: 4.5px;
    }


    /* article
       ================================================================== */

    .article_pick_up{
        padding-top: 70px;
    }
    .article_pick_up h3{
        font-size: 24px;
    }
    .article_pick_up_slider{
        margin: 25px 0 0 0;
    }
    .article_pick_up .swiper-slide{
        width: 600px;
        height: 340px;
        margin: 0 15px;
    }
    .article_pick_up .swiper-slide a img{
        height: 340px;
    }
    .article_pick_up .swiper-slide span{
        padding: 4px 20px;
        top: 10px; left: 8px;
        font-size: 10px;
    }
    .article_pick_up .swiper-slide p{
        padding: 15px 15px 10px 15px;
    }
    .article_pick_up .control{
        margin: 10px 0 0;
        height: 30px;
    }
    .article_pick_up .swiper-pagination-bullet{
        margin: 0 10px 0 !important;
        width: 10px;
        height: 10px;
    }

    .article_list{
        padding: 60px 0 160px 0;
    }
    .article_list h3{
        font-size: 24px;
    }
    .category_list{
        margin-top: 30px;
    }
    .category_list ul{
        gap: 23px;
    }
    .category_list li{
    }
    .category_list li a{
        padding: 10px 30px;
        transition: .2s;
    }
    .category_list li a:hover,
    .category_list li.all a{
        background: #ED4343;
        font-weight: 700;
        color: #FFF;
    }
    .category_list li.all a:hover{
        background: #ED4343;
    }
    .category_list li a:hover{
        background: #5191AD;
    }
    .category_list li.COLUMN a:hover{
        background: #D6AE2A;
    }
    .category_list li.NEWS a:hover{
        background: #D95F62;
    }
    .article_list .box{
        padding: 15px 50px 0 50px;
        gap: 21px;
    }
    .article_list .item{
        width: 286px;
        margin-top: 15px;
    }
    .article_list .item:first-child{
        width: 286px;
    }
    .article_list .thum img{
        height: 286px;
    }
    .article_list .thum_box span{
        top: 10px; right: 8px;
    }
    .article_list .thum_box span a{
        padding: 3px 20px;
        font-size: 11px;
    }
    .article_list .date{
        margin-top: 7px;
        font-size: 14px;
    }
    .article_list .item:first-child .date::after{
        margin-left: 10px;
    }
    .article_list .title{
        margin-top: 6px;
    }
    .article_list .title a{
        font-size: 16px;
    }

    .pagination{
        margin-top: 60px;
        gap: 14px;
    }
    .pagination span,
    .pagination a{
        width: 44px;
        height: 44px;
        font-size: 24px;
        transition: .2s;
    }
    .pagination a:hover{
        background: #ED4343;
        color: #FFF;
    }
    .pagination a svg {
        width: 40px;
    }

    .article_block{
        padding: 35px 0 130px 0;
    }
    .article_box{
        width: 685px;
    }
    .article_box .date_box{
        padding-left: 25px;
    }
    .article_box .tag span{
        margin-right: 13px;
    }
    .article_box .tag span a{
        padding: 2px 30px;
        font-size: 13px;
    }
    .article_box .date{
        font-size: 12px;
    }
    .article_box .title{
        margin-top: 13px;
        padding-left: 25px;
        font-size: 26px;
    }
    .article_box .main_image{
        margin-top: 20px;
    }
    .article_detail{
        margin-top: 20px;
    }
    .article_btn{
        margin-top: 54px;
    }
    .article_btn div{
        width: 195px;
        margin: 0 8px;
    }
    .article_btn div a{
        padding: 14px 40px;
        display: block;
        font-size: 12px;
        transition: .2s;
    }
    .article_btn div a:hover{
        background: #ED4343;
    }
    .article_btn div.back{
        width: 266px;
    }
    .article_btn div a img{
        height: 18px;
        top: 14px;
    }
    .article_btn div.prev a img{
        left: 25px;
    }
    .article_btn div.next a img{
        right: 25px;
    }

    .article_block .new_article{
        width: 246px;
        margin-top: 35px;
    }
    .article_block .new_article{
    }
    .article_block .new_article h3{
        padding: 10px 20px;
        font-size: 15px;
    }
    .article_block .new_article .item{
        padding: 20px;
    }
    .article_block .new_article .item:nth-child(n + 2) .thum_box{
        width: 70px;
    }
    .article_block .new_article .item:first-child .thum img{
        height: 130px;
    }
    .article_block .new_article .item:nth-child(n + 2) .thum_box .thum img{
        height: 70px;
    }
    .article_block .new_article .item span{
        top:20px; left: 100px;
    }
    .article_block .new_article .item:first-child span{
        top: 27px; left: 24px
    }
    .article_block .new_article .item span a{
        padding: 2px 20px;
        font-size: 9px;
    }
    .article_block .new_article p{
        margin-top: 8px;
        font-size: 11px;
    }
    .article_block .new_article .item:nth-child(n + 2) p{
        width: calc(100% - 70px);
        margin-top: 20px;
        padding-left: 7px;
    }
    .article_block .new_article p a{
        font-size: 11px;
    }


    /* faq
       ================================================================== */

    .faq_top_text p{
        padding: 20px 50px 0 50px;
    }

    .faq_block{
        padding-bottom: 160px;
    }
    .faq_box{
        padding: 0 25px;
    }
    .faq_box .item{
        margin-top: 20px;
        padding-top: 40px;
    }
    .faq_box .item:first-child{
        margin-top: 20px;
    }
    .faq_box .title{
        height: 48px;
        border-radius: 24px;
        font-size: 20px;
    }
    .faq{
        padding-top: 10px;
    }
    .faq_inner{
        margin-top: 24px;
        padding-bottom: 28px;
    }
    .faq_inner .q::before{
        width: 40px;
        height: 40px;
        border-radius: 20px;
        font-size: 19px;
        line-height: 40px;
    }
    .faq_inner .q::after{
        width: 26px;
        height: 26px;
        border-radius: 13px;
        top: 7px;
        font-size: 17px;
        line-height: 26px;
    }
    .faq_inner .q p{
        padding: 0 46px 0 60px;
        font-size: 18px;
    }
    .faq_inner .a{
        margin-top: 30px;
    }
    .faq_inner .a::before{
        width: 40px;
        height: 40px;
        border-radius: 20px;
        font-size: 19px;
        line-height: 40px;
    }
    .faq_inner .a p{
        padding-left: 60px;
    }
    .faq_inner .a p strong{
        font-size: 18px;
    }


    /* corporate
       ================================================================== */

    .corporate_block{
        padding-bottom: 160px;
    }
    .corporate_box .item{
        margin-top: 43px;
    }
    .corporate_box .item:first-child{
        margin-top: 43px;
    }
    .corporate_box .title{
        padding: 17px 50px;
        font-size: 28px;
    }
    .corporate_box .table_box{
        padding: 38px 25px 0 25px;
    }


    /* privacy
        ================================================================== */

    .privacy_block{
        padding: 70px 0 160px 0;
    }
    .privacy_block .inner{
        padding: 0 70px;
    }
    .privacy_block .top_text{
        font-size: 16px;
    }
    .privacy_box .item{
        margin-top: 40px;
    }
    .privacy_box .item:first-child{
        margin-top: 60px;
    }
    .privacy_box .title{
        font-size: 24px;
    }
    .privacy_box p{
        margin-top: 20px;
    }


    /* contact
       ================================================================== */

    .contact_block{
        padding: 40px 0 160px 0;
    }
    .contact_block .top_text{
        width: 770px;
        margin: 0 auto 55px auto;
    }
    .contact_box{
        width: 770px;
        margin: 0 auto;
        padding-top: 18px;
    }
    .contact_box .item{
        margin-top: 35px;
    }
    .contact_box .title{
        font-size: 18px;
    }
    .contact_box .input{
        margin-top: 10px;
    }
    input[type="text"],
    input[type="date"],
    input[type="tel"],
    input[type="email"],
    textarea,
    select{
        padding: 12px 18px;
        font-size: 15px;
    }
    .contact_privacy{
        height: 220px;
        margin-top: 35px;
        padding: 15px 10px;
    }
    .contact_privacy_check{
        margin-top: 40px;
    }
    .contact_box .btn_box{
        margin-top: 50px;
    }
    

    /* thanks
        ================================================================== */

    .thanks_block{
        padding: 70px 0 160px 0;
    }
    .form_step{
        width: 600px;
    }
    .form_step .item{
        min-width: 140px;
        height: 50px;
        padding: 0 15px 0 10px;
        border-radius: 25px;
    }
    .form_step .num{
        width: 30px;
        height: 30px;
        margin-right: 10px;
        border-radius: 15px;
        font-size: 18px;
        line-height: 30px;
    }
    .form_step p{
        font-size: 18px;
    }
    .thanks_box{
        width: 854px;
        margin: 50px auto 0 auto;
        padding: 30px 30px 45px 30px;
    }
    .thanks_box .title{
        font-size: 20px;
    }
    .thanks_box p{
        margin-top: 10px;
    }
    .thanks_box .back_btn{
        margin-top: 35px;
    }
    .thanks_box .back_btn a{
        width: 190px;
        height: 46px;
        border:2px solid #222;
        font-size: 14px;
        transition: .2s;
    }
    .thanks_box .back_btn a:hover{
        background: #FFF;
        color: #222;
    }
    .thanks_box .back_btn a .arrow{
        width: 8px;
        right: 25px;
    }
    .thanks_box .back_btn a:hover .arrow{
        fill: #222;
    }

}
