body{
	background-color: #fff;
    line-height: 2;
	overflow-x: hidden;

}
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-pc2{    
    display : block !important;     /* Safari etc. */
}
.view-mobile{
    display:none !important;
}
.view-mobile2{
    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: 5%;
    padding-bottom: 5%;
}
.adt-ovr {
	display: block;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
    background-color: #f9e67d;
margin-top: 0%;
padding-bottom: 3%;
}
.adt-contents h2.blue {
    margin-bottom: 2%;
}
.adt-ovr h3.adt-dai{
    padding: 4% 0 0 0;
    margin: 0 auto;
    font-weight: bold;
    text-align: center;
    color: #e60012;
    font-size: clamp(20px, 2.2vw, 32px);    
    font-family:"游明朝", "Yu Mincho", "YuMincho", serif;font-weight:600;
}
.adt-flex{
    max-width: 1250px;
    width: 100%;
    margin: 0 auto;
    padding: 1% 2% 3% 2%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
background-color: #f9e67d;
}
.adt-flex > * {
    min-width: 8%;
    flex-basis: 31.33333333%;
}
.adt-flex .fbox3 {
    background-color: #eeeee9;
    padding: 3% 2% 2% 2%;
    margin:2% 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.4;
    /*min-height:78px;*/
    height:calc(100vw * 0.07);
    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.4;
    /*min-height:78px;*/
    height:calc(100vw * 0.07);
    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;
}

/* CASTLE */
.cstl-contents{
    display: block;
    padding-top: 2%;
    padding-bottom: 5%;
}
.cstl-ovr {
	display: block;
	width: 100%;
	margin: 0 auto ;
	max-width:calc(1200px * 0.9725);
    background-color: #eeeee9;
padding-bottom: 5%;
}
.cstl-ovr p.cstl-info{
	display: inline-block;
    width: 100%;
    text-align: center;
	margin: 5% auto 0 ;
	font-size:clamp(14px, 1.6vw, 18px);
}
.cstl-ovr h3{
	display: block;
	width:33%;
	margin: 2% auto 1% ;
}
.cstl-ovr p.d-center {
    text-align: center;
	font-family: "游明朝", "Yu Mincho", "YuMincho", serif;
    font-weight: 600;
    line-height: 1.5;
    padding:2% 0 2% 0;
	font-size:clamp(11px, 1.2vw, 17px);
}
.cstl-ovr a {
    display: block;
    width: 16%;
    margin: 0 auto;
}

.cstl-flex{
    max-width: 820px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	justify-content: center;
}

.cstl-flex > * {
    min-width: 8%;
    flex-basis: 50%;
}
.cstl-flex .fbox2 {
    background-color: #eeeee9;
    padding:  0.5%;
    margin:0;
}

/* agreement */
.agr-contents{
    display: block;
    padding-top: 2%;
    padding-bottom: 5%;
}
.agr-ovr {
	display: block;
	width: 100%;
	margin: 0 auto ;
	max-width:calc(1200px * 0.9725);
    background-color: #fff;
padding: 3% 0;
    border: 1px solid #015c77;

}

.agr-ovr a {
    display: block;
   width: 64%;
    margin: 3% auto;
}

.agr-flex{
    max-width:995px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	justify-content: center;
}

.agr-flex h3.blue2{
	color:#015c77;
font-size: clamp(16px, 2.0vw, 20px);
    font-family: "游明朝", "Yu Mincho", "YuMincho", serif;
    font-weight: 600;
padding-bottom: 2%;
}
/*
.agr-flex > * {
    min-width: 8%;
    flex-basis: 50%;
}
*/
.agr-flex .fbox21 {
    min-width: 8%;
    flex-basis: 55%;
 padding: 0% 4%;
}

.agr-flex .fbox22 {
    min-width: 8%;
    flex-basis: 45%;
 padding: 0% 4% ;
}

.agr-flex .fbox21,
.agr-flex .fbox22 {
    background-color: #fff;
    margin:0;
}
.agr-flex .fbox21 p {
padding-bottom: 2%;
font-size: clamp(13px, 1.4vw, 16px);
}



/* ーーー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-pc2{  
        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;              /* フレックスボックスにする */
    }
    .view-mobile2{
        display : block !important;     /* Safari etc. */
    }

    .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%;
    }

    /* CASTLE */
	.cstl-flex > * {
	    min-width: 8%;
	    flex-basis: 90%;
	}
	.cstl-ovr h3 {
	    width: 88%;
	}
	.cstl-ovr a {
	    width: 38%;
	}
	.cstl-flex .fbox2 {
	    padding: 0.5% 9%;
	}
	.cstl-ovr p.d-center {
	    font-size: clamp(12px, 1.1vw, 14px);
	}

    /* agreement */
	.agr-ovr {
	    display: block;
	    width: 95%;
		padding: 3% 0 0;
	}
	.agr-flex .fbox21 {
	    flex-basis: 90%;
		 padding: 2% 4%;
	}	
	.agr-flex .fbox21 figure{
		 padding: 2% 0 6% ;
	}

	.agr-flex .fbox22 {
	    flex-basis: 90%;
		 padding: 2% 4% ;
	}

	.agr-flex .fbox21 p {
		font-size: clamp(14px, 1.4vw, 16px);
	}
	.agr-ovr a {
	    display: block;
	    width: 80%;
	    margin: 5% 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(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);
    }

}