@charset "UTF-8";

/*sp_topmenu
---------------------------------------------------------*/
.sp_topmenu .in_menu {
	display: none;
}
.sp_topmenu .com_linklist2_box{
    padding-top: 0;
    border-radius: 0 0 20px 20px;
}
.sp_topmenu .com_linklist2 li:nth-child(-n+2) a{
    height: 3em;	
}   


/*bnr
---------------------------------------------------------*/
.bnr_open{
	width: 70%;
	margin: 40px auto 0;
}
.bnr_air{
	margin: 50px auto 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.bnr_open{
	margin-top: 0%;
}
.bnr_air{
	margin-top: 2%;
}
}
/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.bnr_open{
	width: 100%;
	margin-top: 5%;
}
.bnr_air{
	margin-top: 4%;
}
}


/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	position: relative;
	width: 100%;
	height: 100vh;
    z-index: 501;
}
.m_img_area::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/m_bg@2x.jpg")no-repeat top left;
    background-size: 100% 100%;
    width: 59%;
    height: 80%;
    left: 0;
    top:0;
    z-index: -5;
}
.m_img_area::after{
    position: absolute;
    display: block;
    content: "";
    background:url("../images/top/m_abs@2x.png")no-repeat bottom left;
    background-size: 100% 100%;
    width: 37%;
    height: 45%;
    bottom: 0;
    left: 0;
    z-index: -4;
}
.m_img_area .m_img{
    position: relative;
    z-index: 0;
}
.m_img_area .m_img .m_slide_wrap {
	position: relative;
	width: 100%;
}
.m_img_area .m_img .m_slide_wrap .m_slider {
	position: relative;
	z-index: 0;
}
.m_img_area .m_img .m_slide_wrap{
    position: relative;
}
.m_img_area .m_img .inbox{
    position: relative;
    width: 79%;
    margin-left: auto;
}
.m_img_area .m_slider .swiper-slide .bg{
	position: relative;
	height: 100vh;
    border-radius: 200px 0 0 0;
	z-index: 0;
	overflow: hidden;
}
.m_img_area .m_slider .swiper-slide .bg::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	transition: transform 18.5s linear;	/*m_sliderの「delay×2 + speed」*/
}
.m_img_area .m_slider .slide1 .bg::before {background-image: url("../images/top/m_img1@2x.jpg");}
.m_img_area .m_slider .slide2 .bg::before {background-image: url("../images/top/m_img2@2x.jpg");}
.m_img_area .m_slider .slide3 .bg::before {background-image: url("../images/top/m_img3@2x.jpg");}
.m_img_area .m_slider .slide4 .bg::before {background-image: url("../images/top/m_img4@2x.jpg");}

.m_img_area .m_img .m_abs{
    position: absolute;
    top: 55px;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    max-width: 160px;
    width: 15%;
    z-index: 5;
}
.m_img_area .m_img .m_abs li{
    width: 44%;
}
.m_img_area .m_img .m_abs li:nth-child(1){
    padding-top: 40px;
}
.m_img_area .m_img .m_copy{
    position: absolute;
    left: 5.5%;
    bottom:180px;
    z-index: 5;
    width: 43%;
    max-width: 642px;
}
.m_img_area .m_deco {
    position: absolute;
    bottom: 0;
    left: 8.5%;
    z-index: 5;
    width: 25.5%;
}

/*ドット*/
.m_img .dotto {
    width: 95px;
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    margin-left: auto;
    margin-right: 2.5%;
}
.m_img .dotto .swiper-pagination-bullet {
	cursor: pointer;
	display: block;
	width: 12px;
    height: 12px;
	border-radius: 50%;
	background: #73D9CA;
	transition: all 0.4s;
}
.m_img .dotto .swiper-pagination-bullet-active {
	background: #FFA191;
}

/* 縦の調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 1020px){
.m_img_area .m_img .m_copy{
    width: 40%;
    left: 14%;
    bottom:160px;
}
}

/* 縦の調整
------------------------------------------*/
@media only screen and (max-width: 1650px) and (min-width: 960px) and (max-height: 1020px){
.m_img_area .m_img .m_copy{
    width: 40%;
    left: 14%;
    bottom: 9vw;
}
}

/* PC調整
------------------------------------------
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.m_img_area{
    height: 90vw!important;
}
.m_img_area .m_slider .swiper-slide .bg{
	height: 60vw!important;
}
.m_img_area .m_img .m_copy{
    bottom: 10vw;
}
}*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area{
    height: 77vw!important;
}
.m_img_area .m_slider .swiper-slide .bg{
	height: 58vw!important;
    border-radius: 140px 0 0 0;
}
.m_img_area .m_img .m_abs{
    top: 3vw;
}
.m_img_area .m_img .m_abs li:nth-child(1){
    padding-top: 3vw;
}
.m_img_area .m_img .m_copy{
    bottom: 9vw;
}

/*ドット*/
.m_img .dotto {
    width: 8vw;
    padding-top: 1.6vw;
    margin-right: 2%;
}
.m_img .dotto .swiper-pagination-bullet {
	width:9px;
    height: 9px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area{
    min-height: 125vw;
}
.m_img_area .m_slider .swiper-slide .bg{
	min-height: 83vw;
}
    
.m_img_area::before{
    width: 100%;
    height: calc(100% - 5vw);
    bottom: 5vw;
}
.m_img_area::after{
    background-image: url("../images/top/m_abs_sp@2x.png");
    width: 80%;
    height: 20%;
    bottom: 5vw;
}
.m_img_area .m_img .inbox{
    width: 94%;
}
.m_img_area .m_slider .swiper-slide .bg{
    border-radius: 100px 0 0 0;
}
.m_img_area .m_img .m_abs{
    top: -4vw;
    width:27%;
}
.m_img_area .m_img .m_abs li:nth-child(1){
    padding-top:6vw;
}
.m_img_area .m_img .m_copy{
    left: 6%;
    bottom:11vw;
    width:86%;
}
.m_img_area .m_deco {
    left: 8%;
    width: 55%;
}

/*ドット*/
.m_img .dotto {
    width: 25vw;
    padding-top: 15vw;
    margin-right: 4%;
}
.m_img .dotto .swiper-pagination-bullet {
	width: 13px;
    height: 13px;
}
}
    
    
/* topmed
---------------------------------------------------------*/
#topmed .w1380{
    padding-top: 110px;
    margin-bottom: 70px;
}
#topmed .topmed_index{
    position: relative;
    max-width: 1060px;
    margin: 0 auto;
    z-index: 10;
}
#topmed .topmed_index::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs01@2x.png")no-repeat top right;
    background-size: 100% auto;
    width: 15%;
    height: 150px;
    top: 0%;
	transform: translateY(-50%);
    right: 0;
}
#topmed .topmed_index h2{
    position: relative;
    width: 65%;
    max-width: 679px;
    margin: 0 auto;
}
#topmed .topmed_index .line{
    position: absolute;
    width: 13%!important;
    max-width: 138px;
    bottom: -15px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.topmed_index .cls-1{
  fill:none;
  stroke:#354A4C;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin: round;
  stroke-dasharray: 150;
  stroke-dashoffset: 150;
    opacity: 0;
}
.topmed_index.anime_on .cls-1{
    opacity: 1;
    animation: strokeAnimation 0.5s linear 0s forwards;
}
@keyframes strokeAnimation {
  0% { stroke-dashoffset: 150; }
  80% { stroke-dashoffset: 0; }
  100% { stroke-dashoffset: 0; }
}

