body{
	background-color: #fff;
    line-height: 2;
}
body a {
    color: #000;
}

.contents{
	max-width:1350px;
	width:100%;
	margin:0 auto;
	color:#000;
    font-family:"游明朝", "Yu Mincho", "YuMincho", serif;font-weight:normal;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}


/* all  */
.view-pc{    
    display : -webkit-flex !important;     /* Safari etc. */
    display : -webkit-box !important;      /* old Android */
    display : -ms-flexbox !important;      /* IE10        */
    display: flex !important;              /* フレックスボックスにする */
}
.view-mobile{
    display:none !important;
}

.non-pcm{display:none !important;}

.non-view{visibility:hidden !important;}

.tx-center{
    max-width:500px;
    width:100%;
    margin:0 auto;
    padding-top:5%;
    display:block;
    text-align: center;
}
.tx-box{
    max-width:500px;
    width:100%;
    margin:0 auto;
    padding-top:2%;
    display:block;
    text-align: left;
    font-size: clamp(11px, 1.3vw, 22px);
}

.img_brand.mida01 {
    margin:0 auto;
    display:block;
}
h1,h2,h3,h4{
    text-align: center;
}

h2,h4{
    font-size: clamp(16px, 1.3vw, 22px);
}
h4{
    padding-bottom:4%;
}

h2.blue {
    position: relative;
    padding: 0;
    margin-bottom: 5%;
    font-weight: bold;
/*    font-size: 1.2rem;*/
    text-align: center;
    color: #31bada;
    font-size: clamp(20px, 2.2vw, 32px);    
    font-family:"游明朝", "Yu Mincho", "YuMincho", serif;font-weight:600;
}

h2.blue::before {
    position: absolute;
    border-bottom: 3px solid #31bada;
    top: 90%;
    left: 50%;
    transform: translateX(-50%);
    width: 2rem;
    content: '';
}



/* ーーーCONTENTSーーー */
/* ヘッダー */
.header-top{
	display: block;
    position: relative;
    background: #fff url(../images/top.jpg) no-repeat center center;
    background-size: cover;
    height: calc(903vw / 13.5);
    margin-bottom:70px;
}

/* 概要 */
.info-contents{
    display: block;
    position: relative;
    background: #fff url(../images/bg01.png) no-repeat center center;
    background-size: cover;
    height: calc(970vw / 13.5);
}
.info-contents .img_brand.mida01 {
    width:12%;
    margin-top:-1%;
}

.info-contents .img_brand.mida02 {
    width:36%;
    margin-top:21%;
    display:inline-block;
    text-align: center;
}
.info-contents .img_brand.mida03 {
    width:68%;
    margin-top:0%;
    display:inline-block;
    text-align: center;
}

/* 概要2 */
.info2-contents{
    display: block;
    position: relative;
    background: #fff url(../images/bg02.png) no-repeat center center;
    background-size: cover;
    height: calc(1130vw / 13.5);
}
.info2-contents .img_brand.mida01 {
    width:12%;
    margin-top:-1%;
}

.info2-contents .img_brand.mida02 {
    width:36%;
    margin-top:21%;
    display:inline-block;
    text-align: center;
}
.info2-contents .img_brand.mida03 {
    width:68%;
    margin-top:0%;
    display:inline-block;
    text-align: center;
}

