@charset "utf-8";
/* CSS Document */

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	position: relative;
}

html,body {
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: 100%;
	color: #2A2A2A;
	line-height: 1;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	color: inherit;
	display: block;
}

iframe {
	aspect-ratio: 16 / 9;
}

@media screen and (min-width: 1025px) {
	a:hover {
		opacity: 0.6;
		transition: 0.6s;
	}
	
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

.pc {
	display: block;
}

.sp {
	display: none;
}


/* ---------------------------------------------------------
共通
--------------------------------------------------------- */

#wrap {
	width: 100%;
	height: 100%;
}

#contents {
	z-index: 1;
	width: 100%;
	height: auto;
	padding: 100px 0px 120px;
}

@media screen and (max-width: 1024px) {
	#contents {
		padding-top: 70px;
	}
}

section {
	padding: 50px 0px 150px;
	position: relative;
}

.inner_wrap {
	max-width: 1200px;
	margin: 0px auto;
	padding: 0px 15px;
}

.page_ttl_wrap {
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-position: center center !important;
	padding: 50px 0px;
	position: relative;
}

.page_ttl_wrap::before {
	content: '';
	background: rgba(0,0,0,0.4);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 0;
}

.page_ttl {
	background: rgba(0,0,0,0.6);
	max-width: 470px;
	text-align: center;
	margin: 0px auto;
	color: #FFF;
	padding: 60px 15px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	z-index: 1;
	position: relative;
}

.page_ttl > span {
	display: block;
	width: 100%;
	padding: 15px 0px;
}

.page_ttl > span:nth-of-type(1) {
	font-size: 4rem;
	font-weight: bold;
}

.page_ttl > span:nth-of-type(2) {
	font-size: 3rem;
	font-family: 'Rokkitt', serif;
	font-weight: 300;
	text-transform: capitalize;
}



/* ---------------------------------------------------------
レイアウト
--------------------------------------------------------- */

.flex_box {
	display: flex;
	flex-wrap: wrap;
}

.flex_box > * {
	box-sizing: border-box;
}




/* ---------------------------------------------------------
余白設定
--------------------------------------------------------- */
.pt0 {
	padding-top: 0px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pb100 {
	padding-bottom: 100px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}



/* ---------------------------------------------------------
section タイトル
--------------------------------------------------------- */
.sec_ttl > span {
	text-align: center;
	display: block;
	color: #007D77;
	font-size: 2rem;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 500;
}

.sec_ttl > span.en {
	font-size: 6rem;
	font-family: 'Rokkitt', serif;
	font-weight: normal;
}

.sec_ttl > span:nth-of-type(2) {
	margin-top: 5px;
}




/* ---------------------------------------------------------
ボタン設定
--------------------------------------------------------- */
.base_btn {
	background: #000;
	color: #FFF;
	font-size: 2rem;
	font-family: 'Rokkitt','Noto Sans JP', serif;
	width: 340px;
	border: 1px solid #000;
}

.base_btn a {
	padding: 20px;
	position: relative;
}

.base_btn a::after {
	content: '';
	background: url("../images/common/icon_arrow_white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 16px;
	height: 14px;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	position: absolute;
}

.base_btn:hover {
	opacity: 1;
	transition: 0.6s;
}

.base_btn.type_link {
	background: #A86666;
	border: 1px solid #A86666;
}

.base_btn.type_pdf {
	background: #007bbb;
	border: 1px solid #007bbb;
}

.pdf_btn.type_pdf a:hover::after {
	display: none;	
}



/* ---------------------------------------------------------
ページャー
--------------------------------------------------------- */

.pager_wrap {
	padding: 50px 0px 0px;
}

.wp-pagenavi {
    text-align: center;
	display: flex;
	flex-wrap: wrap;
}

.wp-pagenavi a,
.wp-pagenavi span {
	font-size: 1.6rem;
	font-weight: bold;
	border: 1px solid #000 !important;
	padding: 9px 12.3px !important;
	margin: 0px 4px !important;
}

.wp-pagenavi span.current {
    background: #000;
    color: #FFF;
	opacity: 1;
}

.wp-pagenavi span.pages {
	display: none;
}

@media screen and (min-width: 737px) {
	.wp-pagenavi a:hover {
		background: #000;
		color: #FFF;
		opacity: 1;
	}
}


/* ---------------------------------------------------------
投稿タイプ「投稿はありません」
--------------------------------------------------------- */
.sorry {
	text-align: center;
	font-size: 2rem;
	padding: 10% 0px 0px;
}




/* ---------------------------------------------------------
吹き出し
--------------------------------------------------------- */

.fukidashi_wrap {
	justify-content: center;
	align-items: center;
	padding: 100px 0px 0px;
}

.fukidashi_wrap > div {
	box-sizing: border-box;
}

.fukidashi_area {
	position: relative;
	padding: 50px;
	width: 70%;
	background: #FFF;
	filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.5));
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
	border-radius: 40px;
}

