@charset "utf-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

/* =============================================================================
共通
   ========================================================================== */

.pt64 {
  padding: 64px 0;
}
  .wrap {
    max-width: 1150px;
    padding: 0 10px;
    margin: 0 auto;
  }

a.btn02 {
    background-color: #1893f0;
    color: #fff;
    padding: 15px 30px;
    border-radius: 50px;
    font-size: 16px;
    position: relative;
    width: 250px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
a.btn02:hover{
	    background-color: #105FDE;
}
a.btn02:hover img {
	opacity: 1;
}

h2 .icon {
    box-sizing: border-box;
    display: block;
    position: relative;
	padding-bottom: 10px;
}

h2 {
    padding-bottom: 80px;
    position: relative;
	text-align: center;
	font-size: 35px;
	font-weight: bold;
}
.pink{
	color: #FF3DA6;
}
.sky{
	color: #2DC1D3;
}
.green{
	color: #00B900;
}
.orange{
	color: #F29A00;
}
.red{
	color: #EF2700;
}
.waterblue{
	color: #3BAAFF;
}
.mirairo {
    max-width: 800px;
    margin: 0 auto;
	position: relative;
}
.mirairo .orange{
    width: 100%;
    height: 70px;
    background-color: #ff6e19;
    font-size: 18px;
    padding: 15px 50px;
	font-weight: bold;
	border:2px solid #ff6e19;
}
.mirairo .orange:hover{
	background-color: #fff;
	color: #ff6e19;
	border: 2px solid #ff6e19;
}
.mirairo:before {
    content: '';
    width: 162px;
    height: 55px;
    background: url(../images/top/mirairo.png) no-repeat center / cover;
    position: absolute;
    top: 11%;
    right: 155px;
    z-index: 99;
	pointer-events: none;
}
.mirairo:after {
    content: '';
    width: 27px;
    height: 27px;
    background: url(../images/top/arrow-btn02.png) no-repeat center / cover;
    position: absolute;
    top: 33%;
    right: 53px;
	pointer-events: none;
}
.mirairo:hover:before {
   content: '';
    background: url(../images/top/mirairo_hover.png) no-repeat center / cover;
    width: 162px;
    height: 55px;
	top: 11%;
    right: 155px;
    z-index: 99;
}
.mirairo:hover:after {
   content: '';
    background: url(../images/top/arrow-btn02_mirairo.png) no-repeat center / cover;
    position: absolute;
    top: 33%;
    right: 53px;
    width: 27px;
    height: 27px;
}

@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }


  .flex {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 1340px) and (min-width: 768px){

	.wrap {
			max-width: 1000px;
			padding: 0 15px;
	}
	h2 {
		padding-bottom: 40px;
	}
	}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }


  .wrap {
    width: 100%;
    padding: 0 15px;
  }
	p {
		font-size: 14px;
	}
	h2{
		font-size: 25px;
	}
	a.btn02{
		height: 50px;
		padding: 5px 30px;
		margin: 0 auto;
	}
	.sec03 .mirairo .orange {
        width: 100%;
        height: 100px;
        background-color: #ff6e19;
        font-size: 15px;
        padding: 0;
        padding-bottom: 40px;
        display: flex;
        flex-flow: column;
        flex-wrap: wrap;
        border-radius: 30px;
        place-content: center;
    }
	.mirairo:before {
    content: '';
    width: 162px;
    height: 55px;
    background: url(../images/top/mirairo.png) no-repeat center / cover;
    position: absolute;
        top: 40%;
        right: 143px;
    z-index: 99;
    pointer-events: none;
}
	.mirairo:after {
    content: '';
    width: 27px;
    height: 27px;
    background: url(../images/top/arrow-btn02.png) no-repeat center / cover;
    position: absolute;
    z-index: 99;
    top: 53%;
    right: 83px;
    pointer-events: none;
}
}




/* =============================================================================
topKey
   ========================================================================== */

.topKeyimages {
	position: relative;
    background: url(../images/top/keyimages.webp) no-repeat center / cover;
    z-index: -10;
	margin-top: 95px;
 }
