@charset "UTF-8";

/*
Theme Name: FUJI 2025
Text Domain: fuji-2025
Description: 富士興業株式会社専用ワードプレステーマ
Author: ONZE
Author URI: https://on-ze.com
Theme URI: https://wp-neoclassic.com
Version: 0.9
*/

/******************/
/*
Version.2024-02-10
1. Base （CSS リセット）
	Reset
	Html Format
	Shortcodes
	WordPress Tags（WordPress が吐き出す固有のタグ）

2. Layout
	Layout
	Clearfix

3. Template （各テンプレート・パーツの詳細）
	.header (header.php)
	.footer (footer.php)
	#navi
	#widget
	#main
	.main-sidebar（sidebar.php）

4. Contents （各固定ページ、各投稿ページの設定）
	.article
	- hentry, h-entry（構造化データ系）
	- index.php, archive.php, category.php, tag.php...
	- front-page.php, home.php
	- page.php, single.php, 404.php

5. Comments Templates
	#comments（comments.php）

5. Materials（パンくず、ページナビなどのアイテム）
	#noscript
	form
	Grid System
	.breadcrumbs
	.navigation
	.wp-pagenavi

6. Plugins（WordPress や jQuery のプラグイン対応）
	.masonry
	.wpcf7 (contact form 7)
	.facebook
	etc...

7. Others
	Media Query - @media
	Fonts - @font-face
	Keyframes - @Keyframes
*/


:root {
--color-background:#ffffff;
--color-dark-white:#f7f7f7;
--color-white:#ffffff;
--color-black:#333333;
--color-gray:#808080;
--color-blue:#0055a8;
--color-navy:#004385;
--color-sky:#b3ddff;
--color-orange:#ff6b01;
--color-border:#cccccc;


--font-light:200;
--font-medium:500;
--font-semibold:600;
--font-bold:700;

--letter-spacing:0.1em;
--line-height-large:2.1;
--line-height:1.5;
--line-height-mini:1.3;
--transition:0.5s;
}

/******************/
/******************/
/* ONZE RESET CSS */

*,
*::before,
*::after {
	box-sizing:border-box;
}

* {
border:0;
margin:0;
outline:0;
padding:0;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:baseline;
/*	all:unset;
	display:revert;*/
}


article, aside, footer, header, main, nav, article, section {display:block;}
img, picture, audio, canvas, video, svg {display:block; max-width:100%; height:auto;}

br,
hr {display:block;}

ol,
ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:none;}

input,
select {vertical-align:middle;}

body {
	line-height:1;
	line-break:strict;
	overflow-wrap:anywhere;
	word-break:normal;
	font-feature-settings:"palt";
	font-kerning:normal;
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
}

a {-webkit-tap-highlight-color:transparent;}

/******************/
/******************/
/* html format ****/

html {
	font-size:62.5%;
	font-size:calc(100vw / 144);
}
html {font-size:clamp(7px, calc(100vw / 1600 * 4 + 5px), 11px);}
html.is-fixrem {font-size:62.5%;}

body {
background-color:#ffffff;
background-color:var(--color-background);
color:#333333;
color:var(--color-black);
font-family: 'Noto Sans JP', 'Be Vietnam Pro' ,'Cormorant', 'YuMincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN W3', serif;
font-size:19px;
font-size:1.9rem;
font-style:normal;
font-weight:var(--font-medium);
position:relative;
text-align:center;
width:100%;
}

a,
a:link,
a:visited,
a:hover,
a:active {
	color:inherit;
	-webkit-tap-highlight-color:transparent rgba(0,0,0,0);
	text-decoration:none;
	-webkit-text-decoration-skip:objects;
}


h1,
h2,
h3,
h4,
h5,
h6 {display:block; line-height:1.3;}

b {font-weight: var(--font-bold);}
i {font-style:normal;}
u {text-decoration:underline;}
em {font-weight:bold;}
strong {font-weight:bold; font-size:1.4em;}
mark {background:transparent;}

q {}
q:before,
q:after {content:'"';}
s {text-decoration:underline;}
del {text-decoration:line-through;}

ins {}
iframe {}

ruby {}
rt {font-size:0.5em;}

sup {vertical-align:super; font-size:smaller;}
sub {vertical-align:sub; font-size:smaller;}

details {margin:0 0 40px 0;}

