@charset "utf-8";

/*=======================
	common
=======================*/

@font-face {
  font-family: 'w4';
  src: url('font/hiraginow4.woff') format('woff'),
       url('font/hiraginow4.woff2') format('truetype');
}
@font-face {
  font-family: 'w5';
  src: url('font/hiraginow5.woff') format('woff'),
       url('font/hiraginow5.woff2') format('truetype');
}
@font-face {
  font-family: 'w7';
  src: url('font/hiraginow7.woff') format('woff'),
       url('font/hiraginow7.woff2') format('truetype');
}

h2{
	margin: 0 !important;
}

.page{
	width: 100%;
	background: #fff;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}
@media screen and (max-width: 678px) {
	.page{
		padding-bottom: 14vw;
	}
}

.page p{
	font-size: 1.8rem;
	line-height: 1.5;
	font-family: 'w4',sans-serif;
	font-display: swap;
	font-weight: normal;
}
@media screen and (max-width: 678px) {
	.page p{
		font-size: 4vw;
	}
}

.page a{
	transition : all 300ms;
}
.page a:hover{
	opacity: 0.6;
}
.page img{
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 678px) {
	.page .page__inner{
		width: 89.5vw;
		margin: auto;
	}
}

.page .page__title--h2{
	font-size: 5rem;
	text-align: center;
	font-family: 'w5',sans-serif;
	font-display: swap;
}
@media screen and (max-width: 678px) {
	.page .page__title--h2{
		font-size: 9vw;
		letter-spacing: -0.08rem;
	}
}
.about__title {
    display: block;
	max-width: 792px;
    width: 96%;
    margin: 0 auto;
}
.pc-view { display: block;}
.sp-view { display: none;}
.main__title {
    display: block;
    margin: 0 auto;
	max-width: 976px;
    width: 96%;
    border: solid 1px #000000;
    padding: 16px;
}
.main__title--h2{
    font-size: 32px;
    text-align: center;
    font-weight: bold;
}
.page_table {
    display: block;
    width: 480px;
    margin: 30px auto 0;
}
.page_table_img {
    display: block;
    width: 460px;
    margin: 30px auto 0;
}
.page_table p{
    font-size: 10px;
}
.page_table table {
    width: 100%;
    margin:10px 0 5px;
    border-top: 1.5px solid #000000;
    border-left: 1.5px solid #000000;
    border-spacing: 0px;
    table-layout: auto;
    font-size: 1.2rem;
}
.page_table table tr th,.page_table table tr td{
    text-align: center;
    border-bottom: 1.5px solid #000000;
    border-right: 1.5px solid #000000;
    padding: 10px;
    font-weight: bold;
}
.page_table table tr th span{
    font-size: 1rem;
}
.spe_pri {
    color:#ff0000;
}
@media screen and (max-width: 678px) {
    .pc-view { display: none;}
    .sp-view { display: block;}
    .about__title {
        width: 100%;
    }
    .main__title {
		max-width: 688px;
        width: 92%;
        padding: 3.12vw;
        margin: 10% auto 0;
    }
    .main__title--h2 {
        font-size: 5.7vw;
    }
    .page_table {
        width: 100%;
        margin: 5% auto 0;
    }
    .page_table_img {
        width: 100%;
        margin: 5% auto 0;
    }
    .page_table p{
        font-size: 3vw;
    }
    .page_table table {
        border-top: 1px solid #000000;
        border-left: 1px solid #000000;
        box-shadow: 0 0 0 1px #000000;
    }
    .page_table table .thead{
        display:none;
    }
    /* .page_table table td:before {
        content:attr(data-label);
        float:left;
    } */
    .page_table table tr th,.page_table table tr td{
        padding: 5%;
    }
    .page_table table tbody{
        display: flex;
        justify-content: space-between;
    }
    .page_table table tr{
        display:block;
        border-bottom:1px solid #000000;
        box-shadow: 0 0 0 1px #000000;
        flex-grow: 1;
    }
    .page_table table tr td{
        display:block;
        border-right: 1px solid #000000;
        height: 7vh;
    }
    .page_table table td:last-child{
	        border-bottom:0;
	    }
}
.page .page__title--h3{
	font-size: 24px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'w5',sans-serif;
	font-display: swap;
}
@media screen and (max-width: 678px) {
	.page .page__title--h3{
		font-size: 4.68vw;
	}
}

.page .page__title--h3:before{
	content: "";
	width: 236px;
	height: 1px;
	background: #000;
	display: inline-block;
	margin-right: 15px;
}
@media screen and (max-width: 678px) {
	.page .page__title--h3:before{
		width: 20vw;
		margin-right: 2.6vw;
	}
}

.page .page__title--h3:after{
	content: "";
	width: 236px;
	height: 1px;
	background: #000;
	display: inline-block;
	margin-left: 15px;
}
@media screen and (max-width: 678px) {
	.page .page__title--h3:after{
		width: 22.1vw;
		margin-left: 2.6vw;
	}
}

.page .page--note{
	font-size: 16px;
}
@media screen and (max-width: 678px) {
	.page .page--note{
		font-size: 3.6vw;
	}
}

.view--pc{
	display: block;
}
@media screen and (max-width: 678px) {
	.view--pc{
		display: none;
	}
}

.view--sp{
	display: none;
}
@media screen and (max-width: 678px) {
	.view--sp{
		display: block;
	}
}

/*=======================
	kv
=======================*/

.kv h1 {
	min-width: 1920px;
	position: relative;
	left: 50%;
	-webkit-transform: translateX(-50%);
			transform: translateX(-50%);
	text-align: center;
	margin-bottom: 0 !important;
  }
@media screen and (max-width: 1024px) and (min-width: 769px) {
	.kv h1 {
		min-width: 190vw;
	}
}
@media screen and (max-width: 678px) {
	.kv h1 {
		min-width: 100%;
	}
}
.kv h1 img {
	margin: auto;
}
.kv_bottom{
	width: 100%;
	background: #003A7E;
	padding: 14px 0 19px;
	text-align: center;
}
@media screen and (max-width: 678px) {
	.kv_bottom{
		padding: 4.16vw 0;
	}
}
.kv_bottom p{
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}
@media screen and (max-width: 678px) {
	.kv_bottom p{
		font-size: 5.7vw;
	}
}
.kv_bottom p span{
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}
@media screen and (max-width: 678px) {
	.kv_bottom p span{
		font-size: 4.2vw;
	}
}

/*=======================
	about
=======================*/

.about{
	padding: 96px 0 0;
}
@media screen and (max-width: 678px) {
	.about{
		padding: 16.6vw 0 0;
	}
}

.about .about__text{
	text-align: center;
}

.about .about__text p{
	font-size: 2.4rem;
}
@media screen and (max-width: 678px) {
	.about .about__text p{
		font-size: 4.1vw;
	}
}

.about .page__title--h3{
	font-size: 1.9rem;
}
@media screen and (max-width: 678px) {
	.about .page__title--h3{
		font-size: 3.12vw;
	}
}

.about .about__text li{
	margin-top: 25px;
}
@media screen and (max-width: 678px) {
	.about .about__text li{
		margin-top: 4.8vw;
	}
}

.about .about__text li:first-child{
	margin-top: 0;
}
.about .about__text li p{
	line-height: 1.5;
}
.about .page__title--h2{
	display: inline-block;
	font-family: 'w7',sans-serif;
	font-display: swap;
	padding-left: 15px;
	margin-top: 81px;
	background: linear-gradient(transparent 60%, #f8b551 60%);
}
@media screen and (max-width: 678px) {
	.about .page__title--h2{
		margin-top: 14.5vw;
		padding: 0;
	}
}

.about .about__case{
	margin: 94px auto 0;
	width: 96%;
}
@media screen and (max-width: 678px) {
	.about .about__case{
		margin-top: 13.8vw;
	}
}

.about .about__case ul{
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 552px;
	margin: 32px auto 20px;
}
@media screen and (max-width: 678px) {
	.about .about__case ul{
		margin: 4.16vw auto 5.2vw;
	}
}

.about .about__case ul li{
	width: 33.5%;
	text-align: center;
}
.about .about__case .about__case__text{
	margin-top: 25px;
}
@media screen and (max-width: 678px) {
	.about .about__case .about__case__text{
		margin-top: 3.5vw;
	}
}

.about .about__case .about__case__text p{
	line-height: 1.2;
}
@media screen and (max-width: 678px) {
	.about .about__case .about__case__text p{
		font-size: 3.9vw;
		letter-spacing: -0.03rem;
	}
}

.about .about__case--note{
	text-align: center;
}
@media screen and (max-width: 678px) {
	.about .about__case--note{
		text-align: left;
		letter-spacing: -0.1rem;
	}
}

.example_img{
	max-width: 976px;
	width: 96%;
	margin: 32px auto 80px;
}
@media screen and (max-width: 678px) {
	.example_img{
		width: 100%;
		margin: 6.25vw auto 14vw;
	}
}
/*=======================
	main
=======================*/

.main{
	margin-top: 47px;
}
@media screen and (max-width: 678px) {
	.main{
		margin-top: 6vw;
	}
	.main .page__title--h2{
		font-size: 7.29vw;
		margin-bottom: 15vw;
	}
}

.main .main__conts{
	width: 100%;
	max-width: 720px;
	margin: 98px auto 0;
}
@media screen and (max-width: 678px) {
	.main .main__conts{
		margin: 13vw auto 0;
	}
}

.main .main__conts p{
	letter-spacing: -0.08rem;
}
.main .main__conts p span{
	font-size: 1.2rem;
}
.main .main__conts b{
    font-size: 1.8rem;
    display: inline-block;
    font-display: swap;
    background: linear-gradient(transparent 95%, #ff3c00 50%);
    font-weight: bold;
}
@media screen and (max-width: 678px) {
	.main .main__conts p{
		letter-spacing: 0;
	}
}

.main .main__conts .page--note{
	font-size: 1.4rem;
}
@media screen and (max-width: 678px) {
	.main .main__conts .page--note{
		font-size: 3.64vw;
	}
}

.main .main__conts ul li{
	display: flex;
}
@media screen and (max-width: 678px) {
	.main .main__conts ul li{
		margin-top: 4.5vw;
	}
	.main .main__conts ul li:first-child{
		margin-top: 0;
	}
}

.main .main__conts ul li:before{
	content: "・";
	display: inline-block;
	width: 12px;
	padding-top: 5px;
}
@media screen and (max-width: 678px) {
	.main .main__conts ul li:before{
		font-size: 3.9vw;
		width: 3.5vw;
		padding-top: 0;
	}
}

.main .main__conts .page__title--h3{
	margin-bottom: 22px;
}
@media screen and (max-width: 678px) {
	.main .main__conts .page__title--h3{
		margin-bottom: 4.68vw;
	}
}

.main .main__conts p{
	font-size: 1.6rem;
}
@media screen and (max-width: 678px) {
	.main .main__conts p{
		font-size:3.9vw;
	}
}

.main .main__conts__wrap .main__conts:nth-child(2n){
	text-align: center;
	margin: 89px auto 0;
}
.main .main__conts__wrap .main__conts:nth-child(2n) .page__title--h3{
	margin-bottom: 30px;
}
@media screen and (max-width: 678px) {
	.main .main__conts__wrap .main__conts:nth-child(2n) .page__title--h3{
		margin-bottom: 2vw;
	}
}

.main .main__conts__target .target--name{
	font-size: 2.4rem;
}
@media screen and (max-width: 678px) {
	.main .main__conts__target .target--name{
		font-size: 4.68vw;
	}
}

.main .main__conts__target .target--name span{
	font-size: 1.6rem;
	vertical-align: middle;
}
@media screen and (max-width: 678px) {
	.main .main__conts__target .target--name span{
		font-size: 3.12vw;
	}
}

.main .main__conts__link{
	margin-top: 22px;
}
@media screen and (max-width: 678px) {
	.main .main__conts__link{
		margin-top: 3.25vw;
	}
}

.main .main__conts__link a{
	display: block;
	/* font-size: 1.6rem; */
	text-decoration: underline;
	margin-top: 15px;
}
@media screen and (max-width: 678px) {
	.main .main__conts__link a{
		/* font-size: 3.9vw; */
		margin-top: 5vw;
	}
}

.main .main__conts__link a:first-child{
	margin-top: 0;
}

.point{
	font-size: 16px !important;
	margin-bottom: 16px !important;
}
@media screen and (max-width: 678px) {
	.point{
		font-size: 3.64vw !important;
		margin-bottom: 3.25vw !important;
	}
}
.point span{
	font-size: 16px !important;
	font-weight: bold;
	color: #E60012;
	vertical-align: baseline;
}
@media screen and (max-width: 678px) {
	.point span{
		font-size: 3.64vw !important;
	}
}
.note{
	font-size: 13px !important;
	margin-bottom: 32px;
}
@media screen and (max-width: 678px) {
	.note{
		font-size: 3.38vw !important;
		margin-bottom: 6.5vw;
	}
}
/*=======================
	footer
=======================*/

.footer{
	margin-top: 40px;
	text-align: center;
	padding-bottom: 46px;
}
@media screen and (max-width: 678px) {
	.footer{
		margin-top: 10vw;
		padding-bottom: 0;
	}
}

.footer .search__btn{
	display: block;
	width: 394px;
	height: 54px;
	margin: 0 auto 20px;
}
@media screen and (max-width: 678px) {
	.footer .search__btn{
		width: 54.9vw;
		height: 11.7vw;
		margin: 0 auto 6.25vw;
	}
}

/*=======================
	other
=======================*/

.other{
	padding: 0;
}

.other .other__text{
	text-align: center;
}

.other .other__text p{
	font-size: 2.4rem;
}
@media screen and (max-width: 678px) {
	.other .other__text p{
		font-size: 4.1vw;
	}
}

.other .page__title--h3{
	font-size: 1.9rem;
}
@media screen and (max-width: 678px) {
	.other .page__title--h3{
		font-size: 3.12vw;
	}
}

.other .other__text li{
	margin-top: 25px;
}
@media screen and (max-width: 678px) {
	.other .other__text li{
		margin-top: 4.8vw;
	}
}

.other .other__text li:first-child{
	margin-top: 0;
}
.other .other__text li p{
	line-height: 1.5;
}
.other .page__title--h2{
	display: inline-block;
	font-family: 'w7',sans-serif;
	font-display: swap;
	padding-left: 15px;
	margin-top: 81px;
	background: linear-gradient(transparent 60%, #f8b551 60%);
}
@media screen and (max-width: 678px) {
	.other .page__title--h2{
		margin-top: 14.5vw;
		padding: 0;
	}
}
.other .other__case{
	margin: 0 auto;
	width: 96%;
}
.other .price_list{
	max-width: 912px;
	width: 96%;
	display: flex;
	justify-content: space-between;
	margin: 32px auto;
}
.other .price_item{
	width: 48.2%;
}
.other .other_note{
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}
@media screen and (max-width: 678px) {
	.other .other__case{
		margin: 0 auto;
		width: 96%;
	}
	.other .price_list{
		max-width: 688px;
		width: 100%;
		flex-direction: column;
		margin: 32px auto;
	}
	.other .price_item{
		width: 100%;
		margin-top: 7vw;
	}
	.other .price_item:first-of-type{
		margin-top: 0;
	}
	.other .other_note{
		font-size: 3.2vw;
		line-height: 1.5;
		text-align: left;
	}
}