/* 動画 */
.mov-contents{
	display: block;
     margin: 0 auto -3%;
	background-color: #fff;
	padding-top: 10%;
	padding-bottom: 0%;
	line-height: 1.5;
}
.mk_top {
    display: block;
    width: 720px;
    margin: 0 auto 1%;
    color: #000;
    font-size: 1.5rem;
    font-weight: 400;
    text-align: center;
}
.video_box {
    width: 720px;
    max-width:100%;
    display:block;
    position: relative;
    margin: 0 auto 5%;
}
.video_box video {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* 開発コンセプト */
.dev-contents{
    display: block;
    background-color: #eeeee9;
    padding-top: 10%;
    padding-bottom: 5%;
}

.dev-contents .img_brand.firando{
    display: block;
    width:100%;
    max-width:550px;
    margin: 0 auto 7%;
}
.dev-contents .tx-box p{
    margin-bottom:10%;
} 
.dev-contents .img_brand.mida05 {
    margin: 0 auto 6%;
}

.dev-contents .img_brand.dev-bg{
    display: block;
    width:85%;
    margin: -10% auto 5%;
}

/* MAP */
.map-contents{
    display: block;
    background-color: #fff;
    padding-top: 5%;
    padding-bottom: 5%;
}
.map-contents .img_brand.map-bg{
    display: block;
    width:85%;
    margin: -1% auto 0;
}
.map-contents  h2{
    color:#31bada;
}
.map-contents .h2-1{
    font-size: clamp(30px, 5vw, 60px);
    padding-top:1%;
}    
.map-contents .h2-2{
    font-size: clamp(30px, 5vw, 60px);
    padding-top:10%;
}

.map-contents .map-box0{
    max-width:1300px;
    width:100%;
    margin:0 auto;
    padding-top:3%;
    display:block;
    text-align: center;
    font-size: clamp(16px, 1.8vw, 32px);
    position: relative;
}
.map-contents  h2.blue{
    position: absolute;
    right: 0;
    left: 0;
    margin: 10% auto 0;
}

.map-contents .map-box{
    max-width:1350px;
    width:100%;
    margin:0 auto;
    padding-top:0;
    display:block;
    text-align: center;
    font-size: clamp(16px, 1.8vw, 32px);
}
.map-contents .map-box p{
    padding-top:5%;
    padding-bottom:5%;
    width: 94%;
    margin: 0 auto;
}
.map-contents .contents{
    margin-top:-3%;
}
.map-contents .img_brand.map-1{
    display: block;
    margin: 0 auto;
    width: 96%;
}
.map-contents .img_brand.map-2{
    display: block;
    margin: 0 auto;
    width: 96%;
}

/* ADT */
.adt-contents{
    display: block;
    padding-top: 10%;
    padding-bottom: 5%;
}
.adt-flex{
    max-width: 1250px;
    width: 100%;
    margin: 0 auto;
    padding: 1% 2% 0 2%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.adt-flex > * {
    min-width: 8%;
    flex-basis: 31.33333333%;
}
.adt-flex .fbox3 {
    background-color: #eeeee9;
    padding: 3% 2% 2% 2%;
    margin:1%;
}
.adt-flex .fbox3 figure.img_brand.adt-p {
    display: block;
    padding: 3% 0;
}
.adt-flex .fbox3 p{
    display: block;
    width:95%;
    margin:0 auto 1%;
    padding: 0 2%;
    text-align: left;
    font-size: clamp(8px, 1.1vw, 14px);
    font-family:"游明朝", "Yu Mincho", "YuMincho", serif;font-weight:600;
    line-height: 1.5;
    /*min-height:78px;*/
    height:calc(100vw * 0.06);
    max-height:90px;
}
.adt-flex .fbox3 p.wid{
    display: block;
    width:97%;
    margin:0 auto 1%;
    padding: 0 2%;
    text-align: left;
    font-size: clamp(8px, 1.1vw, 14px);
    font-family:"游明朝", "Yu Mincho", "YuMincho", serif;font-weight:600;
    line-height: 1.5;
    /*min-height:78px;*/
    height:calc(100vw * 0.06);
    max-height:90px;
}
.adt-flex .fbox3 p.top-info{
    display: block;
    width:100%;
    margin:0 auto 2%;
        text-align: center;
    font-size: clamp(11px, 1.3vw, 17px);
    font-family:"游明朝", "Yu Mincho", "YuMincho", serif;font-weight:600;
    height:auto;
    max-height:initial;
}
.adt-flex .fbox3 p.d-center{
    text-align: center;
}
.adt-flex .fbox3 a{
    display: block;
    width:55%;
    margin:0 auto;
}


/* ーーーfooterーーー  */
#footer .container{
    color:#fff;
	display: block;
	width:100%;
	padding:3%;
	background: #015c77;
    /*font-family:"游明朝", "Yu Mincho", "YuMincho", serif;*/
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight:normal;
    font-size: clamp(16px, 1.4vw, 22px);
}
#footer .container p.affiliation{
    font-size: clamp(16px, 1.8vw, 32px);
    font-weight:600;
}