.topswave{
	background: url(../images/top/topwave.webp) no-repeat center / cover;
	margin-top: -30px;
	padding: 60px 0;
}
.topswave h5{
	color: #fff;
    font-size: 35px;
    text-align: center;
    font-family: noto-sans;
    font-weight: 600;
}


@media screen and (min-width: 768px) {
	    .topKeyimages {
        height: 750px;
    }
}
@media screen and (max-width: 1340px) and (min-width: 768px){
	.topKeyimages {
        height: 480px;
		margin-top: 55px;
    }
	.topswave{
		padding: 30px 0;
	}
	.topswave h5{
		font-size: 25px;
	}
}

@media screen and (max-width: 767px) {
	.topKeyimages {
    position: relative;
    background: url(../images/top/keyimagesSP.webp) no-repeat center / cover;
    z-index: -10;
    margin-top: 60px;
	    height: 570px;
}
	.topswave {
    background: url(../images/top/topwave.webp) no-repeat center / cover;
    margin-top: -10px;
    padding: 15px 0;
}
	.topswave h5 {
    color: #fff;
    font-size: 18px;
    text-align: center;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-weight: 600;
	line-height: 30px;
}
}



/* =============================================================================
.sec01 
   ========================================================================== */
.sec01{
	background: url(../images/top/bg-topsec01.jpg) no-repeat center / cover;

}
.sec01 .flex{
justify-content: center;
}
.sec01 .boxL{
	border: 7px solid #65D465;
	height: auto;
    background-color: #fff;
border-radius: 20px;
}
.sec01 .boxL .cont-news{
	
}
.sec01 .boxL .cont-news h4{
	background-color: #05B761;
	color: #fff;
	text-align: center;
	font-size: 25px;
	padding: 10px 0;
	    border-radius: 12px 12px 0 0;
	font-weight: bold;
	position: relative;
}
.sec01 .boxL .cont-news h4::before {
    content: '';
    width: 33px;
    height: 38px;
    background: url(../images/top/icon-bell.png) no-repeat center / cover;
    position: absolute;
    top: 20%;
    left: 6em;
}
.sec01 .boxL .cont-news ul{
	overflow: scroll;
	height: 660px;
	overflow-x: hidden;
}

.sec01 .boxL .cont-news li{
	display: flex;
    align-items: center;
    padding: 30px 0;
	padding-left: 5px;
    position: relative;
    border-bottom: 2px solid #b7ebb7;
    margin: 0 20px;
	font-size: 17px;
}
.sec01 .boxL .cont-news li .date{
	
	color: #008ad2;
	font-weight: bold;
}
.sec01 .boxL .cont-news li .ttl{
	letter-spacing: 0;
}
.sec01 .boxL .cont-news li .news_pdf{
	position: relative;
}
.sec01 .boxL .cont-news li .news_pdf a:hover{
	    color: #D80856;
}
/**.pdf-img{
    content: '';
    width: 20px;
    height: 24px;
    background: url(../images/top/news-icon-pdf.png) no-repeat center / cover;
    position: absolute;
    top: 2px;
}**/
p.news_pdf a:after {
    content: '';
    width: 20px;
    height: 24px;
    background: url(../images/news/news-icon-pdf.png) no-repeat center / cover;
    position: absolute;
    top: 2px;
}

 .cont-news .more {
    background-color: #05B761;
    color: #fff;
    text-align: center;
    font-size: 17px;
    padding: 10px 0;
    border-radius: 0 0 12px 12px;
    font-weight: bold;
    position: relative;
	 display: block;
	 text-align: right;
	 padding-right: 20px;
}
.cont-news .more .icon{
	padding-left: 10px;
}
.cont-news .more:hover {
	background-color: #028c00;
}
.cont-news .more:hover img{
	opacity: 1;
}

/*******スクロールバー********/


.sec01 .boxL .cont-news ul::-webkit-scrollbar {
  width: 10px;
}

.sec01 .boxL .cont-news ul::-webkit-scrollbar-track {
  background-color: #fff;
	 border-radius: 8px;
}

.sec01 .boxL .cont-news ul::-webkit-scrollbar-thumb {
  background-color: #D3D3D3;
	height: 150px;
  border-radius: 8px;
}


/***************/