#topmed .topmed_list li{
    float: left;
    width: 33.333%;
    padding: 0 3% 70px;
    box-sizing: border-box;   
    background: url("../images/top/abs03@2x.png")no-repeat top left #E9F9F6;
    background-size: 100% auto;
}
#topmed .topmed_list li.clr2{
    margin-top: 60px;
}
#topmed .topmed_list li.clr2{ background-color: #FFF1EE; }
#topmed .topmed_list li.clr3{ background-color: #FBF7D8;}

#topmed .topmed_list li .img1{
    margin: 0 auto 30px;
}
#topmed .topmed_list li .btn{
    font-size: min(300%,3.6vw);
    letter-spacing: 0.1em;
    line-height: 1em;
    text-align: center;
}
#topmed .topmed_list li .btn a{
    position: relative;
    color: #21B5AB;
    display: flex;
    justify-content: center;
    align-items: center;	
}
#topmed .topmed_list li.clr2 .btn a{    color: #FFA191;}
#topmed .topmed_list li.clr3 .btn a{    color: #DBAA25;}

#topmed .topmed_list li .btn a i{
    font-size: 70%;
}
#topmed .topmed_list li .icon-arrow1::after,
#topmed .topmed_list li a:hover .icon-arrow1::after{
    transition: 0.4s;
}
#topmed .topmed_list li.clr1 .icon-arrow1::after{    background: #21B5AB;}
#topmed .topmed_list li.clr2 .icon-arrow1::after{    background: #FFA191;}
#topmed .topmed_list li.clr3 .icon-arrow1::after{    background: #DBAA25;}

#topmed .topmed_list li.clr1 a:hover .icon-arrow1::after{    background: #41A19B;}
#topmed .topmed_list li.clr2 a:hover .icon-arrow1::after{    background: #E67F6E;}
#topmed .topmed_list li.clr3 a:hover .icon-arrow1::after{    background: #B3A649;}

#topmed .topmed_list li .txt dt{
    font-size: min(120%,2.1vw);
    font-weight: bold;
    text-align: center;
    margin: 1em 0;
}
#topmed .topmed_list li .img2{
    width: 88%;
    margin: 40px auto 0;
    margin-top: 40px;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
/*#topmed .w1380{
    padding-top: 0;
}*/
#topmed .topmed_list li .btn{
    letter-spacing: normal;
}
#topmed .topmed_list li .txt dt{
    letter-spacing: normal;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#topmed .w1380{
    padding-top: 5vw;
    margin-bottom: 3vw;
}
#topmed .topmed_index::before{
    top: 40%;
}
#topmed .topmed_list li{
    padding: 0 2% 3% 2.5%;
}
#topmed .topmed_list li.clr2{
    margin-top: 3vw;
}
#topmed .topmed_list li .img1{
    width: 114%;
    margin: 0 auto 2vw -7%;
}
#topmed .topmed_list li .btn{
    letter-spacing: normal;
}
#topmed .topmed_list li .btn a i{
    font-size:60%;
}
#topmed .topmed_list li .txt dt{
    margin: .8em 0 .5em;
    font-feature-settings: "palt";
    letter-spacing: normal;
}
#topmed .topmed_list li .img2{
    margin-top: 2vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#topmed .w1380{
    padding-top: 4vw;
    margin-bottom: 8vw;
}
#topmed .topmed_index{
    padding: 0 2%;
    box-sizing: border-box;
    margin-bottom: 6%;
}
#topmed .topmed_index::before{
    width: 18%;
    height: 16vw;
    top: 120%;
}
#topmed .topmed_index h2{
    width: 100%;
    margin-left: 0;
    margin-right: auto;
}
#topmed .topmed_index .line{
    width: 20%!important;
    bottom: -2vw;
}
#topmed .topmed_list li{
    float: none;
    width: 100%;
    padding: 0 5% 8%;
}
#topmed .topmed_list li.clr2{
    margin: 6% 0;
}
#topmed .topmed_list li .img1{
    width: 80%;
    margin: 0 auto 4%;
}
#topmed .topmed_list li .btn{
    font-size:220%;
}
#topmed .topmed_list li .txt dt{
    font-size: 110%;
    margin: 1em 0 .5em;
}
#topmed .topmed_list li .img2{
    margin: 4% auto 0;
}
}

    
    
    
    
    
/* nayami
---------------------------------------------------------*/
#nayami{
    margin-bottom: 115px;
}
#nayami .nayami_index{
    position: relative;
    max-width: 1245px;
    margin: 0 auto 100px;
    font-size: min(280%,4.3vw);
    letter-spacing: 0.22em;
    line-height: 1em;
    text-align: center;
    padding-top: 70px;
}
#nayami .nayami_index span{
    color: #21B5AB;
}
#nayami .nayami_index div{
    width: 9.6em;
    margin: 0 auto .6em;
}
#nayami .nayami_index::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs36@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 15%;
    max-width: 168px;
    height: 300px;
    top:0;
    left: 0;
    z-index: -1;
}
#nayami .nayami_index::after{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs37@2x.png")no-repeat top right;
    background-size: 100% auto;
    width: 15%;
    max-width: 226px;
    height: 300px;
    top:0;
    right: 0;
    z-index: -1;
}

#nayami .nayami_list{
    max-width: 1034px;
    margin: 0 auto -2%;
    display: flex;
    justify-content: start;
	flex-wrap: wrap;
}
#nayami .nayami_list li{
    position: relative;
    width: 23%;
    margin-right: 2.666%;
    margin-bottom: 2%;
    padding-bottom: 25px;
}
#nayami .nayami_list li:nth-child(4n){
    margin-right: 0;
}
#nayami .nayami_list li::before{
    position: absolute;
    display: block;
    content: "";
    background: #FFD9D3;
    background-size: 100% auto;
    width: 100%;
    height: 87%;
    bottom: 0;
    left: 0;
    z-index: -1;
}
#nayami .nayami_list li:nth-child(1)::before,
#nayami .nayami_list li:nth-child(7)::before{
    background: #FFD9D3;
}
#nayami .nayami_list li:nth-child(2)::before,
#nayami .nayami_list li:nth-child(5)::before{
    background: #F7EEA8;
}
#nayami .nayami_list li:nth-child(3)::before,
#nayami .nayami_list li:nth-child(8)::before{
    background: #CCE8E6;
}
#nayami .nayami_list li:nth-child(4)::before,
#nayami .nayami_list li:nth-child(6)::before{
    background: #CDF4D1;
}

#nayami .nayami_list li .img{
    margin: 0 auto 20px;
    width: 90%;
}
#nayami .nayami_list li:nth-child(5) .img,
#nayami .nayami_list li:nth-child(6) .img,
#nayami .nayami_list li:nth-child(7) .img,
#nayami .nayami_list li:nth-child(8) .img{
    margin-bottom: 10px!important;
}
#nayami .nayami_list li .btn{
    font-weight: bold;
    font-size: min(125%,1.9vw);
    letter-spacing: 0.12em;
    line-height: 1.5em;
    width: 80%;
    margin: 0 auto;
}
#nayami .nayami_list li:nth-child(5),
#nayami .nayami_list li:nth-child(6),
#nayami .nayami_list li:nth-child(7),
#nayami .nayami_list li:nth-child(8){
    padding-bottom: 20px;
}
#nayami .nayami_list li:nth-child(5) .btn,
#nayami .nayami_list li:nth-child(6) .btn,
#nayami .nayami_list li:nth-child(7) .btn,
#nayami .nayami_list li:nth-child(8) .btn{
    height: 2.5em;
    display: flex;
    align-items: center;
}
#nayami .nayami_list li a{
    position: relative;
    display: block;
    width: 100%;
}
#nayami .nayami_list li a i{
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: -0.5em;
    font-size:160%;
}
#nayami .nayami_list li a i::after,
#nayami .nayami_list li:hover a i::after{
    transition: 0.4s;
}
#nayami .nayami_list li:hover a i::after,
#nayami .nayami_list li:nth-child(7):hover a i::after{
    background: #E67F6E;
}
#nayami .nayami_list li:nth-child(2):hover a i::after,
#nayami .nayami_list li:nth-child(5):hover a i::after{
    background: #B3A649;
}
#nayami .nayami_list li:nth-child(3):hover a i::after,
#nayami .nayami_list li:nth-child(8):hover a i::after{
    background: #41A19B;
}
#nayami .nayami_list li:nth-child(4):hover a i::after,
#nayami .nayami_list li:nth-child(6):hover a i::after{
    background: #5A9E61;
}

