@charset "utf-8";
@media only screen and (min-width: 751px) {
	/*--------------------*/
	/*---- pc_cont.css ----*/
	/*--------------------*/

	/*------------------------------------
		基本設定
	-------------------------------------*/
	html {
		font-size: 62.5%;
		overflow: auto;
	}

	body {
		font-size: 1.8em;
		min-width: 1200px;
		/* text-align: justify; */
		background: var(--cont-body-color);
	}

	img {
		height: auto;
		vertical-align: bottom;
	}

	.pcNone {
		display: none;
	}

	/*ーーーーー
	※レイアウト調整用
	* {
		outline: 1px solid #555;
	}
	ーーーーー*/

	/*------------------------------------
		section共通
	-------------------------------------*/
	.sectionCommon {
		width: 1200px;
		margin: 0 auto;
	}

	/*------------------------------------
		header
	-------------------------------------*/
	.headerWrap {
		background: #fff;
		box-shadow: 0 1px 8px rgba(0, 0, 0, 0.10);
		position: relative;
		z-index: 2;
	}
	.headerInner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 105px;
	}
	.headerTitle {
		width: fit-content;
		color: #0583C9;
		font-weight: var(--font-w-black);
		text-align: center;
		white-space: nowrap;
	}
	.headerTitle p {
		line-height: 1.2;
	}
	.headerTitle p span {
		display: inline;
	}
	.headerTitle .dateText {
		font-size: 1.8rem;
		font-weight: var(--font-w-medium);
	}
	.headerTitle .dayText {
		font-size: 2.2rem;
		font-weight: var(--font-w-bold);
	}
	.headerTitle h1 {
		position: relative;
		margin-top: 5px;
		/*! padding: 0 48px; */
		font-size: 3.2rem;
		line-height: 1.15;
		letter-spacing: 0;
	}
	.headerTitle h1::before,
	.headerTitle h1::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 31px;
		height: 2px;
		background: #0583C9;
	}
	.headerTitle h1::before {
		left: 0;
	}
	.headerTitle h1::after {
		right: 0;
	}
	.headerCredits {
		flex-shrink: 0;
		width: 300px;
	}
	.headerCredits img {
		width: 100%;
	}

	/*------------------------------------
		hero
	-------------------------------------*/
	.heroWrap {
		display: flex;
		align-items: flex-start;
		height: 275px;
		/*! border-top: 2px solid #d4e99d; */
		background-color: var(--header-color);
	}
	.heroInner {
		padding-top: 65px;
		text-align: center;
	}
	.siteLabel {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 480px;
		height: 90px;
		padding: 0 58px;
		border-radius: 44px;
		background: #fff;
		color: #FF7B00;
		font-size: 4rem;
		font-weight: var(--font-w-bold);
		line-height: 1;
		letter-spacing: 2px;
		box-shadow: 0 3px 4px rgba(0, 0, 0, 0.12) inset;
	}

	/* --------- kana nav ----------- */
	.kanaNav {
		margin-top: -55px;
		border-bottom: 2px solid var(--tab-base-color);
	}
	.kanaNavInner {
		display: flex;
		justify-content: center;
	}
	.spMenuBtn {
		display: none;
	}
	.spMenuClose {
		display: none;
	}
	.kanaNav ul {
		display: flex;
		align-items: flex-end;
		gap: 10px;
	}
	.kanaNav a {
		display: flex;
		align-items: center;
		justify-content: center;
		/*width: 78px;*/
		height: 55px;
		padding: 0 25px;
		border-radius: 10px 10px 0 0;
		background-color: var(--tab-base-color);
		color: #fff;
		font-size: 1.4rem;
		font-weight: var(--font-w-bold);
		line-height: 1.3;
	}
	.kanaNav a.current {
		position: relative;
		/*! width: 136px; */
		border: 2px solid var(--tab-base-color);
		border-bottom: 0;
		background: var(--cont-body-color);
		color: var(--tab-text-color);
		z-index: 1;
	}
	.kanaNav a.current::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2px;
		height: 2px;
		background: var(--cont-body-color);
		pointer-events: none;
	}

	/*------------------------------------
		content
	-------------------------------------*/
	.contentWrap {
		padding: 49px 0 111px;
		background: var(--cont-body-color);
	}
	.contentInner {
		width: 1200px;
	}
	.contentBox {
		width: 100%;
		padding: 50px 50px 58px;
		border-radius: 15px;
		background: #fff;
		box-shadow: 0 1px 9px rgba(0, 0, 0, 0.05);
	}
	.mainVisual img {
		width: 100%;
		border-radius: 12px;
	}
	.textSection h2 {
		margin-top: 50px;
		margin-bottom: 20px;
		color: #FF7B00;
		font-size: 2.8rem;
		font-weight: var(--font-w-bold);
		line-height: 1.6;
		text-align: center;
		letter-spacing: 2px;
	}
	.textSection {
		margin-top: 71px;
	}
	.textSection + .textSection {
		margin-top: 55px;
	}
	.textSection h3 {
		position: relative;
		display: inline-block;
		margin-top: 50px;
		margin-bottom: 35px;
		padding: 0 10px;
		font-size: 3.0rem;
		font-weight: var(--font-w-bold);
		line-height: 1.4;
		letter-spacing: 2px;
		z-index: 0;
	}
	.textSection h3::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -8px;
		height: 20px;
		background: #E5F89F;
		border-bottom: 1px solid #6EAB38;
		z-index: -1;
	}
	.textSection p {
		font-size: 1.8rem;
		font-weight: var(--font-w-regular);
		line-height: 2;
		letter-spacing: 2px;
	}
	.textSection p + p {
		margin-top: 26px;
	}
	.textSection a {
		border-bottom: 1px solid #222;
	}
	.textSection th,
	.textSection td {
		padding-bottom: 20px;
	}
	.infoSection {
		margin-top: 63px;
	}
	.infoSection h3 {
		margin-bottom: 22px;
	}
	.infoList {
		font-size: 1.8rem;
		line-height: 2;
	}
	.infoList div {
		display: flex;
	}
	.infoList dt {
		width: 118px;
		font-weight: var(--font-w-bold);
	}

	/* --------- gallery list ----------- */
	.pageListInner {
		width: 1200px;
	}
	.galleryList ul {
		display: grid;
		grid-template-columns: repeat(4, 270px);
		gap: 40px;
	}
	.galleryList a {
		display: block;
		color: #222;
	}
	.galleryList figure {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 270px;
	}
	.galleryList img {
		width: 170px;
		box-shadow: 0 1px 7px rgba(0, 0, 0, 0.03);
	}
	.galleryList figcaption {
		width: 100%;
		margin-top: 15px;
		font-size: 1.6rem;
		line-height: 1.5;
		text-align: center;
	}
	.galleryDivider {
		display: none;
	}
	.pageListBox {
		margin-top: 120px;
	}

	/* --------- archive ----------- */
	.archiveBox {
		margin-top: 67px;
		padding: 33px 50px 40px;
		border: 4px solid #6EAB38;
		border-radius: 12px;
	}
	.archiveBox h2 {
		margin-bottom: 34px;
		font-size: 2.5rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}
	.archiveBox ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 24px 40px;
	}
	.archiveBox a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 15px 15px 15px 20px;
		border: 1px solid #6EAB38;
		border-radius: 6px;
		color: #4F990E;
		font-size: 1.5rem;
		line-height: 1.4;
		font-weight: var(--font-w-bold);
		box-shadow: 0 2px 0 #6EAB38;
	}
	.archiveBox a::after {
		content: "";
		width: 13px;
		height: 11px;
		margin-left: 15px;
		background: url(../files/images/icon_arrow.svg) center / contain no-repeat;
	}

	/* --------- contact ----------- */
	.contactBox {
		margin-top: 60px;
		padding: 33px 50px 40px;
		border-radius: 8px;
		background: #f5f5f5;
		text-align: center;
	}
	.contactBox h2 {
		margin-bottom: 34px;
		font-size: 2.5rem;
		font-weight: var(--font-w-bold);
		text-align: center;
	}
	.contactBox dl {
		font-size: 1.8rem;
		line-height: 1.8;
	}
	.contactBox div {
		display: inline-flex;
		align-items: baseline;
		margin: 0 16px;
	}
	.contactBox dt {
		margin-right: 22px;
		font-weight: var(--font-w-bold);
	}
	.contactBox dd,
	.contactBox a {
		color: #333;
	}

	/* --------- gallery modal ----------- */
	body.is-modal-open {
		overflow: hidden;
	}
	.galleryModal {
		position: fixed;
		inset: 0;
		display: none;
		align-items: flex-start;
		justify-content: center;
		padding: 65px 0;
		overflow-y: auto;
		z-index: 1000;
	}
	.galleryModalOverlay {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.8);
	}
	.galleryModalBox {
		position: relative;
		width: 1000px;
		border-radius: 20px;
		background: #fff;
		overflow: hidden;
		z-index: 1;
	}
	.galleryModalClose {
		position: absolute;
		top: 28px;
		right: 35px;
		display: flex;
		flex-direction: column;
		align-items: center;
		border: 0;
		background: transparent;
		color: #222;
		font-family: inherit;
		font-size: 1.3rem;
		font-weight: var(--font-w-regular);
		line-height: 1.4;
		cursor: pointer;
		z-index: 2;
	}
	.galleryModalClose img {
		width: 50px;
		margin-bottom: 5px;
	}
	.galleryModalImage {
		padding: 35px 0 25px;
		text-align: center;
	}
	.galleryModalImage img {
		width: 700px;
	}
	.galleryModalCaption {
		padding: 42px 30px 45px;
		background: #f3f3f3;
		font-size: 2.2rem;
		line-height: 1.5;
		text-align: center;
	}

	/*------------------------------------
		footer
	-------------------------------------*/
	/* --------- ページトップボタン ----------- */
	#gPagetop {
		transition: 0.3s;
		cursor: pointer;
		visibility: hidden;
	}
	#gPagetop .pagetopBtn {
		position: fixed;
		right: 30px;
		display: block;
		width: 69px;
		height: 69px;
		border-radius: 100%;
		z-index: 100;
	}
	#gPagetop .pagetopBtn::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0px;
		display: block;
		width: 69px;
		height: 69px;
		border-radius: 100%;
		background-image: url(../files/images/pagetop_icon.svg);
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		transition: all 0.2s ease;
		z-index: 100;
	}
	.footerWrap {
		height: 151px;
		background-color: var(--footer-color);
	}
	.footerInner {
		display: flex;
		align-items: flex-end;
		justify-content: center;
		height: 100%;
		padding-bottom: 25px;
	}
	.copyright {
		font-size: 1.5rem;
		font-weight: var(--font-w-regular);
	}
}
