@charset "UTF-8";


/* com_lead
---------------------------------------------------------*/
.com_lead iframe{
    /*filter: drop-shadow(0 0 20px rgba(0,0,0,0.2));*/
}
.com_lead .com_lead_tit{
    margin-top: 1.8em;
    margin-bottom: 1.7em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
.com_lead iframe{
    height: 45vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_lead iframe{
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
    height: 45vw;
}
.com_lead .com_lead_tit{
    margin-top: 1.3em;
    margin-bottom: 1.1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_lead iframe{
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
    height:60vw;
}
.com_lead .com_lead_tit{
    margin-top: 1.2em;
    margin-bottom: 1em;
}
}





/* box1
---------------------------------------------------------*/
.box1{
    position: relative;
}
.box1 .deco{
    position: absolute;
    bottom: -40px;
    right: -2%;
    width: 12%;
    max-width: 153px;
}
.box1 .flex_l{
    width: 47%;
    max-width: 600px;
}
.box1 .flex_r{
    width:47.5%;
}
.box1 .flex_r .txt_lead{
    line-height: 1.6em;
}
.box1 .flex_r h2{
    font-size:175%;
    line-height: 1em;
    margin: .6em 0 .9em;
}
.box1 .flex_r h2 span{
    margin: 0 .2em;
}
.box1 .flex_r .txt_add,
.box1 .flex_r .txt_tel{
    line-height: 1.8em;
}
.box1 .flex_r .txt_tel span{
    display: inline;
}
.box1 .flex_r .icon_list{
    margin-top: 2.2em;
}
.box1 .flex_r .icon_list li{
    position: relative;
    font-size: min(155%,2.3vw);
    line-height: 1.3em;
    color: #63B7A3;
    font-weight: bold;
    padding-left: 4.5em;
    box-sizing: border-box;
}
.box1 .flex_r .icon_list li::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/access/icon1.svg")no-repeat top left;
    background-size: 100% auto;
    width:3.4em;
    height:3.4em;
    top:50%;
	transform: translateY(-50%); 
    left: 0;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
.box1 .flex_r .icon_list li{
    padding-left: 4em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.box1 .deco{
    bottom: -3vw;
    right: 0;
    width: 12%;
}
.box1 .flex_l{
    width: 45%;
}
.box1 .flex_r{
    width:51%;
}
.box1 .flex_r .txt_lead{
    line-height: 1.4em;
}
.box1 .flex_r h2{
    font-size:160%;
}
.box1 .flex_r h2 span{
    margin: 0 .2em;
}
.box1 .flex_r .txt_add,
.box1 .flex_r .txt_tel{
    line-height: 1.6em;
}
.box1 .flex_r .icon_list{
    margin-top: 1.5em;
}
.box1 .flex_r .icon_list li{
    font-size:120%;
    padding-left: 4em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.box1.com_btm_80{
    margin-bottom: 15%;
}
.box1 .deco{
    bottom: -2vw;
    right: 0;
    width:23%;
}
.box1 .flexbox{
    display: block;
}
.box1 .flex_l{
    width: 70%;
    margin: 0 auto 4%;
    text-align: center;
}
.box1 .flex_r{
    width:100%;
    text-align: center;
}
.box1 .flex_r .txt_lead{
    font-size:95%;
    letter-spacing: normal;
}
.box1 .flex_r h2{
    font-size:155%;
    margin: .4em 0 .8em;
}
.box1 .flex_r .txt_add,
.box1 .flex_r .txt_tel{
    line-height: 1.5em;
}
.box1 .flex_r .icon_list{
    margin-top: 3em;
    text-align: left;
}
.box1 .flex_r .icon_list li{
    font-size:110%;
    padding-left: 4em;
}
.box1 .flex_r .txt_tel{
    display: block!important;
}
.box1 .flex_r .txt_tel span{
    display: inline-block!important;
}
.box1 .flex_r .sp_tel_btn span{
    text-decoration: underline;
}
}





/* box2
---------------------------------------------------------*/
.box2 .root_list{
    justify-content: start;
}
.box2 .root_list li{
    position: relative;
    width: 29.2%;
    margin-right: 6.2%;
    margin-top: 60px;
}
.box2 .root_list li:nth-child(-n+3){
    margin-top: 0;
}
.box2 .root_list li:nth-child(3n){
    margin-right: 0;
}
.box2 .root_list li::before,
.box2 .root_list li:nth-child(4)::after,
.box2 .root_list li:nth-child(7)::after{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/access/root_arrow.svg")no-repeat top right;
    background-size: 100% auto;
    width: 7.2%;
    max-width: 25px;
    height: 12px;
    top: 108px;
    right: -14%;
}
.box2 .root_list li:nth-child(3n)::before{
    background-image: url("../images/access/root_arrow2.svg")
}
.box2 .root_list li:nth-child(4)::after,
.box2 .root_list li:nth-child(7)::after{
    background-position: top left;
    right: auto;
    left: -14%;
}
.box2 .root_list li:last-child::before{
    display: none;
}
.box2 .root_list li .img{
    position: relative;
}
.box2 .root_list li .img::before{
    position: absolute;
    display: inline-block;
    content: "01";
    background: url("../images/access/root_bg@2x.png") no-repeat center center;
    background-size: 100% auto;
    font-size:140%;
    color: #63B7A3;
    line-height: 1em;
    top: -0.6em;
    left: 6%;
    /*filter: drop-shadow(0 0 8px rgba(0,0,0,0.3));*/
    padding: .75em;
    font-family: "eixample-dip-narrow", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.box2 .root_list li:nth-child(2) .img::before{    content: "02";}
.box2 .root_list li:nth-child(3) .img::before{    content: "03";}
.box2 .root_list li:nth-child(4) .img::before{    content: "04";}
.box2 .root_list li:nth-child(5) .img::before{    content: "05";}
.box2 .root_list li:nth-child(6) .img::before{    content: "06";}

.box2 .root_list li p{
    margin-top: 1em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.box2 .root_list{
    width: 94.5%;
    margin: 0 auto;
}
.box2 .root_list li::before,
.box2 .root_list li:nth-child(4)::after,
.box2 .root_list li:nth-child(7)::after{
    top: 8vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.box2 .root_list{
    width: 94.5%;
    margin: 0 auto;
}
.box2 .root_list li{
    margin-top: 5%;
}
.box2 .root_list li::before,
.box2 .root_list li:nth-child(4)::after,
.box2 .root_list li:nth-child(7)::after{
    top: 8vw;
}
.box2 .root_list li .img::before{
    padding: .5em;
}
.box2 .root_list li p{
    margin-top: .6em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.box2 .root_list{
    display: block;
    margin-top: 2em;
}
.box2 .root_list li,
.box2 .root_list li:nth-child(-n+3){
    width: 100%;
    margin-top:13vw;
    margin-right: 0;
}
.box2 .root_list li:nth-child(1){
    margin-top:0;
}
.box2 .root_list li::before,
.box2 .root_list li:nth-child(4)::after,
.box2 .root_list li:nth-child(7)::after{
    width: 5vw;
    top: calc(100% + 5vw);
    right:0;
    left:0;
    margin: 0 auto;
    transform: rotate(90deg);
}
.box2 .root_list li:nth-child(3n)::before{
    background-image: url("../images/access/root_arrow.svg")
}
.box2 .root_list li:nth-child(4)::after,
.box2 .root_list li:nth-child(7)::after{
    display: none;
}
.box2 .root_list li .img{
    width: 70%;
    margin: 0 auto;
}
.box2 .root_list li .img::before{
    font-size:120%;
}
.box2 .root_list li p{
    margin-top: .6em;
}
}




/* box3
---------------------------------------------------------*/
.box3{
    position: relative;
    border-top:rgba(66,57,50,0.30) 1px solid;
    max-width: 1500px;
    margin: 0 auto;
}
.box3_slide {
	position: absolute;
	z-index: 0;
	width: 32%;
    max-width: 480px;
	height: 100%;
	top: 0;
    right: 0;
	overflow: hidden;
}
.box3_slide .swiper-slide {
	height: 20vw;
	max-height: 320px;
}
.box3 .inbox{
    width: 62.5%;
    padding: 90px 0 95px;
    box-sizing: border-box;
    text-align: center;
}
.box3 .inbox .com_timetable p{
    color: #63B7A3;
    font-weight: bold;
    font-size:110%;
}
.box3 .inbox .fs15{
    font-weight: normal;
    margin-top: 4em;
    letter-spacing: 0.01em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.box3_slide .swiper-slide {
	height: 20vw;
}
.box3 .inbox{
    padding: 7vw 0 8vw;
}
.box3 .inbox .com_timetable p{
    font-size: 2vw;
}
.box3 .inbox .fs15{
    margin-top: 2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.box3_slide_sp .swiper-slide {
    width: 50vw;
	height: auto;
}
.box3 .inbox{
    width: 100%;
    padding: 10vw 0 5vw;
}
.box3 .inbox .com_timetable p{
    font-size:105%;
}
.box3 .inbox .fs15{
    text-align: left;
    margin-top: 2em;
}
}