#nayami .btn_list{
    margin: 80px auto 0;
    width: 65%;
    max-width: 610px;
    display: flex;
    justify-content: space-between;
}
#nayami .btn_list li{
    width: 48%;
}
#nayami .btn_list li a{
    position: relative;
    color: #fff;
    background: #293F42;
    display: block;
    border-radius: 10px;
    font-size: min(130%,2vw);
    font-weight: bold;
    line-height: 1em;
    padding: 1.7em 0 1.6em 3.8em;
    box-sizing: border-box;
}
#nayami .btn_list li a::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs13@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 1.2em;
    height: 1.5em;
    top: 50%;
	transform: translateY(-50%);
    left: 1.5em;
}
#nayami .btn_list li:nth-child(2) a::before{
    background-image: url("../images/top/abs14@2x.png");
}
#nayami .btn_list li a i{
    font-size:150%;
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    right: 7%;
    color: #293F42;
}
#nayami .btn_list li a i::after,
#nayami .btn_list li:hover a i::after{
    transition: 0.4s;
}
#nayami .btn_list li:hover a i::after{
    background: #F2E477;
}
#nayami .btn_list li a i::after{
    background: #fff;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#nayami .nayami_index{
    margin: 0 auto 6vw;
}
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#nayami{
    margin-bottom: 8vw;
}
#nayami .nayami_index{
    margin: 0 auto 4vw;
    letter-spacing: 0.2em;
    padding-top: 5vw;
}
#nayami .nayami_index div{
    margin: 0 auto .5em;
}
#nayami .nayami_list{
    margin: 0 auto -1.5%;
}
#nayami .nayami_list li{
    width: 23.5%;
    margin-right: 2%;
    margin-bottom: 1.5%;
    padding-bottom: 3vw;
}
#nayami .nayami_list li .img{
    margin: 0 auto 2vw;
}
#nayami .nayami_list li:nth-child(5) .img,
#nayami .nayami_list li:nth-child(6) .img,
#nayami .nayami_list li:nth-child(7) .img,
#nayami .nayami_list li:nth-child(8) .img{
    margin-bottom: 1vw!important;
}
#nayami .nayami_list li .btn{
    letter-spacing: 0.1em;
    width: 85%;
}
#nayami .nayami_list li:nth-child(5),
#nayami .nayami_list li:nth-child(6),
#nayami .nayami_list li:nth-child(7),
#nayami .nayami_list li:nth-child(8){
    padding-bottom: 2vw;
}
#nayami .nayami_list li a i{
    font-size:140%;
}
#nayami .btn_list{
    margin: 3vw auto 0;
}
#nayami .btn_list li{
    width: 48.5%;
}
#nayami .btn_list li a{
    padding: 1.4em 0 1.4em 3em;
}
#nayami .btn_list li a::before{
    left: 1.2em;
}
#nayami .btn_list li a i{
    right: 5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#nayami{
    margin-bottom: 10vw;
}
#nayami .nayami_index{
    margin: 0 auto 4vw;
    font-size: 150%;
    letter-spacing: 0.25em;
    line-height: 1.5em;
    text-align: left;
    padding-top: 0;
}
#nayami .nayami_index div{
    width: 10em;
    margin: 0 auto .6em 0;
}
#nayami .nayami_index::before{
    background-image: url("../images/top/abs3637_sp@2x.png");
    background-position: top right;
    width: 26%;
    max-width: 100%;
    height: 300px;
    top:0;
    left: auto;
    right: 0;
}
#nayami .nayami_index::after{
    display: none;
}
#nayami .nayami_list{
    margin: 0 auto -4%;
}
#nayami .nayami_list li{
    width: 48%;
    margin-right: 4%;
    margin-bottom: 4%;
    padding-bottom: 3vw;
}
#nayami .nayami_list li:nth-child(2n){
    margin-right: 0;
}
#nayami .nayami_list li::before{
    height: 87%;
}
#nayami .nayami_list li .img{
    margin: 0 auto 3vw;
    width: 80%;
}
#nayami .nayami_list li:nth-child(5) .img,
#nayami .nayami_list li:nth-child(6) .img,
#nayami .nayami_list li:nth-child(7) .img,
#nayami .nayami_list li:nth-child(8) .img{
    margin-bottom: 1vw!important;
}
#nayami .nayami_list li .btn{
    font-size: 88%;
    letter-spacing: 0.1em;
}
#nayami .nayami_list li:nth-child(5),
#nayami .nayami_list li:nth-child(6),
#nayami .nayami_list li:nth-child(7),
#nayami .nayami_list li:nth-child(8){
    padding-bottom: 3vw;
}
#nayami .nayami_list li:nth-child(5) .btn,
#nayami .nayami_list li:nth-child(6) .btn,
#nayami .nayami_list li:nth-child(7) .btn,
#nayami .nayami_list li:nth-child(8) .btn{
    height: 2.5em;
}
#nayami .nayami_list li a i{
    font-size:150%;
}
#nayami .btn_list{
    margin: 4vw auto 0;
    width: 100%;
    max-width: 100%;
}
#nayami .btn_list li{
    width: 48.5%;
}
#nayami .btn_list li a{
    font-size: 88%;
    padding: 1.5em 0 1.4em 2.7em;
}
#nayami .btn_list li a::before{
    left: 1em;
}
#nayami .btn_list li:nth-child(2) a::before{
    background-image: url("../images/top/abs14@2x.png");
}
#nayami .btn_list li a i{
    font-size:140%;
    right: 3%;
}
}

    
    
/* point
---------------------------------------------------------*/
#point{
    margin-bottom: 150px;
}
#point .point_bg{
    position: relative;
}
#point .point_bg::after{
    position: absolute;
    display: block;
    content: "";
    background: #F5FAFA;
    background-size: 100% auto;
    width: 100%;;
    height: 100%;
    left: 0;
    top:0;
    z-index: -2;
}

/*point0*/
#point .point0.point_bg{
    padding-bottom: 100px;
}
#point .point0.point_bg::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/point1_bg@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 100%;
    height: 1000px;
    top:0;
    left: 0;
    z-index: -1;
}
#point .point0 .point_index{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#point .point0 .point_index h2{
    width: 43%;
    margin-left: 17.5%;
}
#point .point0 .point_index .deco{
    position: absolute;
    width: 10%;
    top:0;
    left: 5%;
}
#point .point0 .point_index .img{
    width:35%;
}

/*point共通*/
#point .point_flex{
    display: flex;
    justify-content: space-between;
}
#point .point_flex .point_txtbox{
    width: 42%;
    box-sizing: border-box;
}
#point .point_txtbox_inbox{
    max-width: 532px;
}
#point .point_index1{
    font-size: min(170%,2.5vw);
    line-height: 1em;
    margin-bottom: 1em;
    display: flex;
    align-items: center;	
}
#point .point_index1 i{
    font-size:60%;
    margin: 0 .4em;
    box-sizing: border-box;
}
#point .point_index2{
    font-size: min(170%,2.5vw);
    letter-spacing: 0.13em;
    line-height: 1.5em;
    margin-bottom: 2.5rem;
}
#point .point_index2 p{
    margin-bottom: .8em;
}
#point .point_index2 h3{
    font-size: min(200%,4vw);
    letter-spacing: 0.14em;
}

