@charset "UTF-8";

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

html {
	width: 100%;
	font-size: 62.5%;
}
body {
	color: #333333;
	font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 2;
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}
a {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	text-decoration: none;
	transition: all .6s ease 0s;
}
a:hover {
	opacity: .7;
	text-decoration: none;
}
strong, em {
	font-style: normal;
	font-weight: 300
}
ul, li {
	list-style: none;
}
#wrapper {
	position: relative;
	width: 100%
}
.inr {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 5%;
}
.mincho {
	font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝B", "MingLiU", "SimSun", "ＭＳ Ｐ明朝", serif !important;
	transform: rotate(.03deg);
}
.times {
	font-family: Times, "Times New Roman", serif !important;
}
.baloo {
	font-family: 'Baloo Paaji', cursive;
}
.maru {
	font-family: "ヒラギノ丸ゴ ProN W4", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "Hiragino Maru Gothic ProN", Meiryo, Arial, sans-serif;
}
.tx-red {
	color: #E6001F;
}
.tx-pink {
	color: #ff5992;
}
.bold {
	font-weight: bold;
}
.cfx:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden
}
.cfx {
	display: inline-block
}
* html .cfx {
	height: 1%
}
.cfx {
	display: block
}
img {
	max-width: 100%;
}
@media screen and (min-width: 520px) {
	.tbl {
		display: block !important;
	}
}
@media screen and (min-width: 769px) {
	.smt {
		display: none !important;
	}
	.tbl {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.pc {
		display: none !important
	}
	body {
		color: #444444;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}

.__ac_box .__ac_box_cont {
	display: none;
}
.__ac_box .__ac_box_btn {
	cursor: pointer;
}
.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 101;
}
.modal__bg {
	background: rgba(0, 0, 0, 0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
}
.modal__content {
	width: 90%;
	max-width: 1100px;
	height: 80%;
	overflow: scroll;
	background: #fff;
	padding: 3%;
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.js-modal-close_btn {
	box-sizing: border-box;
	display: block;
	background: #444;
	height: 50px;
	width: 50px;
	line-height: 38px;
	border: 2px solid #fff;
	color: #fff;
	text-align: center;
	font-size: 4.5rem;
	border-radius: 100%;
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translate(-50%, 50%);
}
@media screen and (max-width: 768px) {
	.modal__content {
		width: 90%;
		height: 80%;
	}
}
/* ======================================================
	Header
====================================================== */
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
.site_header {
	background-color: #fff;
	line-height: 1;
}
.site_header_name {
	background-color: #FBE4EB;
	color: #132743;
	text-align: center;
	line-height: 25px;
	font-size: 1.4rem;
}
.site_header_toggle {
	display: none;
}
.site_header_inr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1240px;
	box-sizing: border-box;
}
.site_menu_btnarea {
	display: flex;
}
.site_menu_btnarea a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	color: #FFFFFF;
	font-weight: bold;
	line-height: 1.2;
}
.site_menu_btnarea a + a {
	margin-left: 1px;
}
.site_menu_btnarea_contact {
	background-color: #132743;
}
.site_menu_btnarea_request {
	background-color: #ED7A9B;
}
@media screen and (min-width: 1400px) {
	.site_header_menu_nav li a {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 1399px) {
	.site_header_menu_nav li a {
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 769px) {
	.site_header_inr {
		height: 100px;
		padding: 0 20px;
	}
	.site_header_logo {
		width: 169px;
	}
	.site_header_menu {
		width: calc(100% - 169px);
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		padding-left: 3%;
	}
	.site_header_menu_nav {
		width: calc(100% - 202px);
	}
	.site_header_menu_nav ul {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	.site_header_menu_nav ul li {
		margin-right: 1em;
	}
	.site_header_menu_nav li a {
		display: block;
		padding: 5px 0;
		color: #3B4043;
		font-weight: bold;
		position: relative;
	}
	.site_header_menu_nav li a:hover {
		opacity: 1;
	}
	.site_header_menu_nav li a::after {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background: #ED7A9B;
		position: absolute;
		bottom: 0;
		left: 0;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: transform .3s;
	}
	.site_header_menu_nav li a:hover::after {
		transform: scale(1, 1);
	}
	.site_menu_btnarea a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 768px) {
	.site_header {
		z-index: 9999;
	}
	.site_header_inr {
		height: 77px;
		padding: 0 15px;
		flex-wrap: wrap;
	}
	.site_header_logo {
		width: 120px;
	}
	.site_header_toggle {
		display: block;
		width: 22px;
		height: 0;
		padding-top: 22px;
		white-space: nowrap;
		overflow: hidden;
		text-indent: 100%;
		background: url(../img/common/icn_site_header_toggle_menu.png) 0 0 no-repeat;
		background-size: contain;
		transition: all .6s;
	}
	.fixed .site_header_toggle {
		width: 18px;
		padding-top: 18px;
		background-image: url(../img/common/icn_site_header_toggle_close.png);
		position: fixed;
		top: 13px;
		right: 20px;
		z-index: 9999;
	}
	.site_header_menu {
		box-shadow: 0 0 5px 0 rgb(0 0 0 / 30%) inset;
		width: 100vw;
		margin-top: 1px;
		position: fixed;
		right: -100vw;
		top: 0;
		opacity: 0;
		background-color: #FBE4EB;
		transition: all .6s;
		z-index: 9998;
	}
	.fixed .site_header_menu {
		right: 0;
		opacity: 1;
	}
	.site_header {
		position: relative;
	}
	.site_header_menu_nav {
		padding: 20px 0;
	}
	.site_header_menu_nav li a {
		display: block;
		padding: 20px 40px;
		font-weight: bold;
		color: #132743;
		font-size: 1.9rem;
		text-align: center;
	}
	.site_header_menu_tel {
		background-color: #fff;
		padding: 20px;
		font-weight: bold;
		color: #132743;
		line-height: 1.2;
	}
	.site_header_menu_tel li + li {
		margin-top: 20px;
	}
	.site_header_menu_tel_num {
		font-size: 2.5rem;
	}
	.site_header_menu_tel_num span {
		font-size: 1rem;
	}
	.site_menu_btnarea a {
		width: 50%;
		height: 40px;
		font-size: 1.6rem;
	}
	.site_header_menu .site_menu_btnarea a {
		height: 75px;
	}
}
/* ======================================================
	Footer
====================================================== */
.page_contact + .site_footer {
	margin-top: 0;
}
.site_footer {
	margin-top: 120px;
}
.site_footer_menu {
	background-color: #FBE4EB;
	padding: 50px 0;
}
.site_footer_menu_inr {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 5%;
	position: relative;
}
.site_footer_menu_nav {
	display: flex;
}
.site_footer_menu_nav dl {
	display: inline-block;
	margin-right: 5%;
}
.site_footer_menu_nav dl dt {
	font-weight: bold;
	color: #ED7A9B;
}
.site_footer_menu_nav dl dd a {
	font-size: 1.4rem;
	color: #4A4F54;
}
.site_footer_menu .site_menu_btnarea {
	position: absolute;
	top: -50px;
	right: 5%;
	transform: translateX(50%);
}
.site_footer_copy {
	padding: 20px 0;
	color: #4A4F54;
}
.site_footer_copy_inr {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 5%;
	display: flex;
	justify-content: space-between;
}
.site_footer_copy_logo {
	display: flex;
	align-items: center;
}
.site_footer_copy_logo img {
	display: block;
	width: 170px;
	margin-right: 30px;
}
.site_footer_copy_logo small {
	font-size: 1rem;
}
.site_footer_copy_tel {
	display: flex;
	justify-content: flex-end;
	width: calc(100% - 420px);
}
.site_footer_copy_tel li {
	display: inline-block;
	padding: 5px 0 0 5px;
	margin-left: 5%;
	border-left: 2px solid #4A4F54;
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1;
}
.site_footer_copy_tel li a {
	display: block;
	margin: 5px 0;
	font-size: 2.1rem;
}
.bnr_float {
	width: 60px;
	height: auto;
	position: fixed;
	z-index: 100;
	right: 0;
	bottom: 5%;
}
.bnr_float a {
	display: block;
	margin-bottom: 5px;
}
.bnr_float #topBtn {
	cursor: pointer;
}
@media screen and (max-width: 768px) {
	.site_footer {
		margin-top: 60px;
	}
	.site_footer_menu {
		padding: 5% 0;
	}
	.site_footer_menu_nav {
		flex-wrap: wrap;
	}
	.site_footer_menu_nav dl {
		display: flex;
		margin-right: 0;
		width: 100%;
	}
	.site_footer_menu_nav dl dt {
		width: 8em;
	}
	.site_footer_menu_nav dl dd {
		width: calc(100% - 7em);
	}
	.site_footer_menu_nav dl dd ul {
		display: flex;
		flex-wrap: wrap;
	}
	.site_footer_menu_nav dl:not(:last-child) dd ul {
		margin-bottom: 10px;
	}
	.site_footer_menu_nav dl dd ul li {
		margin: 0 15px 10px 0;
		line-height: 1;
	}
	.site_footer_menu_nav dl dd ul li:not(:last-child) {
		padding-right: 15px;
		border-right: 1px solid #4A4F54;
	}
	.site_footer_copy_inr {
		flex-wrap: wrap-reverse;
	}
	.site_footer_copy_tel {
		width: 100%;
		justify-content: space-between;
		margin-bottom: 20px;
	}
	.site_footer_copy_tel li {
		margin-left: 0;
	}
	.site_footer_copy_logo {
		width: 100%;
		justify-content: center;
	}
	.site_footer_copy_logo img {
		width: 120px;
	}
	.site_footer_copy_tel li span {
		font-size: 1.9rem;
	}
}


/* ======================================================
	下層
====================================================== */
/* ===========================
パンくず
=========================== */
#breadcrumb-wrap {
	background-color: #F0F3F5;
}
#breadcrumb {
	box-sizing: border-box;
	display: block;
	max-width: 1240px;
	margin: 50px auto 0;
	padding: 1.0em;
	font-size: 1.2rem;
	color: #3B4043;
}
#breadcrumb li {
	display: inline-block;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#breadcrumb li:not(:last-child)::after {
	display: inline-block;
	content: '/';
	padding: 0 5px;
}
#breadcrumb li a {
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	#breadcrumb {
		margin-bottom: 20px;
	}
}
/* ===========================
btn
=========================== */
.btn_area {
	display: flex;
	justify-content: center;
	align-items: center;
}
.btn_area > * + * {
	margin-left: 20px;
}
.btn_area > *:hover {
	opacity: .8
}
.btn_style_01 {
	cursor: pointer;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 30px;
	box-sizing: border-box;
	background: #ED7A9B;
	background: linear-gradient(90deg, #F2A2B9 0%, #ED7A9B 100%);
	color: #fff;
	border-radius: 48px;
	overflow: hidden;
	position: relative;
	text-align: center;
}
.btn_style_02 {
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80%;
	max-width: 272px;
	height: 48px;
	box-sizing: border-box;
	background-color: #ED7A9B;
	padding: 0 10px;
	border: none;
	border-radius: 48px;
	color: #fff;
	appearance: none;
	line-height: 1.2;
	font-weight: bold;
	font-size: 1.6rem;
}
.btn_style_02.gray {
	background-color: #707F89;
}
@media screen and (min-width: 769px) {
	.btn_style_01 {
		background: linear-gradient(90deg, #F2A2B9 0%, #ED7A9B 50%, #F2A2B9 100%) 0 0;
		background-size: 200% 100%;
		transition: all .3s ease-out;
		font-size: 1.5rem;
	}
	.btn_style_01:hover {
		opacity: 1;
		background-position: 100% 0%;
	}
	.btn_style_01 span {
		position: relative;
		z-index: 2;
	}
}
/* ===========================
contact
=========================== */
.page_contact {
	width: 100%;
	background: #fbcdda;
	overflow: hidden;
}
.page_contact_inr {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	max-width: 1000px;
	height: 278px;
	margin: 0 auto;
	position: relative;
	line-height: 1.2;
	color: #132743;
	text-align: center;
	font-weight: bold;
}
.page_contact_inr > * {
	z-index: 2;
}
.page_contact_inr .page_contact_img {
	width: 1440px;
	height: 278px;
	max-width: none;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.page_contact_ttl {
	font-size: 3.6rem;
	margin-bottom: 10px;
}
.page_contact_link {
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}
.page_contact_link a {
	width: 248px;
	height: 48px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background: #ED7A9B;
	color: #fff;
	border-radius: 48px;
	font-size: 2.4rem;
	margin: 0 17px;
}
.page_contact_tel {
	font-size: 3.9rem;
	margin-bottom: 5px;
}
.page_contact_tel span {
	font-size: 1.9rem;
}
.page_contact_at {
	font-size: 1.5rem;
	font-weight: normal;
	color: #3B4043;
}
@media screen and (max-width: 768px) {
	.page_contact_inr {
		height: 60vw;
	}
	.page_contact_inr .page_contact_img {
		width: 100%;
		height: auto;
		max-width: none;
		bottom: 0;
		top: auto;
		left: 0;
		transform: none;
	}
	.page_contact_ttl {
		font-size: 2.2rem;
	}
	.page_contact_link {
		justify-content: space-between;
		width: 80%;
	}
	.page_contact_link a {
		width: 48%;
		height: 30px;
		border-radius: 30px;
		font-size: 1.5rem;
		margin: 0;
	}
	.page_contact_tel {
		font-size: 2.5rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.page_contact_tel span {
		font-size: 1.2rem;
	}
}

/* ===========================
page
=========================== */
.page_ttl {
	background-color: #FBE4EB;
	margin-bottom: 30px;
}
.page_ttl_style_01 {
	height: 140px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 3.6rem;
	color: #132743;
}
.page_ttl_style_02 {
	text-align: center;
	color: #132743;
	font-size: 3.6rem;
	font-weight: bold;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 55px auto;
	padding: 55px 0 20px;
	margin-bottom: 30px;
	line-height: 1.2;
	position: relative;
}
.page_ttl_style_02::before,
.page_ttl_style_02::after {
	content: "";
	display: block;
	background-color: #ED7A9B;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.page_ttl_style_02::before {
	width: 480px;
	height: 1px;
	bottom: 2.5px;
}
.page_ttl_style_02::after {
	width: 100px;
	height: 5px;
	bottom: 0;
}
.page_ttl_style_02 .fs_small {
	font-size: 2.7rem;
}
.page_ttl_style_02.icn_chara_01 {
	background-image: url(../img/common/icn_chara_01.png);
}
.page_ttl_style_02.icn_chara_02 {
	background-image: url(../img/common/icn_chara_02.png);
}
.page_ttl_style_02.icn_chara_03 {
	background-image: url(../img/common/icn_chara_03.png);
}
.page_ttl_style_02.icn_chara_04 {
	background-image: url(../img/common/icn_chara_04.png);
}
.page_ttl_style_02.icn_chara_05 {
	background-image: url(../img/common/icn_chara_05.png);
}
.page_ttl_style_02.icn_chara_06 {
	background-image: url(../img/common/icn_chara_06.png);
}
.page_ttl_style_03 {
	font-size: 3.4rem;
	margin-bottom: 20px;
	color: #99c85d;
	font-weight: bold;
}
.page_ttl_style_04 {
	border-left: 5px solid #99c85d;
	font-size: 2rem;
	margin-bottom: 30px;
	color: #99c85d;
	font-weight: normal;
	padding-left: 10px;
}
.page_ttl_style_05 {
	font-size: 2.8rem;
	margin-bottom: 20px;
	color: #99c85d;
	font-weight: normal;
}
.page_sec {
	margin-bottom: 40px;
}
.page_sec_inr {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}
.page_txt_block_01:not(:last-child) {
	margin-bottom: 80px;
}
.page_txt_block_01 p {
	line-height: 2;
}
.page_txt_block_01 p:not(:last-child) {
	margin-bottom: 2em;
}
.page_table_style_01 {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.page_table_style_01 dt {
	box-sizing: border-box;
	display: block;
	background-color: #f2f2f2;
	padding: 20px;
	width: 200px;
	border-top: 1px solid #bfbfbf;
	color: #99c85d;
}
.page_table_style_01 dd {
	box-sizing: border-box;
	display: block;
	width: calc(100% - 200px);
	padding: 20px;
	border-top: 1px solid #bfbfbf;
}
.page_table_style_01 dt:nth-last-child(2),
.page_table_style_01 dd:last-child {
	border-bottom: 1px solid #bfbfbf;
}
@media screen and (max-width: 768px) {
	.page_ttl_style_01 {
		height: 70px;
		font-size: 2rem;
	}
	.page_ttl_style_01 {
		font-size: 2.5rem;
	}
	.page_ttl_style_02 {
		font-size: 1.9rem;
		background-size: 30px auto;
		padding: 35px 0 20px;
	}
	.page_ttl_style_02 .fs_small {
		font-size: 1.6rem;
	}
	.page_ttl_style_02::after {
		width: 20%;
	}
	.page_ttl_style_02::before {
		width: 70%;
	}
	.page_ttl_style_03 {
		font-size: 1.8rem;
		margin-bottom: 15px;
		font-weight: bold;
	}
	.page_ttl_style_05 {
		font-size: 1.8rem;
	}
	.page_sec:not(:last-child) {
		margin-bottom: 40px;
	}
	.page_txt_block_01:not(:last-child) {
		margin-bottom: 40px;
	}
	.page_txt_block_01 p:not(:last-child) {
		margin-bottom: 2em;
	}
	.page_table_style_01 dt {
		width: 100%;
		padding: 10px;
	}
	.page_table_style_01 dd {
		width: 100%;
		padding: 10px 0;
		border: none;
	}
	.page_table_style_01 dt:nth-last-child(2),
	.page_table_style_01 dd:last-child {
		border-bottom: none;
	}
}
