@charset "utf-8";

/* ----------------------------------------
	common
---------------------------------------- */
body {
font-size:16px;
font-family: "dnp-shuei-gothic-gin-std", sans-serif;
font-weight: 500;
font-style: normal;
line-height:1.5;
background-color: #000;
color: #fff;
}

img {
	max-width: 100%;
	height: auto;
	display: block; //ブロック要素化
	margin: 0 auto; //中央寄せ
}

a {text-decoration:none;}

a:hover {
	text-decoration: transparent;
}

.pc_area { display: block !important; }
.sp_area { display: none !important; }
@media only screen and (max-width: 750px) {
	.pc_area { display: none !important; }
	.sp_area { display: block !important; }
}

@media screen and (max-width: 750px) {
.spbr_none_box br {
	display: none;
	}
}

.link_img01 a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  transition-duration: .1s;
}

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 0;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.movebox {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 0;
	height: 0;
	overflow: hidden;
}
	 
.movebox iframe,
.movebox object,
.movebox embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.inner {
	max-width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}

@media screen and (max-width: 750px) {
	.inner {
		padding: 0 20px 0 20px;
	}
}

/* ----------------------------------------
	アニメーション
---------------------------------------- */

.anim-box {
  opacity: 0;
  transform: translateY(20px); /* 任意。動きの開始位置 */
}

.anim-box.fadeup.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
 