/*point1*/
#point .point1 .point_slide_box{
    position: relative;
    width: 52.5%;
}
#point .point1 .point_slider1 .swiper-slide {
	width: 35vw;
	max-width: 450px;
}
#point .point1 .point_slide_box .deco{
    width: 24%;
    max-width: 183px;
    position: absolute;
    top: -45px;
    left: 40%;
    z-index: 2;
    filter: drop-shadow(0 0 2px rgba(0,0,0,0.2));
}
#point .point1 .point_slide_box .point_slider1{
    position: absolute;
    top:0;
    left: 0;
    width: 60vw;
    max-width: 1840px;
    overflow: hidden;
    pointer-events: none;
}
#point .point1 .point_txtbox{
    padding-left: 4%;
}
#point .point1 .point_txtbox_inbox{
    margin-left: auto;
}
#point .point1 .point_index1 i,
#point .point1 .point_index2 h3 span{
    color: #FFA191;
}
#point .point1 .col2{
    position: relative;
    z-index: 10;
    margin: 80px auto 0;
    width: 94%;
    max-width: 1220px;
    display: flex;
    justify-content: space-between;
}
#point .point1 .col2 li{
    position: relative;
    width: 48.8%;
    background: #FFA191;
    border-radius: 20px;
    padding: 25px 3%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;	
}
#point .point1 .col2 li:nth-child(2){
    background: #F2C036;
}
#point .point1 .col2 li,
#point .point1 .col2 li:hover{
    transition: 0.4s;
}
#point .point1 .col2 li:hover{    background: #FF8975;}
#point .point1 .col2 li:nth-child(2):hover{    background: #EDB20E;}

#point .point1 .col2 li .img{
    width: 43%;
}
#point .point1 .col2 li .txt{
    width: 52%;
    text-align: center;
}
#point .point1 .col2 li .txt dt{
    color: #fff;
    margin-bottom: .4em;
}
#point .point1 .col2 li .txt dt,
#point .point1 .col2 li .txt div{
    font-size: min(115%,1.8vw);
    line-height: 1.6em;
    font-weight: bold;
}
#point .point1 .col2 li .txt div{
    background: #fff;
    padding: .35em;
    border-radius: 100px;
    box-sizing: border-box;
    color: #FF674D;
    width: 96%;
    margin: .6em auto 0;
}
#point .point1 .col2 li .txt dd{
    font-size: min(190%,3vw);
    letter-spacing: 0.15em;
    line-height: 1.4em;
}
#point .point1 .col2 li .txt dd a{
    color: #FFFF6F;
}
#point .point1 .col2 li i{
    position: absolute;
    bottom: -0.4em;
    right: 2.5%;
    font-size: min(300%,4vw);
}
#point .point1 .col2 li i::after{    background: #FF674D;}
#point .point1 .col2 li:nth-child(2) i::after{    background: #C08325;}

#point .point1 .subpoint_list{
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
}
#point .point1 .subpoint_list li{
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;	
    font-size: min(115%,2vw);
    line-height: 1.6em;
    font-weight: bold;
    padding-left: 4.8em;
    box-sizing: border-box;
}
#point .point1 .subpoint_list li::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs17@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 3.7em;
    height: 3.7em;
    top: 50%;
	transform: translateY(-50%);
    left: 0;
}
#point .point1 .subpoint_list li:nth-child(1){
    width: 41%;
    background:url("../images/top/abs20@2x.png")no-repeat top right;
    background-size: auto 140%;
}
#point .point1 .subpoint_list li:nth-child(2){
    width: 53%;
}
#point .point1 .subpoint_list li:nth-child(2)::before{
    background-image: url("../images/top/abs18@2x.png");
}

/*point2*/
#point .point2{
    background: url("../images/top/point2_bg@2x.png")no-repeat top left;
    background-size: 100% auto;
}
#point .point2 .max_1500{
    position: relative;
    padding-top: 270px;
    margin-top: -160px;
    padding-bottom: 145px;
}
#point .point2 .max_1500::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/img16@2x.png")no-repeat bottom right;
    background-size: 100% auto;
    width: 12%;
    max-width: 153px;
    height: 300px;
    bottom: 40px;
    right: 7%;
}
#point .point2 .point_txtbox{
    padding-right: 4%;
}
#point .point2 .point_index1 i,
#point .point2 .point_index2 h3 span{
    color: #73D9CA;
}
#point .point2 .point_imgbox{
    width: 53%;
    max-width: 790px;
}
#point .point2 .point_imgbox div{
    position: relative;
    display: block;
}
#point .point2 .point_imgbox div::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/img15@2x.png")no-repeat bottom center;
    background-size: 100% auto;
    width:90%;
    max-width: 606px;
    height: 500px;
    bottom: -65px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 5;
}

/*point34*/
#point .point34{
    padding-bottom: 90px;
    background: url("../images/top/point3_bg@2x.png")no-repeat top left #E8F5F4;
    background-size: 100% auto;
}
#point .point34 .col2{
    display: flex;
    justify-content: space-between;
}
#point .point34 .col2 > li{
    width: 48%;
    max-width: 610px;
}
#point .point34 .col2 .point_txtbox{
    max-width: 532px;
    margin: 60px auto 0;
}
#point .point3 .point_index1 i,
#point .point3 .point_index2 h3 span{
    color: #7C69AB;
}
#point .point4 .point_index1 i,
#point .point4 .point_index2 h3 span{
    color: #F09C41;
}
#point .point_slider2{
    position: relative;
    margin-bottom: 70px;
}
#point .point_slider2::before{
    position: absolute;
    display: block;
    content: "";
    background: #E8F5F4;
    background-size: 100% auto;
    width: 100%;
    height: 50%;
    top:0;
    left: 0;
}
#point .point_slider2 .swiper-slide {
	width: 30vw;
	max-width: 420px;
}
#point .point_slider2 .swiper-slide.top{
    padding-top: 30px;
}
#point .point_slider2 .deco{
    width: 100%;
    height: 100%;
    position: absolute;
    max-width: 1500px;
    margin: 0 auto;
    top:0;
    left: 0;
    z-index: 2;
}
#point .point_slider2 .deco li{
    position: absolute;
    display: inline-block;
}
#point .point_slider2 .deco li:nth-child(1){
    top:-5px;
    left: 7%;
}
#point .point_slider2 .deco li:nth-child(2){
    top: -15px;
    right: 18%;
}
#point .point_slider2 .deco li:nth-child(3){
    bottom: -25px;
    left: 51%;
}

/*point5*/
#point .point5{
    display: flex;
    justify-content: space-between;
}
#point .point5 .point_index1 i,
#point .point5 .point_index2 h3 span,
#point .point5 .col2 h4 a{
    color: #58B6C8;
}
#point .point5 .col2 .icon-arrow1::after{
    background: #58B6C8;
}
#point .point5 .point_txtbox{
    width: 29%;
}
#point .point5 .col2{
    width: 71%;
    display: flex;
    justify-content: space-between;
}
#point .point5 .col2 li{
    width: 48%;
    max-width: 400px;
    border-bottom: 1px solid #58B6C8;
    padding-bottom: 2rem;
}
#point .point5 .col2 li div,
#point .point5 .col2 li p{
    max-width: 362px;
    margin: 0 auto;
}
#point .point5 .col2 li .btn{
    position: relative;
    font-size: min(205%,3vw);
    letter-spacing: 0.13em;
    line-height: 1.6em;
    margin-bottom: 1rem;
}
#point .point5 .col2 li .btn i{
    position: absolute;
    top:0;
    right: -0.3em;
    font-size: min(150%,3vw);
}
#point .point5 .col2 li .btn i::after,
#point .point5 .col2 li:hover .btn i::after{
    transition: 0.4s;
}
#point .point5 .col2 li:hover .btn i::after{
    background: #21899C;
}