#footer .box{
    max-width: 790px;
	width:100%;
	margin: 3% auto;
	background-color: #015c77;
	padding:0;
}

#footer a {
  text-decoration: none;
}
#footer .info {
    max-width: 790px;
    width: 100%;
    margin: 0 auto;
}
#footer .info img {
    max-width: 320px;
    width: 100%;
    padding-top: 0;
    margin: 0 auto;
}
#footer .footer-copyright {
    padding-top:6%;
    line-height: 1.8;
    font-weight: 400;
    font-size: clamp(16px, 1.3vw, 22px);
}




@media only screen and (max-width: 1000px){ /* 1000px以下 */

    .tx-box{
        max-width:384px;
        font-size: clamp(11px, 1.3vw, 22px);
    }
    .tx-center {

        padding-top: 3%;
    }

    /* 概要 */
    .info-contents h3{
        margin:7% auto 7%;
        width:85%;
    }
    .info-contents .img_brand.mida01 {
        width: 10%;
        margin-top: -10%;
    }

    .info-contents .img_brand.mida02 {
        width:30%;
        margin-top:6%;
        display:inline-block;
        text-align: center;
    }

    .info-contents .img_brand.mida03 {
        width:56%;
        margin-top:0%;
        display:inline-block;
        text-align: center;
    }

    /* 概要2 */
    .info2-contents h3{
        margin:7% auto 7%;
        width:85%;
    }
    .info2-contents .img_brand.mida01 {
        width: 10%;
        margin-top: -10%;
    }

    .info2-contents .img_brand.mida02 {
        width:30%;
        margin-top:6%;
        display:inline-block;
        text-align: center;
    }

    .info2-contents .img_brand.mida03 {
        width:56%;
        margin-top:0%;
        display:inline-block;
        text-align: center;
    }

}