.sec01 .boxR .cont-canp{
	border: 7px solid #eb3916;
    background-color: #fff;
	border-radius: 20px;
	height: 195px;
	background: url(../images/top/bg-campaign.webp) no-repeat center / cover;
	display: block;
	padding: 70px 0;
}
.sec01 .boxR .cont-canp p{
    background-color: #f65b3d;
    color: #fff;
	padding: 10px 30px;
    border-radius: 50px;
    font-size: 20px;
    position: relative;
    align-items: center;
    margin: 0 auto;
    text-align: center;
    width: 280px;
    font-weight: bold;
}
.sec01 .boxR .cont-lane{
	border: 7px solid #3BAAFF;
    background-color: #fff;
	border-radius: 20px;
	height: 195px;
	background: url(../images/top/bg-lane.webp) no-repeat center / cover;
	margin-top: 20px;
	display: block;
	padding: 70px 0;
}
.sec01 .boxR .cont-lane p{
background-color: #fff;
    color: #097CD4;
padding: 10px 30px;
    border-radius: 50px;
    font-size: 20px;
    position: relative;
    align-items: center;
    margin: 0 auto;
    text-align: center;
    width: 280px;
    font-weight: bold;
}
.sec01 .boxR .cont-canp p::before{
    content: '';
    width: 10px;
    height: 10px;
    border: 3.5px solid #fff;
    border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: 1em;
    box-sizing: border-box;
}
.sec01 .boxR .cont-lane p::before{
    content: '';
    width: 10px;
    height: 10px;
	border: 3.5px solid #097CD4;
	border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: 1em;
    box-sizing: border-box;
}
.sec01 .boxR .cont-canp:hover p{
	background-color: #EF2700;
	transition: 0.3s ease-in-out;
}
.sec01 .boxR .cont-lane:hover p{
	background-color: #105FDE;
	transition: 0.3s ease-in-out;
	color: #fff;
}
.sec01 .boxR .cont-lane:hover p::before{
    content: '';
    width: 10px;
    height: 10px;
	border: 3.5px solid #fff;
	border-left: 0;
    border-bottom: 0;
    transform: rotate(45deg);
    transform-origin: top right;
    position: absolute;
    top: 50%;
    right: 1em;
    box-sizing: border-box;
}
.sec01 .boxR .cont-line{
	margin-top: 20px;
}
.sec01 .boxR .cont-insta{
	border: 7px solid #F652D1;
    background-color: #fff;
	border-radius: 20px;
	background: #fff;
	display: block;
	margin-top: 20px;
	padding: 50px;
}
.sec01 .boxR .cont-insta img {
    margin: 0 auto;
    text-align: center;
    display: block;
}
.sec01 .boxR .cont-insta:hover{
	background: #ffe6f9;
}


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

@media screen and (min-width: 768px) {
	.sec01{
	    padding-top: 50px;
    padding-bottom: 160px;
	}
	.sec01 .boxL{
		width: 50%;
		margin-right: 20px;
	}
	.sec01 .boxR{
	width: 50%;
	margin-left: 20px;
}
}
@media screen and (max-width: 1340px) and (min-width: 768px){
	.sec01 {
        padding-top: 30px;
        padding-bottom: 100px;
    }
	.sec01 .boxL {
    border: 7px solid #65D465;
	}
	.sec01 .boxL .cont-news h4::before {
    content: '';
    width: 33px;
    height: 38px;
    background: url(../images/top/icon-bell.png) no-repeat center / cover;
    position: absolute;
    top: 20%;
    left: 3em;
}
}
@media screen and (max-width: 767px) {
	.sec01{
		padding-top: 30px;
	}

	.sec01 .boxL {
		border: 4px solid #65D465;
	}
	.sec01 .boxL .cont-news h4{
		    font-size: 20px;
	}
	.sec01 .boxL .cont-news ul {
    overflow: scroll;
		height: 340px;
	}
	.sec01 .boxL .cont-news li {
    display: flex;
    align-items: center;
		padding: 20px 0;
	}
	.sec01 .boxR .cont-canp{
		border: 4px solid #eb3916;
		    height: 105px;
		    padding: 30px 0;
		margin-top: 20px;
	}
	.sec01 .boxR .cont-canp p {
    background-color: #f65b3d;
    color: #fff;
    padding: 5px 20px;
    font-size: 16px;
    width: 250px;
}
	.sec01 .boxR .cont-lane{
		border: 4px solid #3BAAFF;
		    height: 105px;
		    padding: 30px 0;
		margin-bottom: 20px;
	}
	.sec01 .boxR .cont-lane p {
    background-color: #fff;
    color: #097CD4;
    padding: 5px 20px;
    font-size: 16px;
    width: 250px;
}
	.sec01 .boxR .cont-insta {
		border: 4px solid #F652D1;
		padding: 25px 50px;
	}
	.sec01 .boxL .cont-news h4::before {
    content: '';
    width: 33px;
    height: 38px;
    background: url(../images/top/icon-bell.png) no-repeat center / cover;
    position: absolute;
    top: 16%;
    left: 4em;
}
}