hr {margin:2em 0; border:0; border-top:1px solid #cccccc; border-color:var(--color-border); height:0;}

table {
	border-collapse:collapse; border-spacing:0; empty-cells:show; border:0; width:100%; margin:0 0 3rem 0; border-top:1px solid #cccccc; border-color:var(--color-border);
}
table th,
table td {
	padding: 1.5em 1em;
	vertical-align: top;
	border-bottom: 1px solid #cccccc;
	border-color: var(--color-border);
}
table th {
	vertical-align: middle;
	text-align: center;
	background-color: var(--color-dark-white);
	font-weight: var(--font-bold);
}
table td span {
	display: block;
	font-size: 15px;
	font-size: 1.5rem;
}
table caption {
	text-align: left;
	padding: 8px;
}

dl {
	padding-left: 3.2rem;
}
dl dt {
	position: relative;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: var(--font-bold);
	margin-bottom: 1rem;
	color: var(--color-blue);
}
dl dt::before {
	content: "";
	position: absolute;
	top: 1rem;
	right: calc(100% + 0.8rem);
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	background-image: url("images/icon-caption-sky.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
dl dd + dt {
	margin-top: 4rem;
}
	
	

::-moz-selection {background-color:var(--color-blue); color:#ffffff;}
::selection {background-color:var(--color-blue); color:#ffffff;}

@media screen and (max-width: 780px) {
	table th,
	table td {
		display: block;
		padding: 1em 0.5em;
		text-align: left;
	}
	table th {
		border-bottom: none;
	}
}


/******************/
/******************/
/* shortcodes *****/

.alignright,
.align-right,
.textright,
.text-right {text-align:right;}
.alignleft, .align-left, .textleft, .text-left {text-align:left;}
.center, .aligncenter, .align-center, .textcenter, .text-center {text-align:center; margin-left:auto; margin-right:auto;}
.clear {clear:both;}
.clearfix:after {content:""; clear:both; display:block; height:0; visibility:hidden;}
.empty {visibility:hidden;}
.hide,
.none {display:none;}
.hidden {overflow:hidden;}
.left, .floatleft, .float-left {float:left;}
.right, .float-right, .float-right {float:right;}
.relative {position:relative;}
.absolute {position:absolute;}
.nowrap {white-space:nowrap;}
.small,
.text-small {font-size:0.8em;}

img.left,
img.alignleft,
img.align-left {margin:0 20px 20px 0; float:left;}
img.right,
img.alignright,
img.align-right {margin:0 0 20px 20px; float:right;}

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

table.table-border,
table.table-border th,
table.table-border td {border:1px solid #cccccc; border-color:var(--color-border);}

table.table-hover tbody tr:hover,
table.table-hover tbody tr:nth-child(odd):hover,
table.table-hover tbody tr:nth-child(even):hover {background-color:var(--color-blue); color:#ffffff; cursor:text;
}

table.table-stripe tbody tr:nth-child(odd) {background-color:#cccccc; background-color:var(--color-border);}
table thead th {vertical-align:bottom;}

.margin-small {
	margin-top: 8rem;
}
.margin-large {
	margin-top: 16rem;
}

.sticky {
	position: sticky;
	top: 20rem;
	left: 0;
}

.wrap-content {
	padding: 4rem;
	border-radius: 2rem;
	background-color: var(--color-dark-white);
}

.accordion-container dl {
	padding-left: 0;
	background-color: var(--color-dark-white);
	border-radius: 1rem;
	padding: 3rem;
	cursor: pointer;
}
.accordion-container dt {
	font-weight: var(--font-bold);
	font-size: 22px;
	font-size: 2.2rem;
	position: relative;
	margin: 0;
	color: var(--color-black);
	line-height: 1.4;
	padding-right: 8rem;
}
.accordion-container dt::before,
.accordion-container dt::after {
	display: none;
}
.accordion-container dt .icon {
	position: absolute;
	top: 0;
	right: 0;
	width: 1.45em;
	height: 1.45em;
	display: block;
	border-radius: 50%;
	background-color: var(--color-blue);
}
.accordion-container dt .icon::before,
.accordion-container dt .icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 50%;
	height: 3px;
	background-color: var(--color-background);
	border-radius: 999px;
}
.accordion-container dt .icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: var(--transition);
}
.accordion-container .accordion-active dt .icon::after {
	transform: translate(-50%, -50%);
}
.accordion-container dd {
	background-color: var(--color-background);
	padding: 4rem;
	margin-top: 3rem;
	border-radius: 0.5rem;
}
.accordion-container dl + dl {
	margin-top: 3rem;
}
@media screen and (max-width: 780px) {
	.accordion-container dt {
		padding-right: 4rem;
	}
}



.flex-container {
	list-style: none;
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	align-items:stretch;
	align-content:stretch;
	justify-content:space-between;
}

.flex-item {
	margin:0; padding:0;
	flex:0 1 auto;
	flex-grow:0;
	flex-shrink:1;
}
.flex-container-2 .flex-item {
	flex-basis:50%;
}
.flex-container-3 .flex-item {
	flex-basis:33.3333%;
}
.flex-container-4 .flex-item {
	flex-basis:25%;
}
.flex-item.flex-60 {
	flex-basis:60%;
}
.flex-item.flex-55 {
	flex-basis:55%;
}
.flex-item.flex-50 {
	flex-basis:50%;
}
.flex-item.flex-45 {
	flex-basis:45%;
}
.flex-item.flex-40 {
	flex-basis:40%;
}
.flex-item.flex-35 {
	flex-basis:35%;
}

.columns {
	column-gap:4em;
	column-rule:1px dotted;
}
.columns-2 {columns:2;}

@media screen and (max-width: 780px) {	
	.flex-container {
		flex-direction: column;
		row-gap: 2rem;
	}
	.flex-container.responsive-flex {
		flex-direction: row;
	}
}

.pile-container {
	padding: 4rem;
	border-radius: 2rem;
	background-color: var(--color-dark-white);
}
.pile-container .pile-list {
	display: flex;
	column-gap: 1.5rem;
	row-gap: 1.5rem;
	flex-wrap: wrap;
	margin:0 0 0.75rem 0;
}
.pile-container .item {
	background-color: var(--color-background);
	line-height: 1.4;
	padding: 0.6em 1em;
	border-radius: 1rem;
	margin:0 0 1.5rem 0;
}
.pile-container .item .title {padding:0; margin:0;}
.pile-container .item .img {
	aspect-ratio: 1 /1; overflow:hidden;
	max-width:3em; display:none;
}
.pile-container .pile-line {
	display: block;
	height: 1px;
	width: 100%;
	background-color: var(--color-gray);
	margin: 4rem 0;
}


.inner {
	clear:both; display:block; margin:0 auto; position:relative; max-width:1600px; width:100%;
	padding:0 88px;
}
.inner[data-width="max"] {max-width:2400px;}
.inner[data-width="mid"] {max-width:1600px;}
.inner[data-width="min"] {max-width:1300px;}

@media (max-width:600px) {
	.inner {padding:0 5%;}
}

.thumbnail {
	display: block;
	height: fit-content;
	line-height: 1;
	position: relative;
}
.thumbnail:has(.caption) {
	margin-bottom: 3rem;
}
.thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
}
.thumbnail .caption {
	position: absolute;
	top: calc(100% + 1.5rem);
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: var(--font-bold);
	display: block;
}


.appear-fade {
	opacity: 0;
}
.appear-fade:has(.fade-in) {
	opacity: 1;
}
.appear-fade-item {
	opacity: 0;
	transform: translateY(1em);
	transition: transform 0.3s ease, opacity 0.3s ease;
	display: inline-block;
}
.appear-fade-item.fade-in {
	opacity: 1;
	transform: translateY(0);
}
.section-top-hero .appear-fade-item {
	transition-delay: 2s;
}

.section-top-hero .description {
	opacity: 0;
	transform: translateY(1em);
	transition: transform 0.5s ease, opacity 0.5s ease;
	transition-delay: 5s, 5s;
	display: inline-block;
}
.section-top-hero .appear-fade:has(.fade-in) + .description {
	opacity: 1;
	transform: translateY(0);
}

.marker {
	background: linear-gradient(transparent 60%, #d5e7ff 30%);
	padding-left: 0.1em;
	padding-right: 0.1em;
}

/******************/
/* button *********/
/* .article button */

.button {
	margin:5rem 0 0 0;
	width:fit-content;
}
.button.min-margin {
	margin:2rem 0 0 0;
}
.button a {
	font-size:17px;
	font-size:1.7rem; 
	color: var(--color-blue);
	white-space: nowrap;
	display: flex;
	align-items: center;
	column-gap: 1rem;
	font-weight: var(--font-bold);
	position: relative;
	padding-bottom: 1rem;
}
.button.-white a {
	color: var(--color-background);
}
.button a .arrow {
	width: 2.4rem;
	height: 2.4rem;
	background-image: url("images/button-arrow-blue.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	display: block;
}
.button.-white a .arrow {
	background-image: url("images/button-arrow-white.svg");
}
.button a::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--color-blue);
}
.button.-white a::after {
	background-color: var(--color-background);
}
.button a:hover::after {
	animation: button-hover 0.7s ease 1 normal none;
}
@keyframes button-hover {
0% {width: 100%;right: 0;left: auto;}
50% {width: 0%;right: 0;left: auto;}
51% {width: 0%;right: auto;left: 0;}
100% {width: 100%;right: auto;left: 0;}
}

.button.contact a {
	background-color: var(--color-blue);
	border: 4px solid rgba(142, 198, 237, 0.5);
	border-radius: 999px;
	padding: 1rem 1rem 1rem 2.8rem;
	color: var(--color-background);
	column-gap: 2rem;
	font-size: 2.2rem;
	transition: 0.3s;
}
.button.contact.-white a {background-color:#fff;
	color: var(--color-blue);
}
.button.contact a:hover {
	transform: scale(1.05);
}
.button.contact a::after {
	display: none;
}
.button.contact a .icon {
	background-image: url("images/button-mail-blue.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 4.8rem;
	height: 4.8rem;
}






.buttons {display:flex; justify-content:flex-start;}
.buttons .button {margin:2rem 2rem 0 0;}

.button.-right {margin-right: 0;margin-left: auto;}
.button.-center {margin-right: auto;margin-left: auto;}

.button.button-small a {padding:4px 12px; min-width:30px; font-size:0.8em;}
.button.button-large a {padding:8px 36px; min-width:180px; font-size:1.2em;}

.button.button-success a {border-color:#987241; border-color:var(--color-gold); color:blue;}
.button.button-success a:hover {background-color:#987241; background-color:var(--color-gold); color:#ffffff;}

.button.button-error a {border-color:red; color:red;}
.button.button-error a:hover {background-color:red; color:#ffffff;}

.button.button-warning a {border-color:yellow; color:yellow;}
.button.button-warning a:hover {background-color:yellow; color:#ffffff;}

/******************/
/******************/
/* WordPress Tags */

img.size-full,
img.size-large,
.wp-post-image,
.post-thumbnail img {
max-width:100%;
width:100%;
height:auto;
}

.wp-caption {}
.wp-caption-text {}
.gallery-caption {}
.bypostauthor {}
#wpstats {display:none;}

.wp-embedded-content {max-width:100%; width:100%;}
.wp-video {margin:0 0 1em 0; max-width:100%; width:100%;}
.wp-video-shortcode {margin:0 0 1em 0; max-width:100%; width:100%;}

/******************/
/******************/

i {font-family:"Be Vietnam Pro", sans-serif;font-weight: 600;font-style: normal;}

.site {}
.site-header {}
.site-navi {}
.site-main {}
.site-footer {}
.site-background {}

/******************/
/******************/
/* header *********/

.site-header {
	width: 100%;
	padding: 6px 6px 6px 32px;
	display: block;
	position: relative;
	position: fixed;
	top: 20px;
	left: 50%;
	z-index: 9999;
	transform: translate(-50%);
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(10px);
	width: 90%;
	max-width: 1600px;
	height: fit-content;
	border-radius: 999px;
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.1);
}
.site-header .site-description {
	opacity: 0;
	height: 0;
	overflow: hidden;
}

.site-header .inner {
	padding: 0;
}

.site-header .header-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: fit-content;
}

.site-header .header-logo {
	width: 180px;
	aspect-ratio: 21 / 5;
}


.site-header .header-navi {
	display: flex;
	align-items: center;
	column-gap: 2rem;
	padding: 6px;
}
.site-header .menu {
	display: flex;
	align-items: center;
	column-gap: 4rem;
	margin-right: 2rem;
}
.site-header .menu > li {
	position: relative;
}
.site-header .menu > li > a {
	font-size: 16px;
	font-size: 1.6rem;
	position: relative;
}
.site-header .menu > li > a:hover {
	color: var(--color-blue);
}
.site-header .menu > li:has(.current-menu-item),
.site-header .menu > li.current-menu-item {
	color: var(--color-blue);
}
.site-header .menu > li:has(.current-menu-item)::after,
.site-header .menu>li.current-menu-item::after {
	content: "";
	position: absolute;
	bottom: -1.5rem;
	left: 0;
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--color-blue);
	border-radius: 999px;
}

.site-header .menu > li .sub-menu a {
	color: var(--color-black);
	font-size: 16px;
	font-size: 1.6rem;
}
.site-header .menu > li .sub-menu a:hover {
	color: var(--color-blue);
}


.site-header .menu .sub-menu {
	opacity: 0;
	position: absolute;
	bottom: -100px;
	pointer-events: none;
	transition: 0.3s;
	border-radius: 999px;
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.1);
	height: fit-content;
	width: 90%;
	max-width: 1600px;
	transform: translate(-50%, -70px);
	background-color: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(10px);
	left: 50%;
	z-index: 9999;
	padding: 24px 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: 4rem;
	width: fit-content;
	white-space: nowrap;
}
.site-header .menu .sub-menu::before {
	position: absolute;
	content: "";
	height: 35px;
	width: 100%;
	display: block;
	bottom: 100%;
	left: 0;
}
.site-header .menu .sub-menu.sub-menu-active {
	opacity: 1;
	pointer-events: all;
	transform: translate(-50%, 0);
}


.site-header .header-button {
	width: fit-content;
}
.site-header .header-button a {
	padding: 1rem 2.5rem;
	border: 2px solid var(--color-blue);
	border-radius: 999px;
	width: fit-content;
	display: flex;
	align-items: center;
	column-gap: 1rem;
	font-weight: var(--font-bold);
	font-size: 17px;
	font-size: 1.7rem;
}
.site-header .header-button.document a {
	color: var(--color-blue);
	background-color: var(--color-background);
}
.site-header .header-button.contact a {
	color: var(--color-background);
	background-color: var(--color-blue);
}
.site-header .header-button a::before {
	content: "";
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	background-image: url("images/icon-document-blue.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.site-header .header-button.document a::before {
	background-image: url("images/icon-document-blue.svg");
}
.site-header .header-button.contact a::before {
	background-image: url("images/icon-mail-white.svg");
}

.site-header .header-button.document a:hover {
	background-color:var(--color-blue); color:#fff;
}
.site-header .header-button.document a:hover::before {
	background-image: url("images/icon-document-white.svg");
}
.site-header .header-button.contact a:hover {
	background-color:var(--color-white); color:var(--color-blue);
}
.site-header .header-button.contact a:hover::before {
	background-image: url("images/icon-mail-blue.svg");
}

.site-header .header-toggle {
	display: none;
}
.site-header .navi-close {
	display: none;
}

@media screen and (max-width: 1000px) {
	.site-header {width: 96%;}
}

@media screen and (max-width: 780px) {
	.site-header {
		padding: 12px 24px 12px 24px;
		top: 10px;
		width: 98%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		transform: none;
		backdrop-filter: blur(10px);
		left: 1%;
	}
	.site-header.navi-active {
		backdrop-filter: none;
	}
	.site-header .header-navi-wrapper {
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 0;
		left: 0;
		filter: blur(10px);
		transition: var(--transition);
		width: 100vw;
		height: 100dvh;
		background-color: rgba(255, 255, 255, 0.5);
		backdrop-filter: blur(0px);
		overflow-x: hidden;
		overflow-y: auto;
	}
	.site-header.navi-active .header-navi-wrapper {
		opacity: 1;
		pointer-events: all;
		filter: blur(0px);
		backdrop-filter: blur(10px);
	}
	.site-header .header-navi {
		height: 100%;
		min-height: fit-content;
		padding: 5rem;
		flex-direction: column;
		justify-content: center;
		pointer-events: none;
	}
	.site-header.navi-active .header-navi {
		pointer-events: all;
	}
	.site-header .header-logo {
		width: 160px;
	}
	.site-header .header-toggle {
		display: block;
		background-image: url("images/navi-open.svg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		width: 35px;
		height: 35px;
		min-width: 35px;
		background-color: transparent;
	}
	.site-header .header-toggle i {
		display: none;
	}
	.site-header .menu {
		flex-direction: column;
		margin-right: 0;
		margin-bottom: 2rem;
	}
	.site-header .menu > li:has(.current-menu-item)::after,
	.site-header .menu>li.current-menu-item::after {
		display: none;
	}
	.site-header .menu > li {
		width: 100%;
		padding: 4rem 0;
		border-top: 1px solid var(--color-border);
	}
	.site-header .menu > li > a {
		font-size: 28px;
		font-size: 2.8rem;
		display: block;
	}
	.site-header .header-button {
		margin-bottom: 3rem;
	}
	.site-header .header-button a {
		font-size: 22px;
		font-size: 2.2rem;
		padding: 1.5rem 3.5rem;
	}
	.site-header .menu .sub-menu {
		opacity: 1;
		position: static;
		box-shadow: none;
		transform: none;
		backdrop-filter: none;
		border-radius: 0;
		background-color: transparent;
		flex-direction: column;
		row-gap: 2rem;
		padding: 0;
		margin-top: 2rem;
		margin: 2rem auto 0 auto;
	}
	.site-header .menu > li .sub-menu a {
		color: var(--color-gray);
		font-size: 20px;
		font-size: 2rem;
	}
	.site-header .menu .sub-menu.sub-menu-active {
		transform: none;
	}
	.site-header .header-navi .navi-close {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		border: 2px solid var(--color-blue);
		background-image: url("images/navi-close.svg");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		background-color: transparent;
		display: block;
	}
	.site-header .header-navi .navi-close i {
		display: none;
	}
}




/******************/
/******************/
/* widget *********/

.site-links {
	position:fixed; right:0; top:50%; transform:translateY(-50%);
	z-index:998;
}
.site-links dl {margin:0 auto 1em;}
.site-links dl dt {margin:0 auto 1em;}
.site-links dl dt img {max-width:24px; width:100%; margin:0 auto;}
.site-links dl dd {margin:0 auto 1em;}
.site-links dl dd img {max-width:24px; width:100%; margin:0 auto;}
.site-links .calendar {}
.site-links .calendar a {
	display:block; padding:3em 0.5em 3em;
	background:var(--color-black); color:#fff;
	border-top-left-radius:26px;
	border-bottom-left-radius:26px;
	position:relative;
	cursor:pointer;
}
.site-links .calendar a::before,
.site-links .calendar a::after {
	content:""; display:block; right:0; position:absolute;
	width:26px; height:26px;
	background:url("images/site-links-calendar-top.svg") 0 0 no-repeat;
}
.site-links .calendar a::before {top:-26px;}
.site-links .calendar a::after {bottom:-26px; background-image:url("images/site-links-calendar-bottom.svg");}

.site-links .calendar a:hover {background-color:var(--color-red);}
.site-links .calendar a:hover::before {background-image:url("images/site-links-calendar-top-red.svg");}
.site-links .calendar a:hover::after {background-image:url("images/site-links-calendar-bottom-red.svg");}

@media (max-width:700px) {
	.site-links {display:none;}
}



/******************/
/******************/
/* footer *********/

.site-footer {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 8rem 0 0 0;
	margin: 16rem 0 0 0;
	color: var(--color-background);
	text-align: left;
}
.site-footer .canvas-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-blue);
	z-index: -2;
}
.site-footer::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	display: block;
	width: 100%;
	height: 157px;
	background-image: url("images/footer-background.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.site-footer .footer-navi {
	padding-top: 24rem;
	display: flex;
	flex-wrap: wrap;
	column-gap: 5rem;
	row-gap: 5rem;
	padding-bottom: 12rem;
}
.site-footer .footer-navi .box {
	width: fit-content;
}
.site-footer .footer-navi .box .caption {
	font-weight: var(--font-bold);
	position: relative;
	margin-bottom: 1.5rem;
	padding-left: 2.4rem;
	display: block;
}
.site-footer .footer-navi .box .caption::before {
	content: "";
	position: absolute;
	top: 0.4rem;
	left: 0;
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(images/icon-caption-sky.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.site-footer .footer-navi .box ul {
	padding-left: 2.4rem;
}
.site-footer .footer-navi .box ul li + li {
	margin-top: 1rem;
}
.site-footer .footer-navi .box ul li a {
	padding-left: 1.6rem;
	font-size: 14px;
	font-size: 1.4rem;
	position: relative;
}
.site-footer .footer-navi .box ul li a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: block;
	width: 0.8rem;
	height: 1px;
	background-color: var(--color-background);
}

.site-footer .footer-bottom {
	background-color: var(--color-navy);
}
.site-footer .footer-bottom .inner {
	z-index: 2;
}

.site-footer .utility {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	padding-top: 6rem;
	row-gap: 2rem;
}
.site-footer .utility .footer-logo {
	width: 400px;
}
.site-footer .utility .footer-logo dl {
	padding-left: 0;
}
.site-footer .utility .footer-title {
	margin-bottom: 4rem;
}
.site-footer .utility .footer-description {display:none;}
.site-footer .utility .footer-title i {
	height: 0;
	opacity: 0;
	overflow: hidden;
	display: block;
}
.site-footer .utility .footer-title::before {
	display: none;
}
.site-footer .utility .location .address-wrap {
	display: flex;
	row-gap: 1rem;
}
.site-footer .utility .location .address-wrap + .address-wrap {
	margin-top: 2rem;
}
.site-footer .utility .location .address {
	position: relative;
}
.site-footer .utility .location .address address {
	display: inline;
}
.site-footer .utility .location .button {
	margin-top: 0;
	margin-left: 1.5rem;
}
.site-footer .utility .location .button a  {
	column-gap: 0.5rem;
}
.site-footer .utility .location .button a::after  {
	height: 1px;
}
.site-footer .utility .location .button a .icon {
	width: 1.6rem;
	height: 1.6rem;
	background-image: url(images/icon-pin-white.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	display: block;
}
.site-footer .utility .tel {
	margin-top: 4rem;
	font-size: 64px;
	font-size: 6.4rem;
}
.site-footer .utility .tel small {
	font-size: 0.5em;
}
.site-footer .utility .license {
	width: fit-content;
	white-space: nowrap;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.8;
}
.site-footer .info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	row-gap: 4rem;
	margin-top: 4rem;
	padding: 4rem 0;
	border-top: 1px solid var(--color-background);
	font-size: 14px;
	font-size: 1.4rem;
}
.site-footer .info .links {
	display: flex;
	align-items: center;
}
.site-footer .info .links li a {
	display: flex;
	align-items: stretch;
}
.site-footer .info .links li a[target="_blank"]::after {
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-image: url("images/icon-external-white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-left: 1rem;
}
.site-footer .info .links li + li a::before {
	content: "";
	display: block;
	background-color: var(--color-background);
	width: 1px;
	margin-left: 3rem;
	margin-right: 3rem;
}

small.site-info {clear:both; font-size:15px; font-size:1.5rem;}
small.site-info a {color:#987241; color:var(--color-gold);}
small.site-info a:hover {color:#987241; color:var(--color-gold);}


.footer-utility {
	position:fixed; right:1em; bottom:1em; max-width:400px;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.4s ease, visibility 0.4s ease;
	z-index:9999;
}
.footer-utility.is-hide {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

@media screen and (max-width: 780px) {
	.site-footer {
		margin: 12rem 0 0 0;
	}
	.site-footer::before {
		height: 48px;
	}
	.site-footer .footer-navi {
		padding-bottom: 6rem;
		padding-top: 8rem;
		column-gap: 5%;
	}
	.site-footer .footer-navi .box {
		width: 47%;
	}
	.site-footer .footer-navi .box .caption {
		font-size: 20px;
		font-size: 2rem;
	}
	.site-footer .footer-navi .box ul li a {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.site-footer .utility {
		flex-direction: column;
		align-items: flex-start;
	}
	.site-footer .utility .footer-title {
		width: 80%;
	}
	.site-footer .utility .footer-logo {
		width: 100%;
	}
	.site-footer .utility .location .address-wrap {
		flex-direction: column;
	}
	.site-footer .utility .location .address {
		width: fit-content;
	}
	.site-footer .utility .location .button {
		margin-left: 0;
	}
	.site-footer .utility .location .address-wrap + .address-wrap {
		margin-top: 3rem;
	}
	.site-footer .utility .tel {
		font-size: 48px;
		font-size: 4.8rem;
	}
	.site-footer .info {
		flex-direction: column;
	}
}

/******************/
/******************/
/* main ***********/

.site-main {
	padding:0;
	text-align:left;
	hyphens:auto;
	line-height: 1.8;
}

.main-header {
	position: relative;
}
.main-header::after {
	content: "";
	background-color: var(--color-background);
	border-top-left-radius: 999px;
	border-top-right-radius: 999px;
	width: 100%;
	height: 3rem;
	position: absolute;
	bottom: -1px;
	left: 0;
}
.main-header .inner{
	padding-bottom: 7rem;
}
.main-header .page-title {
	padding: 30rem 0 20rem 0;
}
.main-header .page-title i {
	font-size: 140px;
	font-size: 14rem;
	line-height: 1;
	white-space: nowrap;
}
.main-header .page-title i .sp {
	display: none;
}
.main-header .page-title .title {
	font-size: 26px;
	font-size: 2.6rem;
	display: flex;
	align-items: center;
	color: var(--color-blue);
	margin-top: 2rem;
	font-weight: var(--font-bold);
	white-space: nowrap;
}
.main-header .page-title .title::before {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background-color: var(--color-blue);
	margin-right: 1.5rem;
}
.main-header .page-thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.main-header .page-thumbnail::after {
	content: "";
	background-color: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(5px);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.main-header .page-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main-header .page-navi {
	background-color: rgba(255, 255, 255, 0.5);
	border-radius: 1.7rem;
	padding: 1.5rem 1.7rem;
	display: flex;
	align-items: center;
	column-gap: 1.4rem;
	margin-top: 3rem;
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.25);
}
.page-id-3 .main-header .page-navi,
.page-id-135 .main-header .page-navi{display:none;}

.main-header .page-navi li {
	width: fit-content;
}
.main-header .page-navi li a {
	width: fit-content;
	background-color: var(--color-navy);
	border-radius: 0.7rem;
	color: var(--color-background);
	font-weight: var(--font-bold);
	display: block;
	padding: 0.6em 1.5em;
}
.main-header .page-navi li.current a {
	background-color: var(--color-background);
	color: var(--color-blue);
}
@media screen and (max-width: 780px) {
	.main-header .page-title {
		padding: 25rem 0 10rem 0;
	}
	.main-header .page-title i {
		font-size: 70px;
		font-size: 7rem;
	}
	.main-header .page-title i .sp {
		display: block;
	}
	.main-header .page-title .title {
		font-size: 20px;
		font-size: 2rem;
	}
	.main-header .page-navi {
		row-gap: 1.5rem;
		flex-wrap: wrap;
	}
	.main-header .page-navi li a {
		padding: 0.3em 1em;
		font-size: 18px;
		font-size: 1.8rem;
	}
}

/******************/
/******************/
/* sidebar.php ****/

.main-content.has-sidebar {
	float:left;
	width:100%;
	width:calc(100% - 320px);
}

.main-sidebar {width:280px; float:right; padding:0; text-align:left;}
.main-sidebar .module {margin-bottom:20px; display:block; clear:both;}
.main-sidebar a {}
.main-sidebar a:hover {}
.main-sidebar h4 {font-size:18px; font-size:1.8rem; margin:0 0 4px 0; display:block;}

.main-sidebar p {margin:0 0 12px 0; clear:both;}
.main-sidebar ul {padding:0; margin:0; clear:both;}
.main-sidebar ul li {padding:0; margin:0;}

.main-sidebar label {display:block;}
.main-sidebar select {margin:0 0 1em 0; width:99%; border:1px solid #999999; border-color:var(--color-gray);}

.main-sidebar label.screen-reader-text {display:none;}
.main-sidebar .search-submit {display:none;}

.main-footer {}

/******************/
/******************/
/* main-content ***/


.article h1,
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {margin-bottom: 2rem; line-height:1.3;}

.article h1 {font-size:51px; font-size:5.1rem;}
.article h2 {font-size:45px; font-size:4.5rem;}
.article h3 {font-size:35px; font-size:3.5rem;font-weight: var(--font-bold);margin-bottom: 2.5rem;color: var(--color-blue);}
.article h4 {font-size:29px; font-size:2.9rem;font-weight: var(--font-bold);}
.article h5 {font-size:25px; font-size:2.5rem;font-weight: var(--font-bold);}
.article h6 {font-size:21px; font-size:2.1rem;font-weight: var(--font-bold);}

.article p + p {margin:1em 0 0 0;}

.article ul ul,
.article ul ol,
.article ol ul,
.article ol ol {margin-bottom:0;}

.article ul {list-style:none;}
.article ul ul {list-style:circle;}
.article ol {list-style:none;}
.article ol ol {list-style:upper-roman;}

.single-window {
	max-width: 1000px;
	padding: 6rem 8rem 6rem 8rem;
	background-color: var(--color-dark-white);
	border-radius: 2rem;
	margin: 0 auto;
}

.single-content {
	margin-top: 1.5rem;
	padding-top: 4rem;
	border-top: 1px solid var(--color-border);
}
.single-content ul {
	padding-left: 2rem;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	margin-left:2em;
}
.single-content ul li {padding:0;list-style: disc;}

.single-content p a {
	text-decoration: underline;
	color: var(--color-blue);
}
.single-content ol {
	padding-left: 2rem;
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	margin-left:2em;
}
.single-content ol li {padding:0;list-style: decimal;}

.single-content img {max-width:100%; height:auto;}
.single-content h3 {
	margin-top: 6rem;
	margin-bottom: 1.5rem;
	font-size: 30px;
	font-size: 3rem;
}
.single-content h4 {
	margin-top: 4rem;
	margin-bottom: 1.5rem;
	font-size: 24px;
	font-size: 2.4rem;
}
.single-content .flex-container {
	margin-bottom: 6rem;
}

.single-content em {background: linear-gradient(transparent 40%, yellow 80%);}

.single-meta {
	position: relative;
}
.single-meta .edit {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 20px;
	font-size: 2rem;
	padding: 0.7rem 2rem;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(10px);
	color: var(--color-gray);
}
.single-meta .category {
	padding: 0.3rem 1.7rem;
	display: block;
	border-radius: 999px;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: var(--font-bold);
	width: fit-content;
}
.single-meta .category.news {
	color: var(--color-orange);
	background-color: rgba(255, 107, 1, 0.15);
}
.single-meta .category.column {
	color: var(--color-blue);
	background-color: rgba(0, 85, 168, 0.15);
}
.single-meta .date {
	font-size: 15px;
	font-size: 1.5rem;
	color: var(--color-gray);
	margin-top: 2rem;
	display: block;
}
.single-title .title {
	font-size: 35px;
	font-size: 3.5rem;
	font-weight: var(--font-bold);
	line-height: 1.4;
	color: var(--color-blue);
	margin-top: 1rem;
	margin-bottom: 0;
}

.single-links {
	display: flex;
	justify-content: space-between;
	max-width: 800px;
	margin: 4rem auto 0 auto;
}
.single-links span {
	display: block;
	width: fit-content;
	width: 5em;
}
.single-links span a {
	display: block;
	color: var(--color-blue);
	font-weight: var(--font-bold);
	white-space: nowrap;
	text-align: center;
	position: relative;
}
.single-links span a::after {
	content: "";
	position: absolute;
	bottom: -5px;
	right: 0;
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--color-blue);
}
.single-links span a:hover::after {
	animation: button-hover 0.7s ease 1 normal none;
}

@media (max-width: 800px) {
	.single-window {padding:4em;}
}
@media (max-width: 600px) {
	.single-window {padding:4em 2em;}
}


.article blockquote {
padding:0.4em 1em;
margin:2em 0 2em 1em;
border-left:2px solid #222222;
}

.article blockquote > *:last-child,
.article blockquote > *:last-child > *:last-child,
.article blockquote > *:last-child > *:last-child > *:last-child {margin:0;}

.article blockquote cite {font-size:0.8em;}
.article blockquote cite:before {content:"— "; margin:0 0 0 1em;}



/******************/
/* section ********/

.section {
	position: relative;
	display: block;
	padding: 0 0 12rem 0;
	margin: 0;
}
.section:last-child {
	padding: 0;
}
@media screen and (max-width: 780px) {
	.section {
		padding: 0 0 8rem 0;
	}
}

.section-title-wrapper {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	row-gap: 4rem;
}
.section-title i {
	font-size: 80px;
	font-size: 8rem;
	line-height: 1;
	white-space: nowrap;
}
h2.section-title {
	margin-bottom: 7rem;
}
.section-title-wrapper h2.section-title {
	margin-bottom: 0;
}
.section-title .title {
	font-size: 17px;
	font-size: 1.7rem;
	display: flex;
	align-items: center;
	column-gap: 1rem;
	color: var(--color-blue);
	margin-top: 1.5rem;
	font-weight: var(--font-bold);
	white-space: nowrap;
}
.section-title .title::before {
	content: "";
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background-color: var(--color-blue);
}
@media screen and (max-width: 780px) {
	.section-title i {
		font-size: 56px;
		font-size: 5.6rem;
	}
	h2.section-title {
		margin-bottom: 5.5rem;
	}
}

/******************/
/******************/
/* front-page.php */

.section-top-hero {
	/* background-image: url("images-page/top-hero-background.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center; */
	min-height: 800px;
	max-height: 60vw;
	height: 100vh;
	display: flex;
	align-items: flex-end;
}
.section-top-hero .canvas-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}
.section-top-hero #hero-canvas {
	width: 100%;
	height: 100%;
	display: block;
}
.section-top-hero h1 {
	font-size: 80px;
	font-size: 8rem;
	letter-spacing: 0.05em;
	font-weight: var(--font-bold);
	margin-bottom: 0;
	white-space: nowrap;
	margin-right: 5rem;
}
.section-top-hero h1 b {
	color: var(--color-blue);
	font-size: 1.2em;
}
.section-top-hero h1 .small {
	font-size: 0.9em;
}
.section-top-hero h1 i {
	text-transform: uppercase;
	font-size: 40px;
	font-size: 4rem;
	display: block;
	letter-spacing: 0;
	margin-top: 3rem;
	margin-left: 1rem;
}
.section-top-hero .description {
	padding-left: 4rem;
	border-left: 2px solid var(--color-blue);
	max-width: 480px;
}
@media screen and (max-width: 780px) {
	.section-top-hero {
		min-height: 600px;
		padding-bottom: 6rem;
		max-height: 200vw;
	}
	.section-title-wrapper {
		flex-direction: column;
		align-items: flex-start;
	}
	.section-top-hero h1 {
		font-size: 48px;
		font-size: 4.8rem;
		margin-right: 0;
	}
	.section-top-hero h1 i {
		font-size: 28px;
		font-size: 2.8rem;
		display: block;
		margin-top: 1.5rem;
		margin-left: 0;
	}
	.section-top-hero .description {
		padding-left: 0;
		border-left: none;
		max-width: none;
		font-size: 14px;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 370px) {
	.section-top-hero h1 {
		font-size: 40px;
		font-size: 4rem;
	}
	.section-top-hero h1 i {
		font-size: 24px;
		font-size: 2.4rem;
	}
}

.section-top-about {
	position: relative;
	padding-top: 8rem;
	background-image: url("images-page/top-about-background.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding-bottom: 48rem;
	z-index: 2;
}
.section-top-about::before {
	content: "";
	background-color: var(--color-background);
	border-top-left-radius: 999px;
	border-top-right-radius: 999px;
	width: 100%;
	height: 3rem;
	position: absolute;
	bottom: 99.9%;
	left: 0;
}
.section-top-about .inner {
	display: flex;
	justify-content: space-between;
	column-gap: 5rem;
}
.section-top-about .section-title {
	width: fit-content;
}
.section-top-about .content {
	flex-basis: 65%;
	max-width: 750px;
}
.section-top-about .content h3 {
	font-size: 40px;
	font-size: 4rem;
	font-weight: var(--font-bold);
	margin-bottom: 4rem;
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.section-top-about .gallery-slide {
	position: absolute;
	bottom: -12rem;
	left: 0;
	overflow: hidden;
	width: 100%;
}
.section-top-about .gallery-slide .swiper-wrapper {
	transition-timing-function: linear;
}
.section-top-about .gallery-slide .swiper-slide {
	width: auto !important;
	height: 240px !important;
	border-radius: 5px;
	overflow: hidden;
	border: 7px solid rgba(145, 202, 242, 0.5);
}
.section-top-about .gallery-slide .swiper-slide img {
	height: 100%;
	width: auto;
}
@media screen and (max-width: 780px) {
	.section-top-about {
		padding-bottom: 24rem;
	}
	.section-top-about .content h3 {
		font-size: 36px;
		font-size: 3.6rem;
	}
	.section-top-about .inner {
		flex-direction: column;
	}
	.section-top-about .gallery-slide .swiper-slide {
		height: 180px !important;
	}
}
@media screen and (max-width: 370px) {
	.section-top-about .content h3 {
		font-size: 32px;
		font-size: 3.2rem;
	}
}

.section-top-feature {
	z-index: 1;
	margin-top: -16rem;
	padding-top: 40rem;
	padding-bottom: 16rem;
	overflow: hidden;
	background-color: var(--color-blue);
}
.section-top-feature::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	display: block;
	width: 100%;
	height: 310px;
	background-image: url("images-page/top-feature-background.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	pointer-events: none;
	z-index: -1;
}
.section-top-feature .canvas-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-blue);
	z-index: -2;
}
.section-top-feature .section-title .title::before {
	background-color: var(--color-background);
}
.section-top-feature .section-title i {
	color: var(--color-background);
}
.section-top-feature .section-title .title {
	color: var(--color-background);
}
.section-top-feature p {
	color: var(--color-background);
	margin-bottom: 4rem;
}
.section-top-feature .content {
	width: 60%;
}
.section-top-feature dl {
	color: var(--color-background);
	margin-bottom: 12rem;
}
.section-top-feature dl dt {
	color: var(--color-background);
}
.section-top-feature dl dd {
	color: var(--color-sky);
}
.section-top-feature .circle {
	aspect-ratio: 1 / 1;
	width: 50%;
	position: absolute;
	top: 50%;
	left: 95%;
	transform: translate(-50%, -50%);
}
.section-top-feature .circle::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 70%;
	height: 70%;
	border-radius:50%;
	border: 2px dashed var(--color-sky);
}
.section-top-feature .circle .item-wrapper {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	animation: item-wrapper-spin 15s linear infinite;
}
.section-top-feature .circle .item-wrapper:nth-child(1) {
	rotate: 0deg;
}
.section-top-feature .circle .item-wrapper:nth-child(2) {
	rotate: 120deg;
}
.section-top-feature .circle .item-wrapper:nth-child(3) {
	rotate: 240deg;
}
.section-top-feature .circle .item-wrapper .item {
	background-color: var(--color-background);
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	row-gap: 1rem;
	border-radius: 50%;
	width: 45%;
	aspect-ratio: 1 / 1;
	animation: item-spin 15s linear infinite;
}
.section-top-feature .circle .item-wrapper:nth-child(1) .item {
	rotate: -0deg;
}
.section-top-feature .circle .item-wrapper:nth-child(2) .item {
	rotate: -120deg;
}
.section-top-feature .circle .item-wrapper:nth-child(3) .item {
	rotate: -240deg;
}
@keyframes item-wrapper-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
@keyframes item-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(-360deg); }
}
.section-top-feature .circle .item-wrapper .thumbnail {
	width: 50%;
}
.section-top-feature .circle .item-wrapper .caption {
	font-size: 40px;
	font-size: 4rem;
	color: var(--color-blue);
}
@media screen and (max-width: 780px) {
	.section-top-feature {
		margin-top: -16rem;
		padding-top: 36rem;
		padding-bottom: 12rem;
	}
	.section-top-feature .content {
		width: 100%;
	}
	.section-top-feature .circle {
		width: 100%;
		z-index: -1;
		opacity: 0.1;
	}
	.section-top-feature dl {
		margin-bottom: 6rem;
	}
}


.section-top-service {
	background-color: var(--color-dark-white);
	padding-top: 24rem;
	padding-bottom: 24rem;
}
.section-top-service::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	display: block;
	width: 100%;
	height: 310px;
	background-image: url("images-page/top-service-background.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	pointer-events: none;
}
.section-top-service h1 {
	position: relative;
	letter-spacing: 0.05em;
	text-align: center;
	z-index: 2;
	margin-bottom: 24rem;
}
.section-top-service h1::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	background-image: url("images-page/top-service-title-decoration.webp");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 44rem;
	height: 44rem;
	z-index: -1;
}
.section-top-service h1 small {
	font-size: 24px;
	font-size: 2.4rem;
	display: block;
	font-weight: var(--font-bold);
	margin-bottom: 2rem;
	color: var(--color-blue);
}
.section-top-service h1 .title {
	font-size: 72px;
	font-size: 7.2rem;
	font-weight: var(--font-bold);
}
.section-top-service h1 .title .sp {
	display: none;
}
.section-top-service h1 b {
	color: var(--color-blue);
	font-size: 1.05em;
}
.section-top-service .box {
	display: flex;
	justify-content: space-between;
}
.section-top-service .box:nth-of-type(2n) {
	flex-direction: row-reverse;
}
.section-top-service .box + .box {
	margin-top: 16rem;
}
.section-top-service .box .picture {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	width: 40%;
}
.section-top-service .box .picture i {
	position: absolute;
	top: 2rem;
	left: 2rem;
	color: var(--color-gray);
	font-size: 17px;
	font-size: 1.7rem;
}
.section-top-service .box .content {
	width: 50%;
	padding-top: 6rem;
	border-top: 2px solid var(--color-border);
}
.section-top-service .box .content dl dt {
	color: var(--color-blue);
}
.section-top-service .box .content dl dt::before {
	background-image: url("images/icon-caption-sky.svg");
}
@media screen and (max-width: 780px) {
	.section-top-service {
		padding-top: 16rem;
		padding-bottom: 16rem;
	}
	.section-top-service h1 {
		margin-bottom: 16rem;
	}
	.section-top-service h1 .title {
		font-size: 46px;
		font-size: 4.6rem;
	}
	.section-top-service h1 .title .sp {
		display: block;
	}
	.section-top-service .box {
		flex-direction: column;
	}
	.section-top-service .box:nth-of-type(2n) {
		flex-direction: column;
	}
	.section-top-service .box + .box {
		margin-top: 12rem;
	}
	.section-top-service .box .picture {
		width: 100%;
	}
	.section-top-service .box .picture i {
		font-size: 32px;
		font-size: 3.2rem;
	}
	.section-top-service .box .content {
		width: 100%;
		border-top: none;
		padding-top: 2rem;
	}

}

.section-top-faq .accordion-container {
	margin:8rem 0;
}

.section-top-news {
	padding-top: 8rem;
	overflow: hidden;
	padding-bottom: 20rem;
	display:none;
}
.section-top-news .archives {
	margin-top: 8rem;
}
@media screen and (max-width: 780px) {
	.section-top-news {
		padding-top: 8rem;
		overflow: hidden;
		padding-bottom: 8rem;
	}
	.section-top-news .inner {
		display: flex;
		flex-direction: column;
	}
	.section-top-news .section-title-wrapper {
		display: contents;
	}
	.section-top-news .button {
		order: 1;
	}
	.section-top-news .archives {
		margin-top: 5.5rem;
	}
}

.section-top-access .content {
	margin-top: 8rem;
	display: flex;
	justify-content: space-between;
	column-gap: 4%;
	row-gap: 3rem;
}
.section-top-access .content .item{
	padding: 16px;
	border-radius: 24px;
	background-color: var(--color-dark-white);
}
.section-top-access .content .item .thumbnail {
	border-radius: 8px;
	overflow: hidden;
}
.section-top-access .content .item h3 {
	color: var(--color-blue);
	font-size: 24px;
	font-size: 2.4rem;
	margin-bottom: 1rem;
	font-weight: var(--font-bold);
}
.section-top-access .content .item p {
	line-height: 1.4;
	font-size: 19px;
	font-size: 1.9rem;
	margin-bottom: 3rem;
}
.section-top-access .address {
	padding: 2rem 1.2rem;
}
@media screen and (max-width: 780px) {
	.section-top-access {
		padding-top: 4rem;
	}
	.section-top-access .content {
		flex-direction: column;
	}
	.section-top-access .inner {
		display: flex;
		flex-direction: column;
	}
	.section-top-access .section-title-wrapper {
		display: contents;
	}
	.section-top-access .button {
		order: 1;
	}
	.section-top-access .content {
		margin-top: 5.5rem;
	}
}

.section-top-contact {
	padding-bottom: 0;
}
.section-top-contact .content {
	background-color: rgba(233, 236, 240, 0.6);
	border-radius: 30px;
	padding: 16rem 0;
	text-align: center;
}
.section-top-contact .content .section-title .title {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.section-top-contact .content .section-title .title::before {
	display: none;
}
.section-top-contact .text-slider {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	overflow: hidden;
	display: flex;
	z-index: -1;
}
.section-top-contact .text-slider i {
	display: block;
	flex-shrink: 0;
	white-space: nowrap;
	font-size: 23rem;
	padding-right: 1em;
	color: #f2f2f2;
}
.section-top-contact .text-slider i:nth-child(odd) {
	animation: text-slider-01 30s -15s infinite linear;
}
.section-top-contact .text-slider i:nth-child(even) {
	animation: text-slider-02 30s infinite linear;
}
@keyframes text-slider-01 {
	0% {transform: translateX(100%);}
	100% {transform: translateX(-100%);}
}
@keyframes text-slider-02 {
	0% {transform: translateX(0);}
	100% {transform: translateX(-200%);}
}


.section-faq-content dt {
	padding-left: 6rem;
}
.section-faq-content dt::before {
	content: "Q";
	position: absolute;
	top: -0.8rem;
	left: 0;
	right: auto;
	display: block;
	font-size: 50px;
	font-size: 5rem;
	font-family: "Be Vietnam Pro", sans-serif;
	font-weight: 600;
	width: auto;
	height: auto;
	background: none;
	color: var(--color-blue);
	line-height: 1;
}
@media screen and (max-width: 780px) {
	.section-faq-content dt {
		padding-left: 5rem;
	}
	.section-faq-content dt::before {
		font-size: 40px;
		font-size: 4rem;
		top: 0;
	}
}

.section-privacy-content h3 {
	margin-top: 4rem;
	margin-bottom: 1.5rem;
	font-size: 24px;
	font-size: 2.4rem;
	color: var(--color-black);
}



/******************/
/* page.php *******/

.article-purchase .-center {text-align:center;}
.article-purchase .-color-red {color:red;}
.article-renovate p.-center {text-align:center;}

.article-privacy .columns {margin:2em 0; font-size:13px; font-size:1.3rem;}


.maps {
	clear:both;
	width:100%; height:30vw; min-height:450px; overflow:hidden; position:relative;
	padding-top:0; margin:3vw 0 0 0;
	border-radius:var(--border-radius);
}
.googlemaps {width:100%; height:100%; position:absolute; top:0;}
.maps iframe {position:absolute; top:0; left:0; right:0; bottom:0; width:100%;}




/******************/
/******************/
/* archive.php ****/

.archives {
	text-align: left;
}
.archives ul {
	user-select: none;
}
.section-archives .archives ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	column-gap: 3rem;
	row-gap: 3rem;
}
.archives ul li {
	width: 320px;
	position: relative;
}
.section-archives .archives ul li {
	width: auto;
}
.archives ul li a {
	display: block;
	padding: 16px;
	border-radius: 24px;
	background-color: var(--color-dark-white);
}

.archives ul li a .thumbnail {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	position: relative;
	border-radius: 8px;
}
.archives ul li a .thumbnail img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: var(--transition);
}
.archives ul li a:hover .thumbnail img {
	transform: scale(1.05);
}
.archives ul li a .content {
	padding: 1rem;
	margin-top: 1rem;
}
.archives ul li a .content .meta {
	font-weight: var(--font-bold);
	display: flex;
	align-items: center;
	column-gap: 1.6rem;
	margin-bottom: 1rem;
	margin-left: -0.5rem;
}
.archives ul li a .content .meta .date {
	color: var(--color-gray);
	font-size: 15px;
	font-size: 1.5rem;
}
.archives ul li a .content .meta .category {
	padding: 0.3rem 1.5rem;
	background-color: rgba(255, 107, 1, 0.15);
	color: var(--color-orange);
	border-radius: 999px;
	font-size: 13px;
	font-size: 1.3rem;
}
.archives ul li a .content .meta .category[data-category="column"] {
	background-color: rgba(0, 85, 168, 0.15);
	color: var(--color-blue);
}
.archives ul li a .content .title {
	display: block;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	margin-bottom: 1rem;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: var(--font-bold);
}
.archives ul li a .content .summary {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
	display: block;
	color: var(--color-gray);
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
.archives ul li a.post-edit-link {
	position: absolute;
	top: 24px;
	right: 24px;
	font-size: 15px;
	font-size: 1.5rem;
	padding: 0.5rem 1.5rem;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(10px);
	color: var(--color-gray);
}

.archives ul li.links a {
	 background-color:var(--color-white); text-align:center;
	 justify-content:center;
	 border-radius:var(--border-radius);
}
.archives ul li.links i {
	 font-weight:var(--font-bold);
	 font-size:19px; font-size:1.9rem;
	 transition:var(--transition);
}
.archives ul li.links a:hover i {scale:1.1;}



/******************/
/******************/
/* archive-custom-post.php */

.archives-custompost ul {
	list-style:none; padding:0 0 0; margin:0;
	display:flex;
	flex-wrap:wrap;
	flex-direction:row;
	align-items:stretch;
	align-content:stretch;
	justify-content:space-between;
}
.archives-custompost ul li {position:relative; display:block; margin:0 0 6% 0; padding:0;
flex:0 1 auto;
flex-grow:0;
flex-shrink:1;
flex-basis:22.5%;
max-width:22.5%;
}
.archives-custompost ul li .thumbnail {display:block; margin:0 0 4px 0; line-height:1;}
.archives-custompost ul li .title {font-size:13px; font-size:1.3rem;}
.archives-custompost ul li img {border-radius:4px; display:block; width:100%; border:4px solid #ffffff;}
.archives-custompost ul li img:hover {border-color:#987241; border-color:var(--color-gold);}
.archives-custompost ul li img.zoom-img {border:0;}

@media screen and (max-width: 780px) {
	.archives ul li {
		width: 180px;
	}
	.section-archives .archives ul {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	}
}

/*
.archives-custompost .mix,
.archives-custompost .gap {display:inline-block; width:20%; vertical-align:top;}
.archives-custompost #mix .mix {display:none;}
*/



/******************/
/* page.php single.php single-custompost.php *****/

.page-title {}
.single-title {}
.single-custompost-title {}

.page-meta {}
.single-meta {}
.single-custompost-meta {}

.page-thumbnail {}
.single-thumbnail {}
.single-custompost-thumbnail {}

.single-content {}
.single-custompost-content {}


.page-selector {margin:0 0 7vw 0;}
.page-selector ul {display:flex; align-items:center; justify-content:flex-start;}
.page-selector ul li {margin:0 1em 0.5em 0;}
.page-selector ul li a {
	background-color:var(--color-blue); border-radius:100px;
	padding:0.5em 3em;
}
.page-content {
	margin: 0;
	padding-top: 12rem;
}
.page-content .thumbnail {
	border-radius: 1rem;
	overflow: hidden;
}
@media screen and (max-width: 780px) {
	.page-content {
		padding-top: 8rem;
	}
}
/* #post-ID {} */

/******************/
/* single-custom-post.php */


/******************/
/******************/
/* breadcrumbs ****/

.breadcrumbs {
	clear: both;
	display: block;
	margin: 0 0 3rem 0;
	padding: 0;
	text-align: left;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: var(--font-bold);
}
.breadcrumbs ul {
	padding: 0;
	list-style: none;
	white-space: nowrap;
	overflow-y: hidden;
	overflow-x: auto;
}
.breadcrumbs ul li {
	display: inline-block;
}
.breadcrumbs ul li:after {
	content: "";
	margin: 0 12px;
	display: inline-block;
	background-image: url("images/breadcrumbs-arrow.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 12px;
	height: 12px;
}
.breadcrumbs ul li:last-child:after {
	display: none;
}
.breadcrumbs ul li a:hover {
	color: var(--color-blue);
}
@media screen and (max-width: 780px) {
	.breadcrumbs {
		font-size: 13px;
		font-size: 1.3rem;
	}
	.breadcrumbs ul li:after {
		width: 10px;
		height: 10px;
	}
}

/******************/
/******************/
/* navigation *****/

/******************/
/* pagination *****/


.pagination {margin:8rem auto 0 auto; clear:both;}
.pagination ul {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 2rem;
}
.pagination ul li {
	width: fit-content;
}
.pagination ul li span,
.pagination ul li a {
	width: 3em;
	height: 3em;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-black);
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: var(--font-bold);
	background-color: var(--color-background);
	border: 1px solid var(--color-blue);
	border-radius: 3px;
	color: var(--color-blue);
	transition: var(--transition);
}
.pagination ul li span.current {
	color: var(--color-background);
	background-color: var(--color-blue);
}
.pagination ul li a:hover {
	transform: scale(0.95);
}
.pagination ul li a.prev,
.pagination ul li a.next {
	width: 8em;
	height: 3em;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	background-color: var(--color-background);
	border: 1px solid var(--color-blue);
	color: var(--color-blue);
	transition: var(--transition);
}

.pagination ul li a.prev:hover,
.pagination ul li a.next:hover {
	transform: scale(0.95);
}
.pagination ul li a.prev:hover {background-image:url("images/arrow-left-white.svg");}
.pagination ul li a.next:hover {background-image:url("images/arrow-right-white.svg");}

.pagination ul li a:hover {
	color:var(--color-blue);
}
.pagination span.dots {border:0; background:transparent;}



/******************/
/******************/
/* comments.php ***/



/******************/
/******************/
/* Flexbox System & Table System */

.table-container {
	display:table; table-layout:fixed; border-collapse:collapse; width:100%; position:relative; margin:0; padding:0;
}
.table-cell {
	display:table-cell; vertical-align:top; position:relative; margin:0; padding:0; empty-cells:show;
}


/******************/
/* responsive-table */

.r-table,
.responsive-table {
	width:100%;
	position: relative;
	overflow-y: hidden;
	overflow-x: scroll;
	width: 100%;
	cursor: grab;
}



/******************/
/* jquery-tabs ****/


.tab-selector ol {
	display:table; table-layout:fixed; text-align:center;
	padding:0 20px; margin:0 auto; width:100%;
	position:relative; bottom:-1px;
	z-index:3;
}
.tab-selector ol li {
	display:table-cell;
	padding:12px 0; cursor:pointer; background-color:#cccccc; background-color:var(--color-border);
	border:1px solid #999999; border-color:var(--color-gray);
	white-space:nowrap;
	overflow:hidden;
}

.tab-selector ol li:not(:last-child) {border-right:0;}
.tab-selector ol li:hover {background-color:#987241; background-color:var(--color-gold); color:#ffffff;}
.tab-selector ol li:first-child {border-top-left-radius:4px;}
.tab-selector ol li:last-child {border-top-right-radius:4px;}
.tab-selector ol li.is-current {background-color:#ffffff; background-color:var(--color-background); color:#987241; color:var(--color-gold); border-bottom:1px solid #ffffff;}
.tab-selector ol li.is-current:hover {background-color:#ffffff; background-color:var(--color-background); color:#987241; color:var(--color-gold);}

.tab-content {position:relative; z-index:2;}
.tab-content > div {display:none;}
.tab-content > div:first-child {display:block;}



/******************/
/******************/
/* materials ******/

.adr span {margin:0; display:inline-block;}




/******************/
/******************/
/* plugins ********/


body.is-modal {overflow:hidden;}
.modal {display:none;
position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(255,255,255,0.8);
overflow-y:scroll;
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
z-index:99999;
}

.modal-close {cursor:pointer; position:absolute; top:12px; right:12px; width:40px; height:40px;
background:#ffffff center center no-repeat;
	background-size:20px 20px;
	background-color:var(--color-background);
border:1px solid #f578b9;
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHN7ZmlsbDojZjU3OGI5O308L3N0eWxlPjwvZGVmcz48cG9seWdvbiBjbGFzcz0iY2xzIiBwb2ludHM9IjIwIDEuMjUgMTguNzUgMCAxMCA4Ljc1IDEuMjUgMCAwIDEuMjUgOC43NSAxMCAwIDE4Ljc1IDEuMjUgMjAgMTAgMTEuMjUgMTguNzUgMjAgMjAgMTguNzUgMTEuMjUgMTAgMjAgMS4yNSIvPjwvc3ZnPg==");
	border-radius:50%;
color:transparent;
}
.modal-close:hover {
background-color:#987241; background-color:var(--color-gold);
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHN7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48cG9seWdvbiBjbGFzcz0iY2xzIiBwb2ludHM9IjIwIDEuMjUgMTguNzUgMCAxMCA4Ljc1IDEuMjUgMCAwIDEuMjUgOC43NSAxMCAwIDE4Ljc1IDEuMjUgMjAgMTAgMTEuMjUgMTguNzUgMjAgMjAgMTguNzUgMTEuMjUgMTAgMjAgMS4yNSIvPjwvc3ZnPg==");
}




/******************/
/* ContactForm7 ***/



.form {
	clear: both;
	display: block;
	margin: 2em 0;
}
.form table {
	border: none;
	margin: 0;
}
.form table th,
.form table td {
	border: none;
	text-align: left;
	display: block;
	font-size: 20px;
	font-size: 2rem;
	background-color: transparent;
}
.form table th {
	padding: 0;
	font-weight: var(--font-bold);
}
.form table th b {
	background-color: #e20808;
	color: var(--color-background);
	border-radius: 8px;
	padding: 0.6rem 1.2rem 0.8rem 1.2rem;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1;
	display: inline-block;
	margin-left: 1rem;
}
.form table td {
	padding: 1rem 0 4rem 0;
}

/* @media (max-width:700px) {
	.form table,
	.form table tbody,
	.form table tr,
	.form table th,
	.form table td {display:block;}
	.form table th,
	.form table td {display:block; text-align:left; padding:0;}
	.form table th {border:0; padding:32px 0 0 0; margin:0 0 12px 0;}
	.form table th i {display:inline-block; margin:0 1em 0 0;}
	.form table td {padding:0 0 16px 0;}	
} */


form {}
fieldset {}
label {}

::-webkit-input-placeholder,
::-moz-placeholder,
:-moz-placeholder,
:-ms-input-placeholder {color:#999999; color:var(--color-gray);}

[type="search"] {
/*-webkit-appearance:textfield;
-moz-appearance:textfield;
-ms-appearance:textfield;
-o-appearance:textfield;
appearance:textfield;*/
}

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="file"],
select,
textarea {
	width: 100%;
	max-width: 100%;
	border-radius: 0.5rem;
	display: block;
	position: relative;
	padding: 0.8em 1em;
	font-size: 20px;
	font-size: 2rem;
	margin: 0;
	border: 1px solid var(--color-gray);
	background-color: var(--color-dark-white);
}


input[type="checkbox"],
input[type="radio"] {}
input[type="file"] {cursor:pointer; width:auto;}
input[name="your-address"] {width:100%;}
select {width:auto; padding:12px; border:1px solid #cccccc;}
textarea {width:100%;}

input[type="submit"] {
	margin: 4rem 0 0 0;
	text-align: center;
	appearance: none;
	display: block;
	text-align: center;
	border-radius: 1rem;
	padding: 1.5rem 0;
	width: 100%;
	background-color: var(--color-blue);
	color: var(--color-background);
	cursor: pointer;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: var(--font-bold);
	transition: var(--transition);
}
input[type="submit"][disabled],
input[type="submit"][disabled]:hover {
	background-color: var(--color-gray);
	cursor: not-allowed;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
border:1px solid var(--color-blue);
background-color: #eff7ff;
}

textarea {height:auto; min-height:100px; max-height:200px;}
select {}


@media (max-width:960px) {
	input[type="text"],
	input[type="password"],
	input[type="date"],
	input[type="datetime"],
	input[type="email"],
	input[type="number"],
	input[type="search"],
	input[type="tel"],
	input[type="time"],
	input[type="url"] {width:100%;}
	select {width:auto;}
	textarea {width:100%;}
}
	

.wpcf7{}

.screen-reader-response {display:none;}

.wpcf7-response-output:empty {display:none;}
.wpcf7-response-output {
margin:0 auto 3em; padding:1.5em; line-height:var(--line-height-mini);
border:0;
	border-radius:var(--border-radius);
	text-align:center; display:block;
	clear:both;
	background:var(--color-red);
	color:var(--color-white);
	width:fit-content;
}

.wpcf7-mail-sent-ok {
border:1px solid #987241; border-color:var(--color-gold);
color:var(--color-white);
padding:12px;
margin:0 0 20px 0;
}

.wpcf7-validation-errors {
border:1px solid var(--color-red);
color:var(--color-red);
padding:12px;
margin:0 0 20px 0;
}

.wpcf7 span {}
.wpcf7-form-control-wrap {display:block; position:relative;}
.wpcf7 span.wpcf7-list-item-label {margin:0 1em 0 0; display:inline-block;}
.wpcf7 span.use_label_element {margin-bottom:20px; display:block;}
.wpcf7 span.wpcf7-not-valid-tip {
	color: #e20808;
	border: 1px solid #e20808;
	font-size: 15px;
	font-size: 1.5rem;
	border-radius: 5px;
	padding: 0.5rem 1rem;
	font-weight: var(--font-bold);
	display: block;
	margin-top: 1.5rem;
	width: fit-content;
}
.wpcf7 span.wpcf7-not-valid-tip-no-ajax {display:none;}
.wpcf7 .wpcf7-not-valid {background-color: #ffefef;border-color: #e20808;}
.wpcf7 .wpcf7-form-control {}

.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {display:none;}
.wpcf7 label {cursor:pointer;}
.wpcf7-list-item {position:relative; display:inline-block;}
.wpcf7-list-item-label {
	padding: 0 0 0 2em;
	display: block;
	position: relative;
	font-weight: var(--font-bold);
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.3;
}
.wpcf7-list-item-label:before {
	width: 1.4em;
	height: 1.4em;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	background-color: var(--color-background);
	border: 2px solid var(--color-blue);
	display: block;
	border-radius: 5px;
}
.wpcf7-list-item-label:after {
	width: 1.4em;
	height: 1.4em;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	background-image: url("images/icon-check.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	display: block;
	border-radius: 5px;
	overflow: hidden;
	transition: all 0.3s;
	opacity: 0;
}
input[type="radio"]:checked + .wpcf7-list-item-label:after,
input[type="checkbox"]:checked + .wpcf7-list-item-label:after {opacity:1;}


img.ajax-loader {display:block; margin:12px auto 0;}

.wpcf7 .sent .form {display:none;}

.section-contact-content .acceptance {
	margin-top: 1rem;
	display: block;
}
.section-contact-content .acceptance a {
	text-decoration: underline;
	padding: 0 0 0 2em;
	color: var(--color-blue);
	display: flex;
	align-items: center;
	column-gap: 1rem;
	width: fit-content;
}
.section-contact-content .acceptance a::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-image: url("images/icon-external-black.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}
.section-contact-content .tel {
	font-size: 48px;
	font-size: 4.8rem;
	font-weight: var(--font-bold);
	margin-top: 1rem;
}


/******************/
/* facebook *******/

/******************/
/* twitter ********/


/******************/
/******************/
/* Media Query ****/

/* ▲ iPad Air4 横（820px） ▼ */

/* ▲ iPhone 6+ 横（736px） ▼ */

/* ▲ Mac OS Safari - Minimum(504px) ▼ */

/* ▲ iPhone 6+ - iPhone 6 414px▼ */

/* ▲ iPod touch 320px ▼ */


/******************/
/******************/
/* fonts **********/


.font-gothic {font-family:'YuGothic', 'Yu Gothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'Helvetica', sans-serif;}
.font-mincho {font-family:'YuMincho', 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN W3', 'Meiryo', 'メイリオ', 'Times New Roman', serif;}
.font-mono {font-family:"Osaka-mono", "MS Gothic", monospace;}
.bold {font-weight:bold;}


/******************/
/******************/
/* Keyframes ******/


@keyframes rotation {
	0% {transform:rotate(0deg);}
	100% {transform:rotate(360deg);}
}
/*
	animation:rotation 1s infinite linear;
*/

@keyframes flash {
	from {opacity:0.3;}
	to {opacity:1;}
}
/*
	animation:flash 1s infinite ease alternate;
*/

@keyframes updown {
	0% {bottom:60px;}
	100% {bottom:80px;}
}
/*
	animation:updown 1.0s ease-in-out infinite alternate;
*/

/* end ************/
/******************/
/******************/

