@charset "UTF-8";
/*
@media (hover: hover) {
&:hover {
}
}
@media (hover: none) {
&:active {
}
}
*/
@media (hover: hover) {
		a:hover {
				opacity: 0.8;
		}
}

@media (hover: none) {
		a:active {
				opacity: 0.8;
		}
}

/*--------------------------------------------------------------
# header
--------------------------------------------------------------*/
#masthead {
		/*トップ以外のヘッダー*/
		width: 100%;
}

#masthead .header-inner {
		width: 100%;
		max-width: 123rem;
		padding: 0 1.5rem;
		margin: auto;
}

@media (max-width: 1300px) {
		#masthead .header-inner {
				max-width: 100%;
		}
}

#masthead .header-inner p.description {
		font-size: 1.2rem;
}

#masthead .header-inner #site-navigation {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}

#masthead .header-inner #site-navigation .site-branding {
		width: 226px;
}

#masthead .header-inner #site-navigation .site-branding p.site-title a {
		font-size: 3rem;
		font-weight: 800;
		line-height: 1.5;
}

#masthead .header-inner #site-navigation .menu-global-container {
		width: calc(100% - 226px);
}

#masthead .header-inner #site-navigation .menu-global-container ul {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		-webkit-justify-content: end;
		   -moz-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: end;
		gap: 1%;
}

#masthead .header-inner #site-navigation .menu-global-container ul li a {
		font-size: 12px;
		background: #00BCD4;
		color: #fff;
		font-weight: 500;
		padding: 4px 12px;
		border-radius: 5px;
}

#masthead .header-inner #sp-navi {
		display: none;
		/* ナビゲーションのメニュー */
}

@media (max-width: 991px) {
		#masthead .header-inner #sp-navi {
				display: block;
				position: fixed;
				top: 0;
				right: 0;
				z-index: 12;
		}
}

#masthead .header-inner #sp-navi #nav_hbg {
		cursor: pointer;
		z-index: 21;
		position: absolute;
		right: 10px;
		top: 10px;
		background: rgba(255, 255, 255, 0.5);
}

@media (max-width: 480px) {
		#masthead .header-inner #sp-navi #nav_hbg {
				top: 8px;
		}
}

#masthead .header-inner #sp-navi #nav_hbg div {
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: -moz-box;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-align-content: space-around;
		    -ms-flex-line-pack: distribute;
		        align-content: space-around;
		width: 50px;
		height: 50px;
		padding: 5px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
		z-index: 99;
		margin: 0 5px;
}

#masthead .header-inner #sp-navi #nav_hbg div span {
		width: 100%;
		height: 1px;
		background-color: #232323;
		-webkit-transition: opacity 0.1s ease, -webkit-transform 0.3s ease-in-out;
		transition: opacity 0.1s ease, -webkit-transform 0.3s ease-in-out;
		-o-transition: opacity 0.1s ease, transform 0.3s ease-in-out;
		transition: opacity 0.1s ease, transform 0.3s ease-in-out;
		transition: opacity 0.1s ease, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

#masthead .header-inner #sp-navi .clicked span:nth-child(1) {
		-webkit-transform: translateY(13px) rotate(135deg);
		    -ms-transform: translateY(13px) rotate(135deg);
		        transform: translateY(13px) rotate(135deg);
		background-color: #232323 !important;
}

#masthead .header-inner #sp-navi .clicked span:nth-child(2) {
		opacity: 0;
}

#masthead .header-inner #sp-navi .clicked span:nth-child(3) {
		-webkit-transform: translateY(-13px) rotate(-135deg);
		    -ms-transform: translateY(-13px) rotate(-135deg);
		        transform: translateY(-13px) rotate(-135deg);
		background-color: #232323 !important;
}

#masthead .header-inner #sp-navi #nav_menu {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		opacity: 0;
		visibility: hidden;
		-webkit-transition: all 0.4s ease;
		-o-transition: all 0.4s ease;
		transition: all 0.4s ease;
		z-index: 20;
		background-color: #fff;
}

#masthead .header-inner #sp-navi #nav_menu.opened {
		visibility: visible;
		opacity: 1;
}

#masthead .header-inner #sp-navi #nav_menu .site-branding {
		padding: 5.5rem 1.5rem;
}

@media (max-width: 640px) {
		#masthead .header-inner #sp-navi #nav_menu .site-branding {
				padding: 30px 1.5rem;
		}
}

@media (max-width: 480px) {
		#masthead .header-inner #sp-navi #nav_menu .site-branding {
				padding: 25px 1.5rem;
		}
}