/* =============================================================================
.sec02
   ========================================================================== */
.sec02{
	background: url(../images/top/bg-bubble.webp) no-repeat center / cover;
	padding-top: 50px;
}
.sec02 .map{
	border: 2px dashed #097cd4;
	background: #fff;
	border-radius: 20px;
}
.sec02 .map .txt{
	margin-right: 1em;
	display: flex;
flex-flow: column;
	justify-content: space-around;
}
.sec02 .map .txt .guide{
	font-weight: 600;
	font-size: 18px;
}
.sec02 .map .txt .guide span{
	font-size: 22px;
}

@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 768px) {
	.sec02 .map{
		padding: 60px 80px;
	}
}
@media screen and (max-width: 1340px) and (min-width: 768px){
	    .sec02 .map {
        padding: 40px 40px;
    }
	.sec02 .map .txt{
		    margin-right: 0em;
    margin-left: 3em;
	}
	.sec02 .map .txt .guide {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 30px;
}

}
@media screen and (max-width: 767px) {
	.sec02 .map{
		padding: 30px 20px;
	}
	.sec02 .map .txt .guide{
		 margin: 0 auto;
        padding: 30px 0;
	}
}


/* =============================================================================
.sec03 
   ========================================================================== */
.sec03{
	background-color: #E9F7E8;
	padding-top: 50px;
	position: relative;
}
.sec03-after-img {
  position: absolute;
  background: url(../images/top/img-sec03-after.png) no-repeat center / contain;
  bottom: 0;
  left: 4em;
  width: 318px;
  height: 438px;
  pointer-events: none;
}
.sec03 ul.top-price{
	justify-content: center;
}

.sec03 ul.top-price li{
	margin: 0 20px;
	display: flex;
    flex-direction: column;
    /* margin: 0 auto; */
    align-items: center;
}
.sec03 ul.top-price li .txt-cont{
	background-color: #fff;
	border-radius: 20px;
	height: 240px;
	padding: 20px;
	margin-top: 20px;
	flex-flow: column;
	display: flex;
	justify-content: space-between;
}

.sec03 ul.top-price li .price-btn{
	color: #D80856;
	font-size: 15px;
	display: flex;
    justify-content: flex-end;
}
.sec03 ul.top-price li .txt-a{
	position: relative;
	padding-right: 5px;
}
.sec03 ul.top-price li .txt-a::after{
  transition: all 0.2s;
  content: "";
  width: 0;
  height: 1px;
  background: #D80856;
  position: absolute;
  left: 0;
  bottom: -1px;
}
.sec03 ul.top-price li a:hover .txt-a::after {
    transition: all 0.2s;
    width: 100%;
}


.sec03 ul.top-price li .ttl{
	text-align: center;
	font-size: 23px;
    font-weight: bold;
	margin-bottom: 10px;
}
.sec03 ul.top-price li p{
	font-size: 16px;
}
.sec03 .pricelist-btn{
	text-align: center;
	justify-items: center;
}

.sec03 .pricelist-btn{
	margin: 50px 0;
}
.sec03 ul.top-price li .txt-cont .bottomtxt a.price-btn .icon{
	padding-left: 5px;
}