/*no_shisetsu*/
#point .point5.no_shisetsu{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
#point .point5.no_shisetsu .point_txtbox{
    width: 38%;
}
#point .point5.no_shisetsu .col2{
    width: 62%;
}
#point .point5.no_shisetsu .col2 li{
    width: 100%;
    max-width: 100%;
}
#point .point5.no_shisetsu .col2 li div,
#point .point5.no_shisetsu .col2 li p{
	display: block;
    max-width: 100%;
}
#point .point5.no_shisetsu .col2 li .btn{
	display: inline-block;
}
#point .point5.no_shisetsu .col2 li .btn i{
	right: -2em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#point .point_index2{
    letter-spacing: 0.1em;
}
#point .point_index2 h3{
    letter-spacing: 0.1em;
}
#point .point_flex .point_txtbox{
    width: 43.5%;
}
/*point1*/
#point .point1 .point_txtbox{
    padding-left: 3%;
}
#point .point1 .col2 li{
    padding-left: 1%;
    padding-right: 2%;
}
#point .point1 .col2 li:nth-child(2){
    background: #F2C036;
}
#point .point1 .col2 li .txt{
    width: 55%;
}
#point .point1 .col2 li .txt div{
    letter-spacing: normal;
    width: 100%;
}
#point .point1 .col2 li:nth-child(1) .txt dd{
    letter-spacing: normal;
    font-feature-settings: "palt";
}
#point .point1 .subpoint_list{
    width: 130%;
}

/*point2*/
#point .point2 .point_txtbox{
    padding-right: 3%;
}
#point .point2 .max_1500::before{
    right: 4%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#point{
    margin-bottom: 8vw;
}

/*point0*/
#point .point0.point_bg{
    padding-bottom: 5vw;
}
#point .point0 .point_index h2{
    width: 48%;
    margin-left: 15%;
}
#point .point0 .point_index .img{
    margin-right: -1%;
}

/*point共通*/
#point .point_flex .point_txtbox_inbox > p{
    letter-spacing: normal;
}
#point .point1 .point_flex .point_txtbox{
    width: 45%;
}
#point .point2 .point_flex .point_txtbox{
    width: 43%;
}    
#point .point_index1{
    margin-bottom: .6em;
}
#point .point_index2{
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}
#point .point_index2 p{
    margin-bottom: .5em;
}
#point .point_index2 h3{
    letter-spacing: 0.05em;
    font-feature-settings: "palt";
}

/*point1*/
#point .point1 .point_slide_box{
    width: 52.5%;
    margin-top: 0;
}
#point .point1 .point_slide_box .deco{
    width:30%;
    top: -2vw;
    left: 40%;
}
#point .point1 .point_slider1 .swiper-slide {
	width: 30vw;
}
#point .point1 .point_txtbox{
    padding-left: 3%;
}
#point .point1 .col2{
    margin: 4vw auto 0;
}
#point .point1 .col2 li{
    width: 49.5%;
    padding: 2vw 1% 2.5vw 2%;
}
#point .point1 .col2 li .img{
    width: 43%;
}
#point .point1 .col2 li .txt{
    width: 56%;
}
#point .point1 .col2 li .txt dt{
    margin-bottom: .3em;
}
#point .point1 .col2 li .txt div{
    letter-spacing: normal;
    padding: .2em;
    margin: .5em auto 0;
}
#point .point1 .col2 li .txt dd{
    font-feature-settings: "palt";
    letter-spacing: normal;
}
#point .point1 .subpoint_list{
    width: 140%;
    margin-right: -20%;
    margin-top: 2.5vw;
}
#point .point1 .subpoint_list li{
    padding-left: 4em;
}
#point .point1 .subpoint_list li::before{
    width: 3.3em;
    height: 3.3em;
}

/*point2*/
#point .point2 .max_1500{
    padding-top: 18vw;
    margin-top: -10vw;
    padding-bottom: 6vw;
}
#point .point2 .max_1500::before{
    bottom: 10vw;
    right: auto;
    left:  4%;
}
#point .point2 .point_txtbox{
    padding-right: 3%;
}
#point .point2 .point_imgbox{
    margin-top: 1vw;
}
#point .point2 .point_imgbox div::before{
    bottom: -4vw;
}

/*point34*/
#point .point34{
    padding-bottom: 6vw;
}
#point .point34 .col2 .point_txtbox{
    margin:3vw auto 0;
}
#point .point_slider2{
    margin-bottom: 4vw;
}
#point .point_slider2 .swiper-slide {
	width: 28vw;
}
#point .point_slider2 .swiper-slide.top{
    padding-top: 2vw;
}
#point .point_slider2 .deco li{
    width: 5vw;
    height: 7vw;
}
#point .point_slider2 .deco li:nth-child(1){
    top:-1vw;
}
#point .point_slider2 .deco li:nth-child(2){
    top: -1vw;
}
#point .point_slider2 .deco li:nth-child(3){
    bottom: -2vw;
}
    
/*point5*/
#point .point5 .col2 li{
    padding-bottom: 1.5rem;
}
#point .point5 .col2 li .btn{
    letter-spacing: 0.1em;
    margin-bottom: .5rem;
}
#point .point5 .col2 li .btn i{
    right: 0;
}
	
/*no_shisetsu*/
#point .point5.no_shisetsu .point_txtbox{
    width: 30%;
}
#point .point5.no_shisetsu .col2{
    width: 70%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#point{
    margin-bottom: 12vw;
}

/*point0*/
#point .point0.point_bg{
    padding-bottom: 10vw;
}
#point .point0.point_bg::before{
    background-image: url("../images/top/point1_bg_sp@2x.png");
    top:-10vw;
}
#point .point0 .point_index{
    display: block;
}
#point .point0 .point_index h2{
    width:75%;
    margin: 0 auto 3%;
}
#point .point0 .point_index .deco{
    width:15%;
    top:-3vw;
    left: -5%;
}
#point .point0 .point_index .img{
    width:70%;
    margin: 0 auto;
}

/*point共通*/
#point .point_flex{
    display: block;
}
#point .point_flex .point_txtbox{
    width: 100%;
}
#point .point_txtbox_inbox{
    max-width: 100%;
}
#point .point_index1{
    font-size: 110%;
    margin-bottom: .7em;	
}
#point .point_index2{
    font-size: 120%;
    letter-spacing: 0.1em;
    line-height: 1.5em;
    margin-bottom: 1.5rem;
}
#point .point_index2 p{
    margin-bottom: .5em;
}
#point .point_index2 h3{
    font-size: 160%;
    letter-spacing: 0.1em;
}