.fukidashi_area::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -15px;
	border: 10px solid transparent;
	border-left: 30px solid #FFF;
}

.fukidashi_area > p {
	line-height: 180%;
}

.fukidashi_area > p:nth-of-type(1) {
	font-size: 4rem;
	font-weight: bold;
	color: #008E80;
}

.fukidashi_area > p:nth-of-type(2) {
	font-size: 2rem;
	margin-top: 30px;
}

.fukidashi_icon {
	width: 30%;
	height: 100%;
	text-align: center;
}

.fukidashi_icon img {
	height: 100%;
}


/* ---------------------------------------------------------
アイコン設定
--------------------------------------------------------- */

a[href$=".pdf"]::after {
	content: '';
	background: url("../images/common/icon_pdf.png") !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	width: 30px;
	height: 36px;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	position: absolute;
}



/* ---------------------------------------------------------
テーブル
--------------------------------------------------------- */




/* ---------------------------------------------------------
ヘッダー
--------------------------------------------------------- */

header {
	width: 100%;
	height: auto;
	position: fixed;
	background: rgba(255,255,255,0.8);
	z-index: 99;
}

.gnavi_wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	max-width: 1900px;
	height: 100%;
	margin-left: auto;
}

.gnavi_wrap > * {
	box-sizing: border-box;
}

.logo {
 	width: 24%;
	height: auto;
	padding: 10px 0px 10px 10px;
}

@media screen and (max-width: 1024px) {
	.logo {
		width: auto;
	}
}

.logo img {
	width: 100%;
	height: auto;
}

.header_area {
	width: 76%;
}

.navi_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}

.navi_area > * {
	box-sizing: border-box;
}

.header_tel {
	width: auto;
	margin: 0px 15px 0px 30px;
}

.tel_num {
	color: #00A595;
	font-size: 2.5rem;
	font-weight: bold;
	font-family: 'Oswald' , 'Bebas Neue' , sans-serif;
	position: relative;
	margin-bottom: 5px;
	letter-spacing: 1px;
	text-align: center;
}

.tel_num span {
	position: relative;
	padding-left: 1em;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
}

.tel_num span::before {
	content: '';
	background: url("../images/common/icon_tel.svg");
	background-repeat: no-repeat !important;
	background-size: contain !important;
	display: inline-block;
	width: 25px;
	height: 20px;
	left: -4px;
	position: absolute;
	box-sizing: border-box;
}

.tel_time > p {
	text-align: center;
    font-size: 1.4rem;
	font-weight: 500;
	font-feature-settings: 'palt';
	padding: 5px 0px;
}

.tel_time > p:nth-of-type(1) {
	font-size: 0.9vw;
	font-weight: bold;
	background: #00A595;
	color: #FFF;
}

.header_contact {
	background: #000;
	color: #FFF;
	width: auto;
	text-align: center;
}

.header_contact a {
	display: block;
	padding: 43px 30px;
	line-height: 0;
}

.header_contact a:hover {
	opacity: 1;
}