#masthead .header-inner #sp-navi #nav_menu .menu_area {
		overflow-y: scroll;
		height: 100%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		position: relative;
		padding-bottom: 12rem;
}

#masthead .header-inner #sp-navi #nav_menu .menu_area li a {
		font-size: 2rem;
		font-weight: 500;
		padding: 2rem;
		display: block;
		border-bottom: dashed 1px #ddd;
}

#masthead .header-inner #sp-navi #nav_menu .menu_area li a:hover,
#masthead .header-inner #sp-navi #nav_menu .menu_area li.current-menu-item a {
		color: #a1181a;
		background: #f8f8f8;
}

/*--------------------------------------------------------------
# コンテンツ
--------------------------------------------------------------*/
section:not(:last-child) {
		margin: 5rem 0;
}

h2.section-title {
		font-size: 2rem;
		font-weight: 800;
		margin-bottom: 2rem;
		background: #f5f5f5;
		padding: 0 1rem;
}

.pr-list {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		gap: 2rem 2%;
}

.pr-list .pr-item {
		width: 23.5%;
}

.pr-list .pr-item a .img_box {
		position: relative;
		padding-top: 80%;
}

.pr-list .pr-item a .img_box img {
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		-o-object-fit: cover;
		   object-fit: cover;
		font-family: "object-fit: cover;";
}

.pr-list .pr-item a h3 {
		font-size: 1.4rem;
}

/*--------------------------------------------------------------
# パンクズ
--------------------------------------------------------------*/
#breadcrimb-area .inner {
		width: 100%;
		max-width: 123rem;
		padding: 3rem 1.5rem 0;
		margin: auto;
}

#breadcrimb-area .inner a {
		border-bottom: solid 1px;
}

/*--------------------------------------------------------------
# 固定ページ
--------------------------------------------------------------*/
header.entry-header {
		width: 100%;
		max-width: 123rem;
		padding: 3rem 1.5rem 5rem;
		margin: auto;
}

header.entry-header h1 {
		text-align: center;
		color: #000;
		font-size: 130%;
		padding: 1rem 0.5rem;
		border-top: solid 1px #949494;
		border-bottom: solid 1px #949494;
}

@media (max-width: 767px) {
		header.entry-header h1 {
				font-size: 32px;
		}
}

@media (max-width: 640px) {
		header.entry-header h1 {
				font-size: 28px;
		}
}

@media (max-width: 480px) {
		header.entry-header h1 {
				font-size: 25px;
		}
}

.special_title {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 5rem;
}

@media (max-width: 991px) {
		.special_title {
				gap: 1rem;
				-webkit-flex-wrap: wrap;
				    -ms-flex-wrap: wrap;
				        flex-wrap: wrap;
		}
}

.special_title h2 {
		font-size: 38px;
		color: #b08956;
}

@media (max-width: 991px) {
		.special_title h2 {
				width: 100%;
				text-align: center;
		}
}

.contents:not(:last-child) {
		margin-bottom: 8rem;
}

.contents .text {
		padding: 3rem;
}

.contents h2 {
		text-align: center;
		font-size: 180%;
		position: relative;
		margin-bottom: 3rem;
}

.contents h2::after {
		content: "";
		width: 8rem;
		height: 2px;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2rem;
		background: #c40119;
		display: block;
		margin: auto;
}

@media (max-width: 767px) {
		.contents h2 {
				font-size: 150%;
		}
}

@media (max-width: 640px) {
		.contents h2 {
				font-size: 130%;
		}
}

.contents h3 {
		background: #e0ded8;
		padding: 1rem 2rem;
		border-radius: 1rem;
}

/*--------------------------------------------------------------
# コンテンツ
--------------------------------------------------------------*/
section .section-inner {
		width: 100%;
		max-width: 124rem;
		margin: auto;
		padding: 0 2rem;
}

section.green_wave {
		background: rgba(165, 204, 54, 0.1);
		position: relative;
		padding: 3rem 0 230px;
}

section.green_wave::before {
		position: absolute;
		top: -34px;
		content: "";
		display: block;
		background: url(../img/wave.png);
		height: 34px;
		width: 100%;
		background-repeat: repeat;
		background-position: center;
}

/*--------------------------------------------------------------
# ページネーション
-------------------------------------------------------------- */
nav.navigation.pagination {
		margin: 8rem 2rem;
}

nav.navigation.pagination .nav-links {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		gap: 1rem;
}