/*point1*/
#point .point1 .point_slide_box{
    width: 100%;
    margin-top: 7vw;
}
#point .point1 .point_slider1 .swiper-slide {
	width: 40vw;
}
#point .point1 .point_slide_box .deco{
    width: 23%;
    top: -2vw;
    left: 40%;
}
#point .point1 .point_slide_box .point_slider1{
    position: static;
    width: 100%;
}
#point .point1 .point_txtbox{
    padding: 0 4%;
}
#point .point1 .col2{
    margin: 7vw auto 0;
    width: 92%;
    display: block;
}
#point .point1 .col2 li{
    width: 100%;
    border-radius: 10px;
    padding: 3.5vw 4%;
}
#point .point1 .col2 li:nth-child(2){
    margin-top: 3%;
}
#point .point1 .col2 li .txt dt{
    margin-bottom: .4em;
}
#point .point1 .col2 li .txt dt,
#point .point1 .col2 li .txt div{
    font-size: 85%;
}
#point .point1 .col2 li .txt div{
    padding: .2em;
    width: 100%;
    margin: .6em auto 0;
    letter-spacing: normal;
}
#point .point1 .col2 li .txt dd{
    font-size: 130%;
    letter-spacing: normal;
    font-feature-settings: "palt";
}
#point .point1 .col2 li i{
    bottom: -0.2em;
    right: -4%;
    font-size: 150%;
}
#point .point1 .subpoint_list{
    margin-top: 5vw;
}
#point .point1 .subpoint_list li{
    font-size: 85%;
    padding-left: 4em;
}
#point .point1 .subpoint_list li::before{
    width: 3.2em;
    height: 3.2em;
}

/*point2*/　
#point .point2{
    background-image: url("../images/top/point2_bg_sp@2x.png");
}
#point .point2 .max_1500{
    padding-top:0;
    margin-top: 15vw;
    padding-bottom: 5vw;
}
#point .point2 .max_1500::before{
    width: 22%;
    bottom: -6vw;
    right: 6%;
}
#point .point2 .point_txtbox{
    padding: 0 4%
}
#point .point2 .point_imgbox{
    width: 93%;
    margin-bottom: 15vw
}
#point .point2 .point_imgbox div::before{
    width:92%;
    bottom: -10vw;
}

/*point34*/
#point .point34{
    padding-top: 15vw;
    padding-bottom: 10vw;
    background-image: url("../images/top/point3_bg_sp@2x.png");
}
#point .point34 .col2{
    display: block;
}
#point .point34 .col2 > li{
    width: 100%;
    max-width: 100%;
    margin-bottom: 10vw;
}
#point .point34 .col2 > li:last-child{
    margin-bottom: 0;
}
#point .point34 .col2 .point_txtbox{
    max-width: 100%;
    margin: 5vw auto 0;
}
#point .point_slider2{
    margin-bottom: 7vw;
}
#point .point_slider2 .swiper-slide {
	width: 45vw;
}
#point .point_slider2 .swiper-slide.top{
    padding-top: 5vw;
}
#point .point_slider2 .deco li{
    width: 8vw;
    height: 12vw;
}
#point .point_slider2 .deco li:nth-child(1){
    top:-1vw;
    left: 4%;
}
#point .point_slider2 .deco li:nth-child(2){
    top: -1vw;
    right: 2%;
}
#point .point_slider2 .deco li:nth-child(3){
    bottom: -4vw;
    left: 45%;
}
    
/*point5*/
#point .point5{
    display: block;
}
#point .point5 .point_txtbox{
    width: 100%;
}
#point .point5 .col2{
    width: 100%;
    display: block;
}
#point .point5 .col2 li{
    width: 100%;
    max-width:100%;
    padding-bottom: 5vw;
    margin-bottom: 5vw;
}
#point .point5 .col2 li:last-child{
    margin-bottom: 0;
}
#point .point5 .col2 li div,
#point .point5 .col2 li p{
    max-width: 100%;
}
#point .point5 .col2 li .btn{
    font-size:140%;
    letter-spacing: 0.1em;
    margin-bottom: .3rem;
}
#point .point5 .col2 li .btn i{
    right: 0;
    font-size: 110%;
}
	
/*no_shisetsu*/
#point .point5.no_shisetsu .point_txtbox{
    width: 100%;
}
#point .point5.no_shisetsu .col2{
    width: 100%;
}
#point .point5.no_shisetsu .col2 li .btn i{
	right: -1.7em;
}
}



/* moya
---------------------------------------------------------*/
#moya .moya_bg{
    position: relative;
    background: #73D9CA;
}
#moya .moya_bg::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/img25@2x.png")no-repeat bottom left;
    background-size: 100% auto;
    width: 100%;
    height: 1000px;
    bottom: 0;
    left: 0;
    mix-blend-mode:overlay;
	z-index: 2;
}
#moya .moya_img{
	position: relative;
    height: 680px;
}
#moya .moya_img::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/img24@2x.jpg")no-repeat top center;
    background-size: 100% auto;
	width: 100%;
	height: 5000px;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#moya .w1220{
    position: relative;
    margin-top: -260px;
}
#moya .serif li{
    position: absolute;
    width: 18%;
    z-index:3;
}
#moya .serif li:nth-child(1){
    top: -40px;
    right: 11%;
}
#moya .serif li:nth-child(2){
    top: 130px;
    left: 3.5%;
}
#moya .serif li:nth-child(3){
    top: 250px;
    right: 3%;
}

#moya .moya_inbox{
    position: relative;
    z-index: 2;
    width: 90%;
    background: #fff;
    border-radius: 200px 200px 0 0;
    margin: 0 auto;
    padding: 90px 9% 60px;
    box-sizing: border-box;
}
#moya .moya_inbox .txt{
    max-width: 732px;
    margin: 0 auto;
}
#moya .moya_inbox .txt dt{
    font-size: min(270%,3.5vw);
    letter-spacing: 0.18em;
    line-height: 1.6em;
    text-align: center;
    margin-bottom: 1.8rem;
}
#moya .moya_inbox .txt dt span{
    color: #B3A496;
}
#moya .moya_inbox .txt dd{
    line-height:2.5em;
}
#moya .moya_inbox .name,
#moya .moya_inbox .com_btn1{
    text-align: center;
}
#moya .moya_inbox .name{
    margin-top: 2.5rem;
    text-align: center;
    font-size:115%;
    line-height: 1em;
    letter-spacing: 0.2em;
}
#moya .moya_inbox .name dt,
#moya .moya_inbox .name dd{
    display: inline-block;
}
#moya .moya_inbox .name dt{
    padding-right: .2em;
    box-sizing: border-box;
}
#moya .moya_inbox .name dd{
    font-size:150%;
}
#moya .moya_inbox .com_btn1 a{
    margin-top:3em;
}
#moya .moya_inbox .deco li:nth-child(1){
    position: absolute;
    bottom: -30px;
    left: 3.5%;
    width: 32%;
    max-width: 348px;
}
#moya .moya_inbox .deco li:nth-child(2){
    position: absolute;
    bottom: -30px;
    right: 7%;
    width: 26%;
    max-width: 277px;
}  

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#moya .serif li:nth-child(3){
    right: 0.5%;
}
}  

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#moya .moya_img{
    height: 50vw;
}
#moya .w1220{
    margin-top: -20vw;
}
#moya .serif li{
    width: 25%;
}
#moya .serif li:nth-child(1){
    top: -10vw;
    right: 18%;
}
#moya .serif li:nth-child(2){
    top: 2vw;
    left: 1%;
}
#moya .serif li:nth-child(3){
    top:3vw;
    right: 1%;
}

#moya .moya_inbox{
    border-radius: 100px 100px 0 0;
    padding: 6.5vw 5% 7vw;
}
#moya .moya_inbox .txt dt{
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}
#moya .moya_inbox .txt dd{
    line-height:2.2em;
}
#moya .moya_inbox .name{
    margin-top: 1rem;
}
#moya .moya_inbox .com_btn1 a{
    margin-top: 2em;
}
#moya .moya_inbox .deco li:nth-child(1){
    bottom: -3vw;
    left: -3%;
}
#moya .moya_inbox .deco li:nth-child(2){
    bottom: -3vw;
    right: -1%;
}   
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#moya .moya_img{
    height: 40vw;
}
#moya .w1220{
    margin-top: 0;
}
#moya .moya_inbox{
    width: 100%;
    border-radius: 150px 150px 0 0;
    padding: 27vw 5% 35vw;
}
#moya .moya_inbox .serif{
    position: absolute;
    top: -9vw;
    left: -4%;
    width: 108%;
}
#moya .moya_inbox .txt{
    max-width: 100%;
}
#moya .moya_inbox .txt dt{
    font-size: 140%;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}