@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim-box.poyoyon.is-animated {
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.slidein.is-animated {
  animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
 
@keyframes slideIn {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.anim-box.popup.is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
 
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}


/* ----------------------------------------
	head
---------------------------------------- */

.head_box{
	padding: 0;
}
.head_img{
	padding: 0;
}
.head_img img{
	width: 100%;
}

.head_01_container{
	position: relative;
	height: 620px;
}
.head_01_inner{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip-path: inset(0);
}
.head_01_bg02{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-image: url('../img/head_01_bg01.png');
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.head_01_ttl01{
	padding: 160px 0 50px 0;
	display: flex;
	justify-content: center;
}
.head_01_box01{
	margin: 0 auto;
	padding: 0 0 160px 0;
	font-size: 20px;
	line-height: 1.7;
	color: #ffffff;
	max-width: 850px;
}

@media screen and (max-width: 750px) {
	.head_01_container{
		height: 700px;
	}
	.head_01_bg02{
		background-image: url('../img/head_01_bg01_sp.png');
	}
	.head_01_ttl01{
		padding: 70px 0 50px 0;
	}
	.head_01_box01{
		padding: 0 20px 50px 20px;
		font-size: 20px;
	}
}


/* ----------------------------------------
	sec_01
---------------------------------------- */

.sec_01_box{
	padding: 0;
}
.sec_01_ttl01{
	padding: 200px 0 80px 0;
	display: flex;
	justify-content: center;
}

.sec_01_flex01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_01_flex01_box01{
	width: calc(50% - 15px);
}
.sec_01_flex01_img01{
	margin: 170px -30px 0 0 ;
}
.sec_01_flex01_ttl01{
	padding: 0;
}
.sec_01_flex01_ttl02{
	font-size: 30px;
	color: #d72828;
	font-weight: bold;
	padding: 20px 0 5px;
	border-bottom: 1px solid #ffffff;
}
.sec_01_flex01_text01{
	font-size: 18px;
	line-height: 1.7;
	padding: 15px 0 20px 0;
}
.sec_01_flex01_text01 span{
	color: #d72828;
}

.sec_01_flex02{
	display: flex;
	justify-content: space-between;
	max-width: 845px;
	margin: 150px auto 150px;
}
.sec_01_flex02_box01{
	width: auto;
}
.sec_01_flex02_box02{
	width: auto;
	padding: 30px 0 0 0;
}

.sec_01_flex03{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_01_flex03_box01{
	width: calc(33.333% - 25px);
	padding: 0 0 90px 0;
}
.sec_01_flex03_img01{
	width: 100%;
}
.sec_01_flex03_text01{
	font-size: 16px;
	line-height: 1.7;
	text-align: center;
	padding: 5px 0 0 0;
}

.sec_01_box02{
	padding: 30px 0 90px 0;
	display: flex;
	justify-content: center;
}

.sec_01_flex04{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_01_flex04_box01{
	width: calc(50% - 20px);
	padding: 0 0 70px 0;
}
.sec_01_flex04_img01{
	padding: 0 0 0 0;
}
.sec_01_flex04_text01{
	padding: 0 0 10px 0;
	font-size: 18px;
	line-height: 1.7;
	color: #f5eb8c;
	border-bottom: 1px solid #ffffff;
}
.sec_01_flex04_text02{
	padding: 15px 0 0 0;
	font-size: 16px;
	line-height: 1.7;
}

.sec_01_btn_box01 {
	display: flex;
	justify-content: center;
}

.sec_01_btn_01 {
    padding: 6px 5px 4px 5px;
    font-size: 27px;
	font-weight: bold;
	width: 262px;
	display: block;
    text-decoration: none;
	background: #d72828;
    color: #ffffff;
    border: solid 1px #d72828;
    border-radius:25px;
    transition: .4s;
	text-align: center;
}

.sec_01_btn_01:hover {
    background: #000000;
    border: solid 1px #d72828;
    color: #d72828;
}


@media screen and (max-width: 750px) {
	.sec_01_ttl01{
		padding: 110px 10% 15px 10%;
	}
	.sec_01_flex01_box01{
		width: 100%;
	}
	.sec_01_flex01_img01{
		margin: 35px 0 0 0 ;
		display: flex;
		justify-content: center;
	}
	.sec_01_flex01_ttl01{
		padding: 30px 5% 0 5%;
	}
	.sec_01_flex02{
		flex-wrap: wrap;
		margin: 100px auto 100px;
	}
	.sec_01_flex02_box01{
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.sec_01_flex02_box02{
		width: 100%;
		padding: 20px 0 0 0;
		display: flex;
		justify-content: center;
	}
	.sec_01_flex03_box01{
		width: calc(50% - 10px);
		padding: 0 0 40px 0;
	}
	.sec_01_flex03_box01 img{
		width: 100%;
	}
	.sec_01_box02{
		padding: 50px 0 90px 0;
	}
	.sec_01_flex04_box01{
		width: 100%;
		padding: 0 0 60px 0;
	}
	.sec_01_flex04_img01{
		display: flex;
		justify-content: center;
	}
}



/* ----------------------------------------
	sec_02
---------------------------------------- */

.sec_02_box{
	padding: 0;
}
.sec_02_ttl01{
	padding: 170px 0 80px 0;
	display: flex;
	justify-content: center;
}

.sec_02_flex01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_02_flex01_box01{
	width: calc(50% - 15px);
}
.sec_02_flex01_img01{
	margin: 170px -30px 0 0 ;
}
.sec_02_flex01_ttl01{
	padding: 0;
	margin: 0 0 0 -40px;
}
.sec_02_flex01_ttl02{
	font-size: 30px;
	color: #db5f83;
	font-weight: bold;
	padding: 20px 0 5px;
	border-bottom: 1px solid #ffffff;
}
.sec_02_flex01_text01{
	font-size: 18px;
	line-height: 1.7;
	padding: 15px 0 20px 0;
}
.sec_02_flex01_text01 span{
	color: #db5f83;
}

.sec_02_flex02{
	display: flex;
	justify-content: space-between;
	max-width: 845px;
	margin: 150px auto 150px;
}
.sec_02_flex02_box01{
	width: auto;
}
.sec_02_flex02_box02{
	width: auto;
	padding: 30px 0 0 0;
}

.sec_02_flex03{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_02_flex03_box01{
	width: calc(33.333% - 25px);
	padding: 0 0 90px 0;
}
.sec_02_flex03_img01{
	width: 100%;
}
.sec_02_flex03_text01{
	font-size: 16px;
	line-height: 1.7;
	text-align: center;
	padding: 5px 0 0 0;
}

.sec_02_box02{
	padding: 30px 0 90px 0;
	display: flex;
	justify-content: center;
}

.sec_02_flex04{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_02_flex04_box01{
	width: calc(50% - 20px);
	padding: 0 0 70px 0;
}
.sec_02_flex04_img01{
	padding: 0 0 0 0;
}
.sec_02_flex04_text01{
	padding: 0 0 10px 0;
	font-size: 18px;
	line-height: 1.7;
	color: #f5eb8c;
	border-bottom: 1px solid #ffffff;
}
.sec_02_flex04_text02{
	padding: 15px 0 0 0;
	font-size: 16px;
	line-height: 1.7;
}

.sec_02_btn_box01 {
	display: flex;
	justify-content: center;
}

.sec_02_btn_01 {
    padding: 6px 5px 4px 5px;
    font-size: 27px;
	font-weight: bold;
	width: 262px;
	display: block;
    text-decoration: none;
	background: #db5f83;
    color: #ffffff;
    border: solid 1px #db5f83;
    border-radius:25px;
    transition: .4s;
	text-align: center;
}

.sec_02_btn_01:hover {
    background: #000000;
    border: solid 1px #db5f83;
    color: #db5f83;
}


@media screen and (max-width: 750px) {
	.sec_02_ttl01{
		padding: 110px 10% 15px 10%;
	}
	.sec_02_flex01_box01{
		width: 100%;
	}
	.sec_02_flex01_img01{
		margin: 35px 0 0 0 ;
		display: flex;
		justify-content: center;
	}
	.sec_02_flex01_ttl01{
		padding: 30px 5% 0 5%;
		margin: 0 0 0 0;
	}
	.sec_02_flex02{
		flex-wrap: wrap;
		margin: 100px auto 100px;
	}
	.sec_02_flex02_box01{
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.sec_02_flex02_box02{
		width: 100%;
		padding: 20px 0 0 0;
		display: flex;
		justify-content: center;
	}
	.sec_02_flex03_box01{
		width: calc(50% - 10px);
		padding: 0 0 40px 0;
	}
	.sec_02_flex03_box01 img{
		width: 100%;
	}
	.sec_02_box02{
		padding: 50px 0 90px 0;
	}
	.sec_02_flex04_box01{
		width: 100%;
		padding: 0 0 60px 0;
	}
	.sec_02_flex04_img01{
		display: flex;
		justify-content: center;
	}
}



/* ----------------------------------------
	sec_03
---------------------------------------- */

.sec_03_box{
	padding: 0;
}
.sec_03_ttl01{
	padding: 200px 0 80px 0;
	display: flex;
	justify-content: center;
}

.sec_03_flex01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_03_flex01_box01{
	width: calc(50% - 15px);
}
.sec_03_flex01_img01{
	margin: 120px -30px 0 0 ;
}
.sec_03_flex01_ttl01{
	padding: 0;
	margin: 0 0 0 -40px;
}
.sec_03_flex01_ttl02{
	font-size: 30px;
	color: #d72828;
	font-weight: bold;
	padding: 20px 0 5px;
	border-bottom: 1px solid #ffffff;
}
.sec_03_flex01_text01{
	font-size: 18px;
	line-height: 1.7;
	padding: 15px 0 20px 0;
}
.sec_03_flex01_text01 span{
	color: #d72828;
}

.sec_03_flex02{
	display: flex;
	justify-content: space-between;
	max-width: 845px;
	margin: 150px auto 150px;
}
.sec_03_flex02_box01{
	width: auto;
	padding: 20px 0 0 0;
}
.sec_03_flex02_box02{
	width: auto;
	padding: 0 0 0 0;
}

.sec_03_flex03{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_03_flex03_box01{
	width: calc(33.333% - 25px);
	padding: 0 0 90px 0;
}
.sec_03_flex03_img01{
	width: 100%;
}
.sec_03_flex03_text01{
	font-size: 16px;
	line-height: 1.7;
	text-align: center;
	padding: 5px 0 0 0;
}

.sec_03_box02{
	padding: 30px 0 90px 0;
	display: flex;
	justify-content: center;
}

.sec_03_flex04{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_03_flex04_box01{
	width: calc(50% - 20px);
	padding: 0 0 70px 0;
}
.sec_03_flex04_img01{
	padding: 0 0 0 0;
}
.sec_03_flex04_text01{
	padding: 0 0 10px 0;
	font-size: 18px;
	line-height: 1.7;
	color: #f5eb8c;
	border-bottom: 1px solid #ffffff;
}
.sec_03_flex04_text02{
	padding: 15px 0 0 0;
	font-size: 16px;
	line-height: 1.7;
}

.sec_03_btn_box01 {
	display: flex;
	justify-content: center;
}

.sec_03_btn_01 {
    padding: 6px 5px 4px 5px;
    font-size: 27px;
	font-weight: bold;
	width: 262px;
	display: block;
    text-decoration: none;
	background: #d72828;
    color: #ffffff;
    border: solid 1px #d72828;
    border-radius:25px;
    transition: .4s;
	text-align: center;
}

.sec_03_btn_01:hover {
    background: #000000;
    border: solid 1px #d72828;
    color: #d72828;
}


@media screen and (max-width: 750px) {
	.sec_03_ttl01{
		padding: 110px 10% 15px 10%;
	}
	.sec_03_flex01_box01{
		width: 100%;
	}
	.sec_03_flex01_img01{
		margin: 35px 0 0 0 ;
		display: flex;
		justify-content: center;
	}
	.sec_03_flex01_ttl01{
		padding: 30px 5% 0 5%;
		margin: 0 0 0 0;
	}
	.sec_03_flex02{
		flex-wrap: wrap;
		margin: 100px auto 100px;
	}
	.sec_03_flex02_box01{
		width: 100%;
		display: flex;
		justify-content: center;
		padding: 10px 0 0 0;
	}
	.sec_03_flex02_box02{
		width: 100%;
		padding: 20px 0 0 0;
		display: flex;
		justify-content: center;
	}
	.sec_03_flex03_box01{
		width: calc(50% - 10px);
		padding: 0 0 40px 0;
	}
	.sec_03_flex03_box01 img{
		width: 100%;
	}
	.sec_03_box02{
		padding: 50px 0 90px 0;
	}
	.sec_03_flex04_box01{
		width: 100%;
		padding: 0 0 60px 0;
	}
	.sec_03_flex04_img01{
		display: flex;
		justify-content: center;
	}
}



/* ----------------------------------------
	sec_04
---------------------------------------- */

.sec_04_box{
	padding: 0;
}
.sec_04_ttl01{
	padding: 170px 0 80px 0;
	display: flex;
	justify-content: center;
}

.sec_04_flex01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_04_flex01_box01{
	width: calc(50% - 15px);
}
.sec_04_flex01_img01{
	margin: 160px -10px 0 0 ;
}
.sec_04_flex01_ttl01{
	padding: 0;
	margin: 0 0 0 -40px;
}
.sec_04_flex01_ttl02{
	font-size: 30px;
	color: #db5f83;
	font-weight: bold;
	padding: 20px 0 5px;
	border-bottom: 1px solid #ffffff;
}
.sec_04_flex01_text01{
	font-size: 18px;
	line-height: 1.7;
	padding: 15px 0 20px 0;
}
.sec_04_flex01_text01 span{
	color: #db5f83;
}

.sec_04_flex02{
	display: flex;
	justify-content: space-between;
	max-width: 916px;
	margin: 150px auto 150px;
}
.sec_04_flex02_box01{
	width: auto;
	padding: 20px 0 0 0;
}
.sec_04_flex02_box02{
	width: auto;
	padding: 0 0 0 0;
}

.sec_04_flex03{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_04_flex03_box01{
	width: calc(33.333% - 25px);
	padding: 0 0 90px 0;
}
.sec_04_flex03_img01{
	width: 100%;
}
.sec_04_flex03_text01{
	font-size: 16px;
	line-height: 1.7;
	text-align: center;
	padding: 5px 0 0 0;
}

.sec_04_box02{
	padding: 30px 0 90px 0;
	display: flex;
	justify-content: center;
}

.sec_04_flex04{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_04_flex04_box01{
	width: calc(50% - 20px);
	padding: 0 0 70px 0;
}
.sec_04_flex04_img01{
	padding: 0 0 0 0;
}
.sec_04_flex04_text01{
	padding: 0 0 10px 0;
	font-size: 18px;
	line-height: 1.7;
	color: #f5eb8c;
	border-bottom: 1px solid #ffffff;
}
.sec_04_flex04_text02{
	padding: 15px 0 0 0;
	font-size: 16px;
	line-height: 1.7;
}

.sec_04_btn_box01 {
	display: flex;
	justify-content: center;
}

.sec_04_btn_01 {
    padding: 6px 5px 4px 5px;
    font-size: 27px;
	font-weight: bold;
	width: 262px;
	display: block;
    text-decoration: none;
	background: #db5f83;
    color: #ffffff;
    border: solid 1px #db5f83;
    border-radius:25px;
    transition: .4s;
	text-align: center;
}

.sec_04_btn_01:hover {
    background: #000000;
    border: solid 1px #db5f83;
    color: #db5f83;
}


@media screen and (max-width: 750px) {
	.sec_04_ttl01{
		padding: 110px 10% 15px 10%;
	}
	.sec_04_flex01_box01{
		width: 100%;
	}
	.sec_04_flex01_img01{
		margin: 35px 0 0 0 ;
		display: flex;
		justify-content: center;
	}
	.sec_04_flex01_ttl01{
		padding: 30px 5% 0 5%;
		margin: 0 0 0 0;
	}
	.sec_04_flex02{
		flex-wrap: wrap;
		margin: 100px auto 100px;
	}
	.sec_04_flex02_box01{
		width: 100%;
		display: flex;
		justify-content: center;
		padding: 0 0 0 0;
	}
	.sec_04_flex02_box02{
		width: 100%;
		padding: 20px 0 0 0;
		display: flex;
		justify-content: center;
	}
	.sec_04_flex03_box01{
		width: calc(50% - 10px);
		padding: 0 0 40px 0;
	}
	.sec_04_flex03_box01 img{
		width: 100%;
	}
	.sec_04_box02{
		padding: 50px 0 90px 0;
	}
	.sec_04_flex04_box01{
		width: 100%;
		padding: 0 0 60px 0;
	}
	.sec_04_flex04_img01{
		display: flex;
		justify-content: center;
	}
}



/* ----------------------------------------
	footer
---------------------------------------- */


.map_box{
	padding: 0 0 100px 0;
	height: 500px;
}
.footer_box{
	padding: 35px 20px 35px 20px;
	font-size: 25px;
	text-align: center;
}

.footer_banar00{
	padding: 60px 20px 30px 20px;
	display: flex;
	justify-content: center;

}

.footer_banar01{
	padding: 30px 20px 30px 20px;
	display: flex;
	justify-content: center;

}

.footer_banar02{
	padding: 110px 20px 60px 20px;
	display: flex;
	justify-content: center;
}

.footer_btn_box{
	padding: 60px 20px 60px 20px;
	display: flex;
	justify-content: center;
}

.footer_btn_01 {
    padding: 6px 5px 3px 5px;
    font-size: 41px;
	font-family: "A P-OTF 秀英角ゴシック銀 StdN", sans-serif;
	font-weight: bold;
	width: 540px;
    text-decoration: none;
	background: #ff83b5;
    color: #ffffff;
    border: solid 2px #ff83b5;
    border-radius:35px;
    transition: .4s;
	text-align: center;
}

.footer_btn_01:hover {
    background: #ffffff;
    border: solid 2px #ff83b5;
    color: #ff83b5;
}

@media screen and ( max-width:750px ){
	.footer_box{
		font-size: 20px;
	}
	.footer_banar00{
		padding: 40px 20px 15px 20px;
	}

	.footer_banar01{
		padding: 15px 20px 15px 20px;
	}

	.footer_banar02{
		padding: 15px 20px 40px 20px;
	}
}