nav.navigation.pagination .nav-links .page-numbers {
		width: 3rem;
		height: 3rem;
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		-webkit-align-items: center;
		   -moz-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background: #a5cc36;
		color: #fff;
		border-radius: 50%;
		padding-left: 3px;
}

nav.navigation.pagination .nav-links .page-numbers:hover {
		background: #18a05e;
}

nav.navigation.pagination .nav-links .page-numbers.next, nav.navigation.pagination .nav-links .page-numbers.prev {
		width: 4rem;
		height: 3rem;
		border-radius: 0;
		background: none;
		background: #a5cc36;
		font-size: 14px;
}

nav.navigation.pagination .nav-links .page-numbers.next:hover, nav.navigation.pagination .nav-links .page-numbers.prev:hover {
		background: #18a05e;
}

nav.navigation.pagination .nav-links .page-numbers.current {
		background: #18a05e;
		color: #fff;
}

/*--------------------------------------------------------------
# フッター
--------------------------------------------------------------*/
#page {
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: -moz-box;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		-webkit-flex-direction: column;
		   -moz-box-orient: vertical;
		   -moz-box-direction: normal;
		        flex-direction: column;
		min-height: 100vh;
		overflow: hidden;
}

#colophon {
		margin-top: auto;
		padding: 0;
		z-index: 1;
		background: #00BCD4;
}

#colophon .footer_inner {
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		   -moz-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: 100%;
		max-width: 124rem;
		margin: auto;
		padding: 3rem 2rem;
}

#colophon .footer_inner .site-info {
		text-align: center;
}

#colophon .footer_inner .site-info .copy {
		color: #fff;
}

#colophon .footer_inner .site-info .wid_logo a {
		width: 150px;
		display: block;
		margin: 4rem auto 1rem;
}

/*--------------------------------------------------------------
# パーツ
--------------------------------------------------------------*/
.list_link {
		width: 100%;
		text-align: center;
		margin-top: 4rem;
}

.list_link a {
		background: #00b2a5;
		border-radius: 18px;
		width: 40rem;
		display: inline-block;
		font-size: 2.5rem;
		padding: 0.8rem;
		color: #fff;
		position: relative;
}

@media (max-width: 640px) {
		.list_link a {
				width: 100%;
				max-width: 400px;
		}
}

.list_link a::before, .list_link a::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		content: "";
		vertical-align: middle;
}

.list_link a::before {
		right: 3rem;
		width: 13px;
		height: 13px;
		border-top: 2.5px solid #fff;
		border-right: 2.5px solid #fff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		    transform: rotate(45deg);
}

.list_link.special a {
		background: #b08956;
}

p.coming_soon {
		font-size: 3rem;
		text-align: center;
		padding: 8rem 0;
}

/*--------------------------------------------------------------
# base setting｜move コンテンツに動きをつける
-------------------------------------------------------------- */
.off {
		opacity: 0;
		-webkit-transform: translate(0, 0);
		    -ms-transform: translate(0, 0);
		        transform: translate(0, 0);
		-webkit-transition: 0.8s all ease 0s;
		-o-transition: 0.8s all ease 0s;
		transition: 0.8s all ease 0s;
}

.off.up {
		opacity: 0;
		-webkit-transform: translate(0, 30px);
		    -ms-transform: translate(0, 30px);
		        transform: translate(0, 30px);
		-webkit-transition: 0.8s all ease 0s;
		-o-transition: 0.8s all ease 0s;
		transition: 0.8s all ease 0s;
}

.off.down {
		opacity: 0;
		-webkit-transform: translate(0, -30px);
		    -ms-transform: translate(0, -30px);
		        transform: translate(0, -30px);
		-webkit-transition: 0.8s all ease 0s;
		-o-transition: 0.8s all ease 0s;
		transition: 0.8s all ease 0s;
}

.off.left {
		opacity: 0;
		-webkit-transform: translate(-30px, 0);
		    -ms-transform: translate(-30px, 0);
		        transform: translate(-30px, 0);
		-webkit-transition: 0.8s all ease 0s;
		-o-transition: 0.8s all ease 0s;
		transition: 0.8s all ease 0s;
}

.off.right {
		opacity: 0;
		-webkit-transform: translate(30px, 0);
		    -ms-transform: translate(30px, 0);
		        transform: translate(30px, 0);
		-webkit-transition: 0.8s all ease 0s;
		-o-transition: 0.8s all ease 0s;
		transition: 0.8s all ease 0s;
}

.off.on {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		    -ms-transform: translate(0, 0);
		        transform: translate(0, 0);
}