#moya .moya_inbox .txt dd{
    line-height: 1.8em;
}
#moya .moya_inbox .name{
    margin-top: 2rem;
    font-size:100%;
}
#moya .moya_inbox .com_btn1 a{
    margin-top: 1.7em;
}
#moya .moya_inbox .deco{
    position: absolute;
    bottom: -3vw;
    left: -4%;
    width: 108%;
}   
}

    
    
/* ne_ce
---------------------------------------------------------*/
#ne_ce .bg{
    padding-top: 160px;
    padding-bottom: 90px;
    background: url("../images/top/abs39@2x.png")no-repeat top left #E8F5F4;
    background-size: 100% auto;
}
.wp_box{
    width: 46%;
    max-width: 520px;
}
.wp_box .wp_title{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;	
    padding-bottom: 1.5em;
    line-height: 1em;
}
.wp_box .wp_title h3,
.wp_box .wp_title p{
    display: inline-block;
}
.wp_box .wp_title h3{
    position: relative;
    font-size: min(160%,2.5vw);
    letter-spacing: 0.2em;
    padding-left: 2.5em;
    box-sizing: border-box;
    padding-bottom: .5em;
}
.wp_box .wp_title h3::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs32@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 1.9em;
    height: 3em;
    top: 0;
	transform: translateY(-50%);
    left: 0;
}
.wp_box .wp_title p{
    position: relative;
    font-size: min(100%,1.7vw);
    padding-right: 1.8em;
    box-sizing: border-box;
}
.wp_box .wp_title p::before{
    position: absolute;
	font-family: 'fontello';
	content: '\e802';	
	right: 0;
	font-size:105%;
	top: 50%;
	transform: translateY(-50%);
    transition: 0.4s;
}
.wp_box .wp_title p:hover::before{
	right: -.4em;
    transition: 0.2s;
}
.wp_box ul{
	position: relative;
	z-index: 2;
	
    border-top: 1px solid #293F42;
    border-bottom: 1px solid #293F42;
}
.wp_box ul li{
    padding: 2rem 0;
    border-bottom: 1px solid #B4BCBD;
}
.wp_box ul li:first-child{
    padding-top: 3rem;
}
.wp_box ul li:last-child{
    border-bottom: none;
}
.wp_box ul li .ft_ad{
    font-size: min(115%,2vw);
    line-height: 1em;
}
.wp_box ul li .ft_min{
    font-size: min(140%,2.5vw);
    letter-spacing: 0.15em;
    margin: .8rem 0 .5rem;
}
#ne_ce .com_calendar,
#bl_re .recruit{
    width: 50%;
    max-width: 600px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#ne_ce .bg{
    padding-top: 11vw;
    padding-bottom: 5vw;
}
.wp_box .wp_title{
    padding-bottom: 1.3em;
}
.wp_box .wp_title h3{
    letter-spacing: 0.1em;
    padding-left: 2em;
    padding-bottom: .2em;
}
.wp_box .wp_title h3::before{
    width: 1.5em;
    height: 2.5em;
}
.wp_box .wp_title p{
    padding-right: 1.7em;
}
.wp_box ul li{
    padding: 1.5rem 0;
}
.wp_box ul li:first-child{
    padding-top: 2rem;
}
.wp_box ul li .ft_min{
    letter-spacing: 0.1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#ne_ce .bg{
    padding-top: 15vw;
    padding-bottom: 10vw;
}
#ne_ce .flexbox,
#bl_re .flexbox{
    display: block;
}
.wp_box{
    width: 100%;
    max-width: 100%;
}
.wp_box .wp_title{
    padding-bottom: 1em;
}
.wp_box .wp_title h3{
    font-size: 120%;
    padding-left: 2em;
    padding-bottom:.2em;
}
.wp_box .wp_title h3::before{
    width: 1.5em;
    height: 2.2em;
}
.wp_box .wp_title p{
    font-size: 90%;
}
.wp_box ul li{
    padding: 1.5rem 0;
}
.wp_box ul li:first-child{
    padding-top: 2rem;
}
.wp_box ul li .ft_ad{
    font-size: 90%;
}
.wp_box ul li .ft_min{
    font-size: 120%;
    letter-spacing: 0.1em;
    margin: .5rem 0 .3rem;
}
.wp_box ul li p:last-child{
    font-size:90%;
}
#ne_ce .com_calendar,
#bl_re .recruit{
    width: 100%;
    max-width: 100%;
    margin-top: 8vw;
}
}

    
    
    
/* instagram
---------------------------------------------------------*/
#instagram .bg{
    background: #E8F5F4;
    margin-bottom: 70px;
}
#instagram .w1220{
    position: relative;
}
#instagram .w1220::before{
    position: absolute;
    display:block;
    content: "";
    background: url("../images/top/img28@2x.png")no-repeat bottom left;
    background-size: 100% auto;
    width: 9%;
    height:200px;
    bottom: 0;
    left: 0;
    z-index: 5;
}
#instagram .w1220::after{
    position: absolute;
    display:block;
    content: "";
    background: url("../images/top/abs29@2x.png")no-repeat top right;
    background-size: 100% auto;
    width: 11%;
    height:200px;
    top: 0;
    right: 1%;
    z-index: 5;
}
#instagram .inbox{
    position: relative;
    background: #CCE8E6;
    border-radius: 60px 60px 0 0;
    padding: 65px 11% 60px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
}
#instagram .inbox_l{
    width: 66%;
    text-align: left;
    font-size: min(125%,1.8vw);
    font-weight: bold;    
    letter-spacing: 0.16em;
    line-height: 1.9em;
    padding-right: 2%;
    box-sizing: border-box;
}
#instagram .inbox_l h3{
    width: 14em;
    max-width: 252px;
    display: inline-block;
    margin-bottom: .5em;
}
#instagram .inbox_r{
    text-align: right;
    width: 34%;
    border-left: dashed 3px #FFA191;
    box-sizing: border-box;
    padding-left: 2%;
}
#instagram .inbox_r div{
    text-align: center;
}
#instagram .inbox_r .serif{
    width: 100%;
    max-width: 256px;
    display: inline-block;
    border-radius: 20px;
    background: #FFA191;
    position: relative;
    color: #fff;
    font-weight: bold;
    font-size: min(120%,1.8vw);
    letter-spacing: 0.1em;
    line-height: 1.6em;
    padding: .8em 1.5em;
    box-sizing: border-box;
    margin-bottom: 2rem;
}
#instagram .inbox_r .serif::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs30@2x.png")no-repeat top center;
    background-size: 100% auto;
    width: 10px;
    height: 100px;
    top:100%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