.header_contact span {
	font-size: 1vw;
	font-weight: bold;
	position: relative;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
}

.header_contact span::before {
	content: '';
	background: url("../images/common/icon_mail.svg");
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 19px;
	height: 14px;
	left: -6px;
	top: 1px;
	position: relative;
}

@media screen and (min-width: 1025px) {
	.header_contact:hover {
		background: #eb6101;
		transition: 0.6s;
	}
}


/* ---------------------------------------------------------
フッター
--------------------------------------------------------- */

#page-top {
	bottom: 130px;
	right: 30px;
	position: fixed;
	width: 80px;
	height: auto;
	z-index: 9999;
}
/*
footer {
	padding-bottom: 98px;
}
*/	

#footer_contact_area {
	background: url("../images/common/footer_back.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 0px 15px 30px;
}

section#footer_contact_area .sec_ttl {
	color: #00665A;
	padding: 50px 0px;
}

section#footer_contact_area .sec_ttl > span {
	text-align: center !important;
}

.footer_tel > p {
    margin: 0px auto;
	text-align: center;
}

.soudan_free {
	background: #A80000;
	color: #FFF;
	border-radius: 30px;
	font-size: 2rem;
	font-weight: bold;
	max-width: 500px;
    margin: 0px auto;
    padding: 15px 0px;
	text-align: center;
}

.footer_tel .tel_num {
	font-size: 4vw;
	color: #00665A;
	padding: 30px 0px 20px;
}

.footer_tel .tel_num span::before {
    background: url(../images/common/icon_tel_02.svg);
	background-repeat: no-repeat;
	background-size: contain;
    width: 3vw;
    height: 2.5vw;
	left: -4px;
}

.footer_tel > p:nth-of-type(3) {
	color: #00665A;
	font-size: 2rem;
}

section#footer_contact_area .contact_btn {
	max-width: 600px;
	margin: 30px auto;
}


section#footer_contact_area .contact_btn p {
	width: 100%;
	font-size: 3rem;
	background: #000;
	color: #FFF;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 30px 0px;
}


section#footer_contact_area .contact_btn p::before {
	content: '';
	background: url("../images/common/icon_mail.svg");
	background-repeat: no-repeat;
	background-size: contain;
	box-sizing: border-box;
	width: 33px;
    height: 24px;
    display: inline-block;
    top: 2px;
    left: 0px;
    position: relative;
	margin-right: 12px;
}

.footer_info {
	justify-content: space-between;
	align-items: center;
	padding: 30px 0px;
}

.footer_info > div {
	width: 50%;
}

.footer_logo > p {
	max-width: 516px;
}

.footer_copyright {
	font-size: 1.6rem;
}

.footer_bottom_line {
	width: 100%;
	height: 25px;
	background: #2D704B;
}

#floating_bnr {
	padding: 20px 0px;
	background: rgba(0,0,0,0.8);
	position: fixed;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	bottom: 0px;
	z-index: 1;
	width: 100%;
}

#floating_bnr > p {
	background: #e9546b;
	color: #FFF;
	text-align: center;
	border-radius: 10px;
	font-size: 1.8rem;
	font-weight: 500;
}

#floating_bnr > p a {
	padding: 20px;
	position: relative;
}

#floating_bnr > p span {
	padding-right: 30px;
}


/* ---------------------------------------------------------
パンくずリスト
--------------------------------------------------------- */

.pankuzu_wrap {
	padding: 30px 0px;
}

.pankuzu {
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.pankuzu li {
	font-size: 1.4rem;
	box-sizing: border-box;
}

.pankuzu li a {
	display: inline-block;
}

.pankuzu li::after {
	content: ">";
	padding: 0px 5px;
	top: 0px;
	position: relative;
}

.pankuzu li:last-child::after {
	display: none;
}


/* ---------------------------------------------------------
トピックス
--------------------------------------------------------- */

.cate_mark {
	color: #FFF;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 10px 20px;
	line-height: 0;
	width: auto;
	text-align: center;
	display: block;
}