@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 768px) {
	.sec03 ul.top-price li{
		width: 26%;
	}
}
@media screen and (max-width: 1500px) and (min-width: 768px){
.sec03-after-img {
    position: absolute;
    content: "";
    background: url(../images/top/img-sec03-after.png) no-repeat center / contain;
    bottom: 0;
    left: 2em;
    width: 308px;
    height: 322px;
}
		.sec03 ul.top-price li p {
    font-size: 14px;
}
	.sec01 .boxR {
        margin-left: 0px;
    }
}
@media screen and (max-width: 1340px) and (min-width: 768px){
	.sec03{
		padding-bottom: 180px;
	}
	.sec03 ul.top-price li {
		width: 30%;
	}
	.sec03 ul.top-price li {
		margin: 0 10px;
	}
.sec03-after-img {
        position: absolute;
        content: "";
        background: url(../images/top/img-sec03-after.png) no-repeat center / contain;
        bottom: 0;
        left: 0em;
        width: 200px;
        height: 192px;
    }
}
@media screen and (max-width: 767px) {
	.sec03{
		padding-bottom: 220px;
	}
.sec03-after-img {
	position: absolute;
    content: "";
    background: url(../images/top/img-sec03-after.png) no-repeat center / contain;
    bottom: 0;
    left: 0em;
    width: 200px;
    height: 192px;
}
	.sec03 ul.top-price li {
		margin: 50px 20px;
	}
	.sec03 ul.top-price li .ttl {
    text-align: center;
		font-size: 20px;
	}


}


/* =============================================================================
.sec04
   ========================================================================== */
.sec04{
	background-color: #097CD4;
	padding-top: 50px;
}
.sec04 h2{
	color: #fff;
}
.sec04 .white-cont{
	background: #fff;
	border-radius: 20px;
	padding: 80px 60px;
}
.sec04 .white-cont .flex{
	/*justify-content: space-around;*/
}
.sec04 .white-cont .g-map{
	padding-top: 50px;
}
.sec04 .white-cont .g-map iframe{
	border-radius: 20px;
}

.sec04 .white-cont .txt p{
    font-size: 17px;
}
.sec04 .white-cont .txt p.bold{
	margin-bottom: 15px;
}
.sec04 .white-cont .txt img{
	margin: 10px 0;
}
.sec04 .white-cont .blue-contxt{
	    background-color: #097CD4;
    color: #fff;
    width: 45%;
    padding: 3px 0;
    border-radius: 50px;
    font-size: 17px;
    text-align: center;
	margin: 10px 0;
}



@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 768px) {
	.sec04 .white-cont .txt{
	margin-right: 7em;
}
}
@media screen and (max-width: 1340px) and (min-width: 768px){

.sec04 .white-cont {
    background: #fff;
    border-radius: 20px;
    padding: 50px 40px;
}
		.sec04 .white-cont .txt{
	margin-right: 0em;
			margin-left: 2em;
}
	.sec04 .white-cont .blue-contxt {
    background-color: #097CD4;
    color: #fff;
    width: 55%;
    padding: 3px 0;
    border-radius: 50px;
    font-size: 15px;
    text-align: center;
    margin: 10px 0;
}
	.sec04 .white-cont .txt p {
    font-size: 15px;
}
}
@media screen and (max-width: 767px) {
	.sec04 .white-cont {
    padding: 40px 20px;
}
	.sec04 .white-cont .txt p {
    font-size: 15px;
}
	.sec04 .white-cont .g-map {
    padding-top: 20px;
}
	.sec04 .white-cont .blue-contxt{
		width: 53%;
	}
}


/* =============================================================================
.sec05
   ========================================================================== */
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 1340px) and (min-width: 768px){
	    .sec05 {
        padding: 100px 0;
        padding-top: 70px;
    }
	    .sec05 .flex {
        display: flex;
        justify-content: space-between;
    }
	.sec05 .flex li{
		width: 90%;
	}
}
@media screen and (max-width: 767px) {
	.sec05{
		padding: 40px 0;
        padding-bottom: 60px;
	}
	.bana-list{
		display: flex;
        flex-wrap: wrap;
		justify-content: space-around;
    }
	.bana-list li{
		width: 47%;
        margin: 5px 0px;
	}
}