#instagram .inbox_r .btn{
    width: 100%;
    max-width: 256px;
    font-size: min(100%,1.8vw);
    line-height: 1em;
    letter-spacing: 0.15em;
    font-weight: bold;
    margin-left: auto;
    margin-right: 0;
    text-align: center;
}
#instagram .inbox_r .btn a{
    position: relative;
    width: 100%;
    max-width: 235px;
    display: inline-block;
    margin: 0 auto;
    padding-left: 3.7em;
    box-sizing: border-box;
    text-align: left;
}
#instagram .inbox_r .btn a::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs31@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 2.7em;
    height: 2.7em;
    top: 50%;
	transform: translateY(-50%);
    left: 0;
}
#instagram .inbox_r .btn a::after{
    position: absolute;
	font-family: 'fontello';
	content: '\e802';	
	right: 0;
	font-size: 105%;
	top: 50%;
	transform: translateY(-50%);
    transition: 0.4s;
}
#instagram .inbox_r .btn a:hover::after{
	right: -0.4em;
    transition: 0.2s;
}
#instagram .slide_area{
    position: relative;
}
#instagram .slide_area::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 200%;
    height: 50%;
    left: -50%;
    bottom:0;
}
#instagram .slide_area::after{
    position: absolute;
    display: block;
    content: "";
    background: #CCE8E6;
    background-size: 100% auto;
    width: 94%;
    max-width: 1220px;
    height: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    top:0;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#instagram .inbox{
    padding-left: 8%;
    padding-right: 5%;
}
#instagram .inbox_l{  
    width: 62%;
    letter-spacing: normal;
}
#instagram .inbox_r{
    width: 38%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#instagram .bg{
    margin-bottom: 8vw;
}
#instagram .w1220::before{
    left: 1%;
}
#instagram .inbox{
    border-radius: 50px 50px 0 0;
    padding: 6vw 8% 5vw;
}
#instagram .inbox_l{
    letter-spacing: 0.05em;
    line-height: 1.8em;
}
#instagram .inbox_l h3{
    margin-bottom: .4em;
}
#instagram .inbox_r{
    padding-left: 4%;
}
#instagram .inbox_r .serif{
    border-radius: 10px;
    letter-spacing: 0.05em;
    line-height: 1.5em;
    margin-bottom: 1.5rem;
}
#instagram .inbox_r .btn{
    letter-spacing: normal;
}
#instagram .inbox_r .btn a{
    padding-left: 2.6em;
}
#instagram .inbox_r .btn a::before{
    width: 2em;
    height: 2em;
    top:45%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#instagram .bg{
    margin-bottom: 0;
}
#instagram .w1220::before{
    width: 15%;
    left: 2%;
}
#instagram .w1220::after{
    width: 18%;
    top: -2vw;
    right: 1%;
}
#instagram .inbox{
    border-radius: 20px 20px 0 0;
    padding: 6vw 5% 5vw;
    display: block;
}
#instagram .inbox_l{
    width: 100%;
    text-align: center;
    font-size: 80%; 
    letter-spacing: 0.1em;
    line-height: 1.7em;
    padding-right: 2%;
    box-sizing: border-box;
    margin-bottom: 4%;
}
#instagram .inbox_l h3{
    width: 15em;
    margin-bottom: .4em;
}
#instagram .inbox_r{
    text-align: center;
    width: 100%;
    border-left: none;
    padding-left: 0;
}
#instagram .inbox_r .serif{
    border-radius: 20px;
    font-size: 85%;
    line-height: 1.5em;
    padding: .6em 0;
    margin-bottom: 1.5rem;
}
#instagram .inbox_r .btn{
    width: 100%;
    max-width: 100%;
    font-size: 88%;
    letter-spacing: 0.1em;
}
#instagram .inbox_r .btn a{
    padding-left: 2.7em;
}
#instagram .inbox_r .btn a::before{
    width: 2em;
    height: 2em;
}
#instagram .slide_area::after{
    width: 92%;
}
}




/*WPプラグイン：カスタム
---------------------------------------------------------*/
#sb_instagram{
	position: relative;
	z-index: 3;
}
#sb_instagram #sbi_images {
    display: block !important;
    padding: 0 !important;
}
#sb_instagram #sbi_images .sbi_item {
	width: min(20vw,230px)!important;
	height: min(20vw,230px)!important;
	margin: 0 10px 0 0 !important;
}
#sb_instagram #sbi_images .sbi_item:nth-child(odd){
    margin-top: 20px!important;
	height: min(25vw,250px)!important;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sb_instagram #sbi_images .sbi_item {
	width:18vw!important;
	height: 18vw!important;
}
#sb_instagram #sbi_images .sbi_item:nth-child(odd){
    margin-top: 1vw!important;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#sb_instagram #sbi_images .sbi_item {
	width: 30vw!important;
	height: 30vw!important;
	margin-right: 1vw !important;
}
#sb_instagram #sbi_images .sbi_item:nth-child(odd){
    margin-top: 4vw!important;
	height: 35vw!important;
}
}



/* bl_re
---------------------------------------------------------*/
#bl_re {
    margin-bottom: 120px;
}
#bl_re .wp_box{
    padding-top: 75px;
}
#bl_re .wp_box .wp_title h3::before{
    background-image:url("../images/top/abs33@2x.png");
    top: -30%;
}
#bl_re .recruit{
    position: relative;
    max-width: 547px;
    aspect-ratio: 547 / 552;
}
#bl_re .recruit .bg1,
#bl_re .recruit .bg2{
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    z-index: -2;
}
#bl_re .recruit .bg .bg2{
    opacity: 0;
}
#bl_re .recruit:hover .bg .bg1{
    opacity: 0;
}
#bl_re .recruit:hover .bg .bg2{
    opacity: 1;
}
#bl_re .recruit .txt1{
    position: absolute;
    top: 40px;
    right: 0;
    width: 42%;
}
#bl_re .recruit .txtbox{
    position: absolute;
    top: 180px;
    left: 22%;
    width:70%;
    font-size: min(130%,1.8vw);
    letter-spacing: 0.2em;
    line-height:2em;
    font-weight: bold;
}
#bl_re .recruit .txtbox .txt2{
    width: 9em;
    max-width: 170px;
    margin-left: 0;
    margin-right: auto;
    display: inline-block;
    margin-bottom: 1em;
}
#bl_re .recruit .txtbox .txt3,
#bl_re .recruit .txtbox .txt4{
    padding-left: 6.5%;
    box-sizing: border-box;
}
#bl_re .recruit .txtbox .txt3{
    font-size:260%;
    letter-spacing: 0.2em;
    line-height: 1em;
}
#bl_re .recruit .txtbox .txt3 a{
    color: #FFA191;
}
#bl_re .recruit .txtbox .txt3 .icon-arrow1::after,
#bl_re .recruit:hover .txtbox .txt3 .icon-arrow1::after{
    transition: 0.4s;
}
#bl_re .recruit .txtbox .txt3 .icon-arrow1::after{
    background: #FFA191;
}
#bl_re .recruit:hover .txtbox .txt3 .icon-arrow1::after{
    background: #E67F6E;
}
#bl_re .recruit .txtbox .txt4{
    margin-top: 1.5em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#bl_re .recruit .txtbox{
    top: 14vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#bl_re {
    margin-bottom: 8vw;
}
#bl_re .wp_box{
    padding-top: 0;
}
#bl_re .wp_box .wp_title h3::before{
    top: 10%;
}
#bl_re .recruit .txt1{
    top: 5vw;
}
#bl_re .recruit .txtbox{
    top: 15vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#bl_re {
    margin-bottom: 10vw;
}
#bl_re .wp_box{
    padding-top: 10vw;
}
#bl_re .wp_box .wp_title h3::before{
    top: 10%;
}
#bl_re .recruit{
    width: 90%;
    aspect-ratio: 588 / 606;
    margin-left: auto;
    margin-right: auto;
}
#bl_re .recruit .bg1{
    opacity: 1!important;
}
#bl_re .recruit .txt1{
    top: 5vw;
    width: 45%;
}
#bl_re .recruit .txtbox{
    top: 27vw;
    font-size: 85%;
}
#bl_re .recruit .txtbox .txt2{
    width:8em;
    margin-bottom: .6em;
}
#bl_re .recruit .txtbox .txt3,
#bl_re .recruit .txtbox .txt4{
    padding-left: 6.5%;
}
#bl_re .recruit .txtbox .txt3{
    font-size:220%;
}
#bl_re .recruit .txtbox .txt4{
    margin-top: 1em;
}
}