@media only screen and (max-width: 767px){ /* 767px以下 */
    .view-pc{  
        display:none !important;  
    }
    .view-mobile{
        display : -webkit-flex !important;     /* Safari etc. */
        display : -webkit-box !important;      /* old Android */
        display : -ms-flexbox !important;      /* IE10        */
        display: flex !important;              /* フレックスボックスにする */
    }

    .tx-box {
        max-width: 384px;
        font-size: clamp(14px, 1.3vw, 22px);
    }

    h2.blue {
        margin-bottom: 10%;

    }
        
    .tx-center{
        max-width:100%;

    }
    .tx-box{
        max-width:90%;
    }


    .header-top{
        display: block;
        position: relative;
        background: #fff url(../images/top-sp.jpg) no-repeat center center;
        background-size: cover;
        height: calc(1272vw / 7.67);
    }

    /* 概要 */
    .info-contents{
        background-image: none;
        display: block;
        overflow: hidden;
        height:auto;
    }
    
    .info-contents .img_brand.mida01-sp {
        width:80%;
        margin:10% auto 5%;
    }

    .info-contents .img_brand.mida02-sp {
        width:80%;
        margin:10% auto 5%;
    }
    .info-contents .img_brand.info02-sp{
        padding-top:7%;
    }
    /* 概要2 */
    .info2-contents{
        background-image: none;
        display: block;
        overflow: hidden;
        height:auto;
    }
    
    .info2-contents .img_brand.mida01-sp {
        width:80%;
        margin:10% auto 5%;
    }

    .info2-contents .img_brand.mida02-sp {
        width:80%;
        margin:10% auto 5%;
    }
    .info2-contents .img_brand.info02-sp{
        padding-top:7%;
    }
    
    
    /* 動画 */
    .mov-contents{
        width: 100%;
        margin: 0 auto -20%;
        padding-top: 25%;
        padding-bottom: 0%;
    }
    .mk_top {
        width: 95%;
        margin: 0 auto 2%;
    }
    .video_box {
        padding-bottom: 100px;
        width: 90%;
        margin: 0 auto;
    }
    
    /* 開発コンセプト */
    .dev-contents .img_brand.firando {
        width: 90%;
        margin: 0 auto 7%;
    }
    .dev-contents .img_brand.dev01 {
        width: 90%;
        margin: 0 auto 5%;
    }    
    .dev-contents .img_brand.mida05 {
        width: 80%;
        margin: 0 auto 10%;
    }

    .dev-contents .img_brand.dev-bg{
        display: block;
        width:100%;
        margin: 0 auto 0;
    }

    
    /* MAP */
    .map-contents {
        padding-top: 15%;
        padding-bottom: 5%;
    }

    .map-contents  h2{
        font-size: clamp(16px, 1.3vw, 22px);
        color:#31bada;
    }
    
    .map-contents .contents{
        margin-top:-12%;
    }

    .map-contents .h2-1{
        padding-top:5%;
    }    
    .map-contents .h2-2{
        padding-top:5%;
    }
        
    .map-contents .img_brand.map-1{
        width: 100%;
    }
    .map-contents .img_brand.map-2{
    width: 100%;
    }
    .map-contents .map-box{
        max-width:1200px;
        font-size: clamp(11px, 1.3vw, 22px);
        width:90%;
        padding-bottom: 5%;
    }
    .map-contents .img_brand.map-bg{
        display: block;
        width:100%;
        margin: 10% auto 0;
    }
    .map-contents .map-box p {
        width: 100%;
    }

    /* ADT */
    .adt-flex .fbox3 {
        height: auto;
        max-height: none;
        margin: 0 auto 4%;
    }
    .adt-flex > * {
        min-width: 8%;
        flex-basis: 80%;
    }
    .adt-flex .fbox3 figure.img_brand.adt-p {
        padding: 3% 3%;
    }
    .adt-flex .fbox3 p {
        font-size: clamp(11px, 1.2vw, 17px);
        min-height:78px;
        height:calc(100vw * 0.18);
    }
    .adt-flex .fbox3 p.wid {
        font-size: clamp(11px, 1.2vw, 17px);
        min-height:80px;
        height:calc(100vw * 0.18);
    }

    .adt-flex .fbox3 p.top-info {
        font-size: clamp(13px, 1.2vw, 20px);
        min-height:initial;
        height:auto;
    }
    .adt-flex .fbox3 p.wid{
        text-align: center;
        width: 95%;
    }
    .adt-flex .fbox3 p.d-center{
        text-align: center;
    }
    .adt-flex .fbox3 a {
        display: block;
        width: 50%;
        margin: 0 auto 4%;
    }

        
   /* footer */
   #footer .container{
        color:#fff;
        display: block;
        width:100%;
        padding:3%;
        background: #015c77;
        /*font-family:"游明朝", "Yu Mincho", "YuMincho", serif;*/
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        font-weight:normal;
        font-size: clamp(14px, 1.2vw, 22px);
    }
    #footer .container p.affiliation{
        font-size: clamp(16px, 1.8vw, 32px);
        font-weight:600;
    }
   #footer .box{
        max-width: 790px;
        width:100%;
        margin: 10% auto 3%;
        background-color: #015c77;
        padding:0;
    }

    #footer .info {
        max-width: 790px;
        width: 100%;
        margin: 0 auto;
    }
    #footer .info img {
        max-width: 320px;
        width: 70%;
        padding-top: 0;
        margin: 0 auto;
    }
    #footer .footer-copyright {
        padding-top:20%;
        padding-bottom:10%;
        line-height: 1.8;
        font-weight: 400;
        font-size: clamp(14px, 1.2vw, 22px);
    }

}