@charset "UTF-8";

/*
Theme Name: SUNS RECRUIT 2025
Text Domain: suns-recruit-2025
Description: 株式会社オンズ専用ワードプレステーマ
Author: ONZE
Author URI: https://on-ze.com
Theme URI: https://wp-neoclassic.com
Version: 0.9
*/

/******************/
/*
Version.2025-02-10
1. Root 変数指定
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-white:#ffffff;
--color-black:#000000;
--color-dark:#262626;
--color-gray-background:#E6E6E6; /* border */
--color-gray:#EDEDED;
--color-background:#F5F5F5;
--color-red:#AD1E1D;
--color-border:rgba(152,114,65,0.2);
--color-border:#E6E6E6; /* border */
/*--color-border:#cbb8a0;*/
--box-shadow:0 0 4px rgba(0,0,0,0.16);
--font-light:300;
--font-regular:500;
--font-medium:600;
--font-bold:700;
--border-radius:2px;
--border-radius-large:4px;
--letter-spacing:0.14em;
--line-height-large:2.6;
--line-height:1.6;
--line-height-mini:1.2;
--transition:0.6s;
}

/******************/
/******************/
/* 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:#fff;
color:#000000;
color:var(--color-black);
font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'Meiryo', 'メイリオ', 'Helvetica', sans-serif;
font-size:18px;
font-size:1.8rem;
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 {color:var(--color-red);}
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 {}

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 3em 0;
}
table th,
table td {
	padding:1.4em 1em; vertical-align:top;
	border-bottom:2px solid #cccccc; border-color:var(--color-border);
}
table th {vertical-align:top; text-align:left; border-color:var(--color-red); font-weight:var(--font-bold);}
table td {padding-left:2em;}
table tr:last-child th,
table tr:last-child td {
	border:0;
}

table td span {display:block; font-size:15px; font-size:1.5rem;}
table caption {
	text-align:left; padding:8px;
}


	
	

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

/******************/
/******************/
/* 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:#AD1E1D; background-color:var(--color-red); 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;}


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

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

/******************/
/******************/
/* 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 {}
.sticky {}
.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%;}

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

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

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

.site-header {
	width:100%; height:112px;
	background-color:#fff;
	padding:0; display:flex; align-items:center;
	position:relative;
	position:fixed; top:0;
	z-index:9999;
}

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

.header-logo {
	margin:0 1vw 0 0;
}
.header-logo .site-title {
	display:flex;
	align-items:center;
	margin:auto 0; white-space:nowrap; overflow:hidden; position:relative;
	width:20vw; max-width:300px; min-width:240px; height:auto;
	aspect-ratio:100 / 24;
}
.header-logo .site-title a {}
.header-logo .site-title a:hover {color:#AD1E1D; color:var(--color-red);}
.header-logo .site-description {display:none;}

/******************/
/******************/
/* navi ***********/

.site-header .contents {margin:0 0 0 auto; position:relative;}

.header-navi {}
.header-navi {padding:0; display:block;}
.header-navi ul {
	display:flex;
	align-items:center;
	list-style:none; margin:0; padding:0;
	font-size:14px; font-size:1.4rem;
	font-weight:var(--font-bold);
}
.header-navi ul li {margin:0 0.6em;}
.header-navi ul li i {display:block;}
.header-navi ul li.entry {
	font-size:26px; font-size:2.6rem;
	white-space:nowrap;
}

.header-navi ul li a {display:block; padding:0 6px; transition:var(--transition);}
.header-navi ul li a:hover {color:var(--color-red);}

.header-navi ul li.entry a {
	background-color:var(--color-red);
	border:2px solid var(--color-red);
	padding:0.7em 1.5em;
	color:var(--color-white);
}
.header-navi ul li.entry a:hover {border-color:var(--color-red); background-color:#fff; color:var(--color-red);}




.header-toggle {
	display:none;
	background:var(--color-red) url("images/header-toggle.svg") center center no-repeat;
	background-size:55% auto;
	cursor:pointer; position: relative;
	right:0;
	width:52px; height:52px; 
}


.header-toggle span:before {top:12px;}
.header-toggle span:after {bottom:12px;}
.header-toggle i {
	position:absolute; width:36px; height:36px; top:0; left:0; color:transparent;
	transition:all 0.4s;
}


@media (max-width:1200px) {
	.site-header {height:auto; max-height:52px; background:#fff;}
	.site-header .inner {padding:0;}
	.header-logo {margin:0 auto 0 1em;}
	.header-navi {display:none; pointer-events:none;}
	.header-navi.is-active {display:block; pointer-events:all; background-color:#fff;
		position: fixed;
		width: 100%;
		top: 52px;
		padding: 3em;
		min-height: 100%;
	}
	.header-navi ul {display:block; text-align:left; font-size:20px; font-size:2.0rem;}
	.header-navi ul li {margin:0 0 2em 0;}
	.header-navi ul li.entry {text-align:center; margin:2em auto;}
	.header-toggle {display:block;}
	.header-toggle.is-active {background-image:url("images/header-toggle-close.svg");}
}

/******************/
/******************/
/* 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 *********/


.main-footer {
	background:var(--color-background) no-repeat;
	background-image:url("images/decoration-main-footer-02.svg");
	background-position: right bottom;
	background-size:35% auto;
	padding:9vw;
}
.home .main-footer {
	background-image:url("images/decoration-main-footer.svg");
	background-position: left top;
	background-size:70% auto;
}
.main-footer ul {
	display:flex; justify-content:space-between;
}
.main-footer ul li {
	flex-basis:49%;
}
.main-footer ul li a {
	display:flex; align-items:center; position:relative;
	background-color:var(--color-white);
	border:4px solid var(--color-white);
	padding:1em;
	transition:var(--transition);
}
.main-footer ul li a::after {
	content:"";
	position:absolute;
	width:32px; height:32px; right:6px; bottom:6px;
	background-color:var(--color-red);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.main-footer ul li .thumbnail {
	max-width:30%;
	margin:0 1em 0 0;
}
.main-footer ul li .title {
	text-align:left;
	line-height:var(--line-height-mini);
}
.main-footer ul li .title i {
	font-size:40px; font-size:4.0rem;
	display:block;
}
.main-footer ul li .title b {
	color:var(--color-black);
	letter-spacing:var(--letter-spacing);
	font-weight:var(--font-medium);
}
.main-footer ul li a:hover {
	border-color:var(--color-red);
}

@media (max-width:900px) {
	.main-footer {padding:9vw 0;}
}
@media (max-width:700px) {
	.main-footer ul {display:block;}
	.main-footer ul li {display:block; margin:0 0 5% 0;}
}
@media (max-width:600px) {
	.main-footer ul li a {display:block;}
	.main-footer ul li .thumbnail {max-width:100%;}
	.main-footer ul li .thumbnail img {width:100%;}
}

.site-entry {
	background-color:var(--color-red);
	color:#fff;
}
.site-entry a {
	display:block; text-align:center;
	background:var(--color-red) center center no-repeat;
	background-size:cover;
	padding:9em 3em;
}
.site-entry a i {
	font-size:95px; font-size:9.5rem;
}
.site-entry a:hover {
	background-image:url("images/entry-hover.png");
}


.site-footer {
	background-color:var(--color-dark);
	text-align:left; padding:6vw 0 4vw 0; line-height:1.5;
	color:#ffffff;
}
.site-footer .inner {
	display:flex;
	justify-content:space-between;
}

.footer-logo {
	margin:0 auto 3vw 0; line-height:var(--line-height-large);
	max-width:535px;
}
.footer-logo .footer-description {
	margin:3em 0 0 17%;
}
.footer-logo .footer-description a {
	background:url("images/icon-external-white.svg") right 2em center no-repeat;
	background-size:1em auto;
	border:2px solid var(--color-white);
	padding:0.4em 6em 0.4em 4em;
	font-size:12px; font-size:1.2rem;
	font-weight:var(--font-bold);
	display:block;
	width:fit-content;
	border-radius:var(--border-radius-large);
	white-space:nowrap;
}
.footer-logo dl dt {margin:0 auto 1em; width:21vw; max-width:280px;}
.footer-logo dl dt img {width:100%; height:auto;}
.footer-logo dl dt a {}
.footer-logo .footer-description a:hover {
	background-color:var(--color-white);
	color:var(--color-black);
	background-image:url("images/icon-external-black.svg") ;
}
.footer-logo dl dt a:hover {}
.footer-logo dl dd {font-size:15px; font-size:1.5rem; margin:0 auto 1em;}


.footer-navi {position:relative; padding:20px 0 5% 3vw;}
.footer-navi ul {
	clear:both; display:flex;
	flex-wrap:wrap;
	width:auto; margin:0 0 0 auto;
	font-size:16px; font-size:1.6rem;
	font-weight:var(--font-medium);
}
.footer-navi ul li {
	display:block;
	flex-basis:20%;
	white-space:nowrap;
	margin:0 0 1em 0;
}
.footer-navi ul li a {display:inline-block; padding:2px 6px;}
.footer-navi ul li a:hover {color:var(--color-red);}

.footer-navi .link {display:none;}

.footer-scroll {
	position:absolute;
	bottom:-2em; right:1em;
	width:70px; height:70px;
	overflow:hidden;
}
.footer-scroll a {
	display:block;
	padding:80px 0 0 0;
	background:url("images/footer-pagetop.png") 0 0 no-repeat;
	background-size:70px auto;
}


small.site-info {
	clear:both; font-size:12px; font-size:1.2rem; text-align:center; display:block;
	margin:5vw auto 0;
}
small.site-info a {color:#AD1E1D; color:var(--color-red);}
small.site-info a:hover {color:#AD1E1D; color:var(--color-red);}


@media (max-width:900px) {
	.site-footer .inner {display:block;}
	.footer-logo {margin:0 auto 3em; min-width:200px;}
	.footer-logo .footer-description {margin:3em auto 3em; display:none;}
	.footer-logo .footer-description a {margin:0 auto;}
	.footer-navi .link {display:block;margin:3em auto 3em;}
	.footer-navi .link a {margin:0 auto;
		background:url("images/icon-external-white.svg") right 2em center no-repeat;
		background-size:1em auto;
		border:2px solid var(--color-white);
		padding:0.4em 6em 0.4em 4em;
		font-size:12px; font-size:1.2rem;
		font-weight:var(--font-bold);
		display:block;
		width:fit-content;
		border-radius:var(--border-radius-large);
	}
}

@media (max-width:700px) {
	.footer-logo dl dt {margin:0 auto; min-width:200px;}
	.footer-navi ul li {flex-basis:25%;}
	.footer-scroll {display:none;}
}

@media (max-width:600px) {
	.footer-navi ul {padding:0 2em;}
	.footer-navi ul {display:block; font-size:20px; font-size:2.0rem;}
	.footer-navi ul li {flex-basis:100%;}
	.footer-navi ul li a {
		display:block;
		background:url("images/footer-navi-triangle.svg") right bottom no-repeat;
		background-size:1em auto;
	}
}


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

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

.main-header {}
.main-thumbnail {}
.main-content {}
.main-sidebar {}
.main-footer {}


/******************/
/******************/
/* 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:0 auto 1em auto; line-height:1.2; font-weight:var(--font-bold);}

.article h1 {font-size:51px; font-size:5.1rem;}
.article h2 {font-size:46px; font-size:4.6rem;}
.article h3 {font-size:35px; font-size:3.5rem;}
.article h4 {font-size:29px; font-size:2.9rem;}
.article h5 {font-size:25px; font-size:2.5rem;}
.article h6 {font-size:21px; font-size:2.1rem;}

.article p {margin:0 0 2em 0;}

.single-content ul,
.single-content ol {margin:0 0 2em 0; padding:0; list-style:outside;}

.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-content ul li {padding:0 0 0 1.4em; padding-right:1.4em; text-indent:-1.4em;}
.single-content ul li:before {content:""; display:inline-block;
background:url("images/arrow-r-dark.svg") center center no-repeat; width:1em; height:1em; background-size:12px 12px;
vertical-align:middle;
margin:0 0.4em 0 0;
}
.single-content ul li a {color:var(--color-red);}
.single-content ul li a:hover {color:var(--color-red); text-decoration:underline;}

.article ol li {padding:0 0 0 1.6em; text-indent:-1.4em; text-indent:calc(-12px - 0.4em);
	list-style:none;
	counter-increment:number;
}
.article ol li:before {content:counter(number) "."; margin:0 0.4em 0 0;}

.article dl {margin:0 0 2em 0; padding:0;}
.article dl dt {margin:0; position:relative; font-size:1.1em;}
.article dl dd {margin:0 0 1em 0; padding:0;}


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

.article blockquote {
padding:1em;
margin:0 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;}



/******************/
/* 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 {}

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


.page-title {padding:8vw 0 3vw;}
.page-title .title {
	line-height:var(--line-height-mini); text-align:left; margin:0 0 40px 0;
	
}
.page-title .title {
	font-size:22px; font-size:2.2rem;
	font-weight:var(--font-bold);
}
.page-title .title i {
	display:block; font-size:60px; font-size:6.0rem; display:block;
	line-height:1;
	color:var(--color-red);
	margin:0 0 0.2em 0;
}
.page-title .title span {
	display:flex; align-items:center; margin:1em 0 0 0;
}
.page-title .title span::before {
	content:""; width:3em; height:1px; background:var(--color-red);
	margin:0 0.5em 0 0;
}

.page-thumbnail {margin:0 auto 15vw 0; width:100%; max-width:95%; position:relative;}
.page-thumbnail img {width:100%; height:auto; position:relative; z-index:1;}
.page-thumbnail::after {
	content:""; position:absolute;
	left:0; bottom:-65%; width:100%; height:100%;
	background:url("images/decoration-page-thumbnail.svg") left bottom no-repeat;
	z-index:0;
}

.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-background); border-radius:100px;
	padding:0.5em 3em;
}
.page-content {margin:0 0 5vw 0;}



@media (max-width:600px) {
	.page-thumbnail {
		max-width:100%; aspect-ratio:38 / 20;
		
	}
	.page-thumbnail img {width:100%; height:100%;object-fit: cover;}
	.page-title {padding-top:5vw;}
}


.single-window {
	padding:7em 7em; border:1px solid var(--color-border);
	background:#fff;
	border-radius:var(--border-radius);
	border-top-right-radius:var(--border-radius-large);
	border-bottom-left-radius:var(--border-radius-large);
	box-shadow:var(--box-shadow);
}
@media (max-width:900px) {
	.single-window {padding:5vw 7vw;}
}
@media (max-width:600px) {
	.single-window {padding:5vw 5vw;}
}
@media (max-width:460px) {
	.single-window {padding:5vw 3vw;}
}

.single-meta {margin:0 0 1em 0;}
.single-meta .date {line-height:1.3;}


.single-title {
	padding:0 0 1em 0;
	margin:0 0 2em 0; border-bottom:1px solid var(--color-border);
}
.single-title .title {font-size:31px; font-size:3.1rem;}

.single-links {text-align:center; margin:5em auto 7em;}
.single-links span a {font-weight:var(--font-bold);
	display: inline;
	background:linear-gradient(to top, currentColor 1px, transparent 99%) no-repeat;
	background:linear-gradient(to top, var(--color-black), var(--color-black)) no-repeat left bottom 1px;
	transition: var(--transition);
	background-position: 0% 100%;
	background-size: 0% 1px;
}
.single-links .navi-prev,
.single-links .navi-next {display:none;}

.single-links a:hover {
	color:var(--color-black);
	background-size: 200% 1px;
}

.page-content h2.title {margin:0 0 1em 0;}
.page-content h2.title .english {
	display:block;
	color:var(--color-red);
	font-family:"Noto Sans JP";
	font-weight:var(--font-bold);
}
.page-content h2.title .japanese {
	display:block;
	font-size:18px; font-size:1.8rem;
}

.page-content h3 {}

/* #post-ID {} */


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

.section {
	position:relative; display:block; padding:9vw 0; margin:0;
}

.section-title.-center {
	text-align:center;
}
.section-title .title {
	display:block;
	font-size:60px; font-size:6.0rem; line-height:var(--line-height-mini);
	font-weight:var(--font-bold);
	letter-spacing:var(--letter-spacing);
	margin:0 auto 1.3em auto;
}

.section-title .title i {
	font-size:30px; font-size:3.0rem;
	font-weight:var(--font-bold);
	letter-spacing:0;
	margin:0 auto 0 0;
	color:var(--color-red);
	display:block;
}
.section-title p {
	margin:0 auto 7em auto;
	font-weight:var(--font-medium);
}

.section-title .title::after {}
.section-title .subtitle {font-weight:bold;}
.section-title .description {font-size:15px; font-size:1.5rem;}

h4.title span {
	font-size:21px; font-size:2.1rem;
	margin:0.5em auto 0 0;
}
h4.title span b {
	display:flex;
	justify-content:flex-start; align-items:center;
	color:var(--color-black);
}
h4.title span b::before {
	content:"";
	display:block;
	width:2em; height:1px; background:var(--color-red);
	margin:0 0.5em 0 0;
}

@media (max-width:1200px) {
	.section {padding:15vw 0;}
}
@media (max-width:1000px) {
	.section {padding:100px 0;}
}
@media (max-width:600px) {
	.section-title .title {font-size:51px; font-size:5.1rem;}
}
@media (max-width:500px) {
	.section-title .title {font-size:35px; font-size:3.5rem;}
}




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

.section-top-hero {
	position:relative; width:100%; margin:0; padding:0;
}
.section-top-hero::after {
	content:"";
	display:block;
	position:absolute;
	left:0; top:0; width:100%; height:200%;
	background:url("images-page/top-hero-background.webp") 0 0 no-repeat;
	background-size:100% auto;
}

.section-top-hero .hero-title {
	position:absolute;
	left:2.4vw;
	bottom:42%;
	z-index: 5;
}
.section-top-hero .hero-title span {
	display:block; background-color:#fff;
	width:fit-content;
	margin:0 0 12px 0;
	padding:3px 15px 3px 5px;
}
.section-top-hero .hero-title br {display:none;}
.section-top-hero .hero-title .japanese {
	font-weight:var(--font-bold);
	font-size:55px; font-size:5.5rem;
	letter-spacing:var(--letter-spacing);
}
.section-top-hero .hero-title .english {
	font-weight:var(--font-bold);
	font-size:385x; font-size:3.5rem;
	font-family:"Noto Sans JP";
}

.section-top-hero .hero-box {max-width:1400px; margin:0 auto; position:relative;
	padding:0 50px;
	z-index:1;
}
.section-top-hero .hero-box img {box-shadow:var(--box-shadow);}
.section-top-hero .decoration {
	position:absolute;
	left:0; bottom:-3%; width:30%; height:auto;
	z-index:0;
	display:none;
}
.section-top-hero .text {
	position:absolute;
	left:0; bottom:0; width:100%; height:auto;
	overflow:auto;
	overflow: hidden;
	z-index:4;
}

.section-top-hero .text .scroll {
	display: flex;
	white-space: nowrap;
	animation: scroll-text 20s linear infinite;
}

.section-top-hero .text .scroll img {
	display: inline-block;
	flex-shrink: 0;
}

@keyframes scroll-text {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}



.section-top-hero .text img {
	display:block;
	mix-blend-mode: multiply; opacity:0.5;
	width:120%; max-width:120%; height:auto;
}

/**/
@media (min-width:1500px) { 
	.section-top-hero::after {top:-30%; height:300%}
}
@media (max-width:900px) {
	.section-top-hero .hero-title {bottom: 34%;}
	.section-top-hero .hero-title .sp {display:block;}
	.section-top-hero .text img {width:300%; max-width:300%; height:auto;}
}
@media (max-width:700px) { 
	.section-top-hero::after {top:50vw;}
}
@media (max-width:760px) {
	.section-top-hero .hero-title {bottom:24%;}
}
@media (max-width:700px) {
	.section-top-hero .hero-box {padding:0 0 0 50px;}
}


.section-top-about {
	padding-bottom:5vw;
	overflow:hidden;
}
.section-top-about::after {
	content:"";
	position:absolute;
	display:block;
	width:80%;
	height:50%; bottom:0; left:0;
	background-color:var(--color-red);
	z-index:0;
}
.section-top-about .thumbnail {
	max-width:65%;
	margin:0 auto 0 0;	
	position:relative;
	z-index:2;
}
.section-top-about .flex-container {
	position:relative;
	background-color:var(--color-white);
	width:1600px; max-width:75%;
	margin:0 0 0 auto;
	margin-top:-10%;
	/*transform:translateY(-30%);*/
	padding:50px;
	z-index:5;
}
.section-top-about .flex-item {
	padding:50px 25px 0;
}
.section-top-about .flex-item:not(:last-child) {
	border-right:1px solid var(--color-red);
}

.section-top-about .content {

}
.section-top-about .content a {
	display:block;
	background:url("images-page/top-about-triangle.svg") right bottom no-repeat;
	background-size:52px auto;
	padding-bottom:50px;
}
.section-top-about h4 {text-align:center;
	font-size:16px; font-size:1.6rem;
	margin:0 auto 2em;
}
.section-top-about h4 i {
	display:block; color:var(--color-red);
	font-size:40px; font-size:4.0rem; font-weight:var(--font-bold);
	line-height:var(--line-height-mini);
}
.section-top-about p {
	font-size:16px; font-size:1.6rem;
}
.section-top-about .content a:hover {
	background-image:url("images-page/top-about-triangle-black.svg");
}
.section-top-about .content a:hover i {
	color:var(--color-black);
}

@media (max-width:1100px) {
	.section-top-about .flex-container {max-width:85%; padding:50px 25px;}
}
@media (max-width:900px) {
	.section-top-about .flex-container {max-width:90%; padding:40px 20px;}
}
@media (max-width:800px) {
	.section-top-about::after {top:20%; bottom:0; height:auto;}
	.section-top-about .flex-container {display:block; padding:0;}
	.section-top-about .flex-item {padding:30px 15px 15px;}
	.section-top-about .flex-item:not(:last-child) {border:0; border-bottom:1px solid var(--color-red);}
	.section-top-about p {text-align:center; padding:0 2em;}
}

@media (max-width:700px) {
	.section-top-about::after {width:100%;}
	.section-top-about .thumbnail {max-width:100%;}
	.section-top-about .flex-container {margin:0 auto; transform:translateY(-20px); background:transparent;}
	.section-top-about .flex-item {margin:0 0 20px 0; background-color:#fff;}
	.section-top-about .content {background-position:right bottom 20px;}
}

.section-top-interview .flex-container-4 {
	justify-content:space-between;
}
.section-top-interview .flex-container-4 .flex-item {
	flex-basis:22.75%;
}
.section-top-interview dl .thumbnail {
	line-height:1;
	margin:0 0 1em 0;
	position:relative;
}
.section-top-interview dl .thumbnail::after {
	content:"";
	position:absolute;
	display:block;
	width:100%; height:100%;
	top:-3%; left:3%;
	border:2px solid var(--color-red);
	z-index:3;
}
.section-top-interview dl dd {margin:0;}
.section-top-interview dl .name {
	font-size:23px; font-size:2.3rem; font-weight:var(--font-bold);
	text-align:center;
}
.section-top-interview dl .name i {
	font-size:15px; font-size:1.5rem;
	font-weight:var(--font-regular);
	margin:0 0 0 1em;
	white-space:nowrap;
}
.section-top-interview dl .poste {
	display:block;
	font-size:12px; font-size:1.2rem;
	white-space:nowrap;
	width:fit-content;
	margin:0 auto 2em auto;
	font-weight:var(--font-medium);
}
.section-top-interview dl .poste b {
	padding:0.4em 1em; margin:0 1em 0 0;
	background-color:var(--color-red); color:var(--color-white);
	font-weight:var(--font-bold);
}
.section-top-interview dl .link a {
	font-size:14px; font-size:1.4rem;
	font-weight:var(--font-medium);
	border:2px solid var(--color-red);
	color: var(--color-red);
	display:flex;
	margin:0 auto; width:fit-content;
	padding:0.4em 3.2em 0.4em 2em;
	border-radius:var(--border-radius-large);
	background:url("images/arrow-triangle-right-red.svg") right 1em center no-repeat;
	background-size:auto 1em;
}
.section-top-interview dl .link a:hover {
	background-color:var(--color-red); color:#fff;
	background-image:url("images/arrow-triangle-right-white.svg");
}


@media (max-width:900px) {
	.section-top-interview .flex-container-4 .flex-item {
		flex-basis:44.5%;
	}
}
@media (max-width:600px) {
	.section-top-interview .section-title.-center {text-align:left;}
}
@media (max-width:500px) {
	.section-top-interview dl .name i {display:block; margin:0 auto 1em;}
}

.section-top-video {
	padding-bottom:18vw;
	overflow:hidden;
}
.section-top-video .section-content {
	max-width:820px; margin:0 auto;
}
.section-top-video .box {position:relative;}
.section-top-video .box a {position:relative; display:block;}
.section-top-video .box a::before {
	content:"";
	position:absolute; top:0; left:0; right:0; bottom:0;
	background:url("images-page/top-video-hover.webp") 0 0 no-repeat;
	background-size:cover;
	display:block;
	width:100%; height:100%;
	z-index:9;
}
.section-top-video .decoration {
	position:absolute;
	top:0; left:0;
	transform:translateY(50%);
	z-index:-1;
	width:100%; height:100%;
	pointer-events:none;
}
.section-top-video .decoration img {
	max-width:auto;
	position:absolute; top:0; transform: translateY(-50%) scale(1.25);
}
.section-top-video .box a:hover::before {opacity:0;}





.section-top-environment {
	background-color:rgba(245,245,245,0.94);
	padding-bottom:0;
	overflow:visible;
}
.section-top-environment::before {
	content:"";
	position:absolute; right:0; top:-35%;
	width:80%;
	height:100%;
	background:url("images/decoration-top-video.webp") right top no-repeat;
	background-size:100% auto;
	z-index:-2;
}
.section-top-environment ul {
	display:flex; justify-content:space-around;
	width:100%;
}
.section-top-environment ul li {
	flex-basis:33.3333%;
	overflow:hidden;
}
.section-top-environment ul li img.spacer {
	width:100%; height:auto; position:relative;
}
.section-top-environment ul li img.thumbnail {
	width:100%; height:100%; position:absolute;
	object-fit:cover;
	transition:var(--transition);
}

.section-top-environment ul li a {
	background:center center no-repeat;
	background-size:cover;
	display:flex; align-items:center; justify-content:center;
	position:relative;
}
/*
.section-top-environment ul li:nth-child(1) a {background-image:url("images-page/top-environment-01.jpg");}
.section-top-environment ul li:nth-child(2) a {background-image:url("images-page/top-environment-02.jpg");}
.section-top-environment ul li:nth-child(3) a {background-image:url("images-page/top-environment-03.jpg");}
*/
.section-top-environment ul li a::before {
	content:"";
	position:absolute;
	top:0; left:0; right:0; bottom:0;
	background-color:rgba(0,0,0,0.55);
	z-index:3;
}
.section-top-environment ul li a:hover img.thumbnail{
	transform: scale(1.1);
}



.section-top-environment ul li span {
	position:absolute; top:50%; transform:translateY(-50%); text-align:center;
	display:block; color:var(--color-white);
	z-index:5;
}
.section-top-environment ul li i {
	font-size:40px; font-size:4.0rem;
	line-height:var(--line-height-mini);
}
.section-top-environment ul li b {color:var(--color-white); display:block; font-weight:var(--font-medium);}

@media (max-width:1000px) {
	.section-top-environment::before {top:-15%; width:80%;}
}

@media (max-width:800px) {
	.section-top-environment::before {top:-20%;width:100%;}
}
@media (max-width:700px) {
	.section-top-environment::before {top:-5%;}
	.section-top-environment ul{ display:block;}
	.section-top-environment ul li img.spacer {width:50%;}
}



@media (max-width:640px) {
	.section-top-reasons .flex-container {flex-wrap:wrap;}
	.section-top-reasons .flex-container-4 .flex-item {flex-basis:50%; margin:0 0 5% 0;}
}

.section-top-programs {}
.list-programs.flex-container-3 .item {
	flex-basis:30%;
	background-color:var(--color-white);
	border-radius:1vw;
	border-top-right-radius:5vw;
	border-bottom-left-radius:5vw;
	overflow:hidden;
	padding:1em;
}
.list-programs .thumbnail {
	border-radius:1vw;
	border-top-right-radius:calc(5vw - 1em);
	margin:0 auto 1em;
	overflow:hidden;
}
.list-programs .title {
	font-size:19px; font-size:1.9rem;
	line-height:var(--line-height-mini); margin:0 0 0.5em 0;
	padding:0 1vw;
}
.list-programs .title i {display:block; font-size:35px; font-size:3.5rem;}

.list-programs .age {margin:0 0 1em 0; color:var(--color-gray); font-size:13px; font-size:1.3rem;
	padding:0 1vw;
}
.list-programs .text {padding:0 1vw; margin:0; color:var(--color-red);
	line-height:var(--line-height);
}
.list-programs .text {font-family:"Poppins", sans-serif;}

@media (max-width:800px) {
	.list-programs.flex-container-3 .item {flex-basis:100%; margin:0 0 5% 0;}
	.list-programs .thumbnail {float:left; width:40%; margin:0 5% 0 0;}
	.list-programs dd {margin:0 0 0 50%; overflow:hidden;}
	.list-programs .title {padding:1em 0 0 1vw;}
}
@media (max-width:460px) {
	.list-programs .thumbnail {float:none; width:100%; margin:0 0 0.5em 0;}
	.list-programs dd {margin:0 0 0.5em 0;}
}


.section-top-message {
	padding:5vw 0;
	background-color:var(--color-background);
}
.section-top-message::after {
	content:""; display:block; position:absolute;
	top:-3vw; right:0; bottom:-3vw;
	width:40%;
	background:url("images-page/top-message-background.webp") 0 0 no-repeat;
	background-size:contain;
	z-index:1;
}
.section-top-message .flex-container {justify-content:space-between; position:relative;
	z-index: 2;
}
.section-top-message .flex-item:nth-child(1) {flex-basis:65%; z-index:2;}
.section-top-message .flex-item:nth-child(2) {flex-basis:30%; max-width:360px; position:relative; z-index:2;}
.section-top-message .thumbnail {
	position:relative;
	margin-top:3vw;
	margin-bottom:-9vw;
	background-color:#fff;
	padding:1em;
	border-radius:var(--border-radius);
	border-top-right-radius:9vw;
}
.section-top-message .thumbnail .photo {
	overflow:hidden;
	border-radius:var(--border-radius);
	border-top-right-radius:calc(9vw - 1em);
	border:1px solid var(--color-border);
}
.section-top-message .thumbnail .name {
	position:absolute; left:1em; bottom:1em;
	background-color:var(--color-white);
	line-height:var(--line-height);
	padding:1em 3em 0.5em 1em;
	border-top-right-radius:9vw;
}
.section-top-message .thumbnail .name dl {margin:0; line-height:var(--line-height-mini);}
.section-top-message .thumbnail .name dl dt {color:var(--color-red);}
.section-top-message .thumbnail .name dl dd {margin:0;}

@media (max-width:800px) {
	.section-top-message .flex-item {display:contents;}
	.section-top-message .section-content {float:left; width:60%;}
	.section-top-message .thumbnail {float:right; width:35%; margin:0; position:relative;}
	.section-top-message .thumbnail .photo {object-fit:cover; width:100%; height:100%;}
	.section-top-message .thumbnail .photo img {object-fit:cover; width:100%; height:100%;}
}
@media (max-width:640px) {
	.section-top-message .section-content,
	.section-top-message .thumbnail {float:none; width:100%;}
	.section-top-message .thumbnail {float:none; max-width:300px; margin:3vw auto 0;}
}


.section-top-info {padding-bottom:0;}
.section-top-info .flex-container .flex-item {
	flex-basis:47%;
	background-color:#ffffff; padding:3em 2em 1em;
	border-radius:var(--border-radius);
	border:1px solid var(--color-border);
	border-top-right-radius:9vw;
	border-bottom-left-radius:9vw;
}
.section-top-info .title {
	font-size:45px; font-size:4.5rem;
}
.section-top-info .text {
	font-family:"Poppins", sans-serif; color:var(--color-red);
}

@media (max-width:600px) {
	.section-top-info .flex-container {display:block;}
	.section-top-info .flex-container .flex-item {margin:0 0 5% 0;}
}

.section-top-access {}
.section-top-access .box {
	background:var(--color-white);
	border:1px solid var(--color-border);
	padding:3em;
	border-radius:3vw;
	border-top-right-radius:9vw;
}
.section-top-access dl {float:left; width:50%;}
.section-top-access dl dt {line-height:var(--line-height-mini);}
.section-top-access .button {float:right;}

@media (max-width:800px) {
	.section-top-access dl {float:none; width:100%;}
}
@media (max-width:600px) {
	.section-top-access .box {padding:2em;}
}

/*
.section-top-contact .flex-item a {align-items:center; min-height:400px; display:flex; flex-wrap:nowrap; padding:40px;}
.section-top-contact .flex-item a p {margin:0; text-align:center;}
.section-top-contact .flex-item p i {display:block;}
*/
/******************/
/* page.php *******/

.article-message h2.title {
	text-align:center;
	font-size:24px; font-size:2.4rem;
	margin:0 auto 5em;
}
.article-message h2 b {font-size:50px; font-size:5.0rem; margin:0.5em auto 0;
	display: block;
}
.article-message h2 b span {color:var(--color-background); font-size:1.5em;}
.article-message h2 br.sp {display:none;}
.article-message h3 {color:var(--color-red);}
.article-message h3 b {color:var(--color-black); font-size:3rem;}

.article-message section {
	clear:both; display:block;
	padding:5vw 0;
}
.article-message .thumbnail {
	float:right;
	max-width:40%; margin:0 0 5% 10%;
	clear:both;
}
.article-message .thumbnail.-left {
	float:left;
	margin:0 10% 5% 0
}
.article-message .thumbnail img {width:100%;}
.article-message p {
	line-height:var(--line-height-large);
	margin:0 0 1em 0;
	overflow:hidden;
}
.article-message p b {font-weight:var(--font-medium); line-height:var(--line-height);}

.article-message .section-korekara p b {font-size:1.1em;}
.article-message .section-group {
	position:relative;
	text-align:center;
	overflow:visible;
	padding:7vw 0;
}
.article-message .section-group::after {
	content:""; position:absolute;
	display:block;
	left:0; right:0; bottom:0;
	width:100%; height:200%; min-height:100%;
	background:url("images-page/message-group-background.png") center bottom no-repeat;
	background-size:100% auto;
	z-index:-1;
}
.article-message .section-group .label {
	margin:0 auto 2em; width:fit-content;
	background-color:var(--color-background);
	padding:0.2em 1em;
}
.article-message .section-group h3 span {font-size:18px; font-size:1.8rem;color:var(--color-black);}
.article-message .section-group h3 em {display:block; color:var(--color-red);
	font-size:1.5em;
}
.article-message .section-group .sp {display:none;}

@media (max-width:800px) {
	.article-message h2 b {font-size:40px; font-size:4.0rem;}
	
	.article-message .thumbnail,
	.article-message .thumbnail.-left {
		float:none;
		max-width:100%; margin:0 0 5% 0;
		clear:both;
	}
	.article-message .section-group .sp {display:block;}
}
@media (max-width:440px) {
	.article-message h2 b {line-height:var(--line-height-mini); text-align:center; display:block;}
	.article-message h2 br.sp {display:block;}
	.article-message h2 span {position:absolute; left:-1em;}
}


.article-philosophy .inner {max-width:1000px;}
.article-philosophy h2.-margintop {margin-top:4em;}
.article-philosophy h3 {
	font-size:42px; font-size:4.2rem;
	font-weight:var(--font-bold);
	margin:0 0 1em 0;
}

.article-philosophy .box {padding:2em 0; margin:0 0 4em 0;}
.article-philosophy p em {
	font-size:40px; font-size:4.0rem; font-weight:var(--font-bold); line-height:var(--line-height-mini);
}

.article-philosophy dl {margin:6em 0 4em 0 ;}
.article-philosophy dl dt {
	font-size:26px; font-size:2.6rem;
	font-weight:var(--font-bold);
	margin:2em 0 0.5em 0;
}
.article-philosophy dl dt b {
	margin:0 0.5em 0 0;
	/*font-family:"Noto Sans JP";*/
	font-weight:var(--font-bold);
}
.article-philosophy dl dd {
	margin:0 0 0.5em 48px;
	display:flex;
	align-items:flex-start;
	font-weight:var(--font-medium);
}
.article-philosophy dl dd span {
	display:flex; align-items:center; font-weight:var(--font-medium);
	margin:0 0.5em 0 0;
	padding:2px 0.8em 1px;
	background-color:var(--color-gray-background);
	font-size:14px; font-size:1.4rem;
	border-radius:var(--border-radius);
}
.article-philosophy dl dd .label {white-space:nowrap;}
.article-philosophy dl dd .label.-red {background-color:var(--color-red); color:var(--color-white);}

@media (max-width:800px) {
	.article-philosophy dl dd {
		margin:0 0 0.5em 0;
	}
}


.article-work {text-align:center;}
.article-work .page-content {padding:0; margin:0;}
.article-work h2 {color:var(--color-red);}
.article-work h3.-center {text-align: center; margin:4em auto 2em;}
.article-work .flex-container {
	display:flex;
	justify-content:space-between;
	margin:0 auto 4em;
	background:url("images-page/work-triangle.svg") center center no-repeat;
	background-size: 2% auto;
}
.article-work .flex-container .flex-item {
	flex-basis:47%;
	position:relative;
}
.article-work .flex-item .thumbnail {
	line-height:1;
	border:8px solid var(--color-black);
	border-radius:var(--border-radius);
}
.article-work .flex-item .thumbnail img {width:100%; height:auto;}
.article-work .flex-item .label {position:absolute;
	left:0; bottom:1em;
	background: var(--color-black); color:#fff;
	font-weight:var(--font-bold);
	padding:0 2em 0 3em;
}
.article-work .flex-container .flex-item:nth-child(even) .thumbnail {
	border-color:var(--color-red);
}
.article-work .flex-item:nth-child(even) .label {
	background-color:var(--color-red);
}


.article-work .section-work-schedule {
	background-color: var(--color-background);
}
.article-work h3 {
	text-align:left;
	margin:0 auto 2em 0;	
}
.article-work h3 i {
	color:var(--color-red);
	font-size:28px; font-size:2.8rem;
	display: block;
}
.article-work .section-work-schedule .thumbnail {
	box-shadow:var(--box-shadow);
	margin:0 auto 4em;
}

.article-work .section-work-story {
	background:no-repeat;
	background-image:url("images/decoration-top-right-red.svg"), url("images/decoration-bottom-left-black.svg");
	background-position:right top, left bottom;
	background-size:20% auto;
}
.article-work .section-work-story h3 {
	text-align:left;
	margin:0 0 4em 0;
}

.article-work .section-work-story .thumbnail {
	float:left; width:45%;
	transform:translateX(-10%);
	margin:0 5% 5% 0;
	clear:both;
}
.article-work .section-work-story .thumbnail.-right {
	float:right; 
	margin:0 0 5% 5%;
	transform:translateX(10%);
}
.article-work .section-work-story hr {clear:both; margin:0; border:0;}
.article-work .section-work-story dl {
	text-align:left;
	overflow:hidden;
}
.article-work .section-work-story dl dt {
	font-weight:var(--font-bold);
	font-size:24px; font-size:2.4rem;
}
.article-work .section-work-story dl dd {font-size:16px; font-size:1.6rem; margin:0 0 3em 0;}

.article-work .section-work-numbers {
	background: var(--color-background);
}

.article-work .section-work-case {
	background:var(--color-background);
}
.article-work .section-work-case h3 {text-align:center; margin:0 auto 2em;}
.article-work .section-work-case .box {
	background:#fff;
	display:flex; padding:0;
	align-items:center;
	box-shadow:var(--box-shadow);
}
.article-work .section-work-case .box .thumbnail {
	border:6px solid var(--color-red);
	flex-basis:45%;
}
.article-work .section-work-case .box p {
	padding:1em 4em;
	text-align: left;
	font-size:16px; font-size:1.6rem;
}

@media (max-width:800px) {
	.article-work h2.title {margin-bottom:2em; font-size:4.0rem;}
	.article-work p {text-align:left; line-height:var(--line-height-large);}
	.article-work .section-work-story {overflow:hidden;}
	.article-work .section-work-story .thumbnail,
	.article-work .section-work-story .thumbnail.-right {float:none; width:100%;}
	
	.article-work .section-work-case .box {flex-direction:column;}
	.article-work .section-work-case .box .thumbnail {flex-basis:100%;}
	.article-work .section-work-case .box p {padding:5% 2%;}
	
	.article-work .flex-item .thumbnail {border-width:3px;}
}

.article-interview h2 {color:var(--color-red); position:relative;}
.article-interview h2 b {
	position:absolute;
	font-size:2em;
	transform:translate(-70%,-25%);
	color:var(--color-background); z-index:1;
}
.article-interview h2 i {
	position:relative;
	z-index:2;
}
.article-interview .thumbnail {
	max-width:30%; margin:0 0 5% 10%;
	float:right;
	clear:both;
}
.article-interview .thumbnail.-left {
	float:left;
	margin:0 10% 5% 0;
}

.article-interview dl.name dt {
	font-size:23px; font-size:2.3rem; font-weight:var(--font-bold);
	text-align:center;
}
.article-interview dl.name dt i {
	font-size:15px; font-size:1.5rem;
	font-weight:var(--font-regular);
	margin:0 0 0 1em;
}
.article-interview dl .poste {
	display:block;
	font-size:12px; font-size:1.2rem;
	white-space:nowrap;
	width:fit-content;
	margin:0 auto 2em auto;
	font-weight:var(--font-medium);
}
.article-interview dl .poste b {
	padding:0.4em 1em; margin:0 1em 0 0;
	background-color:var(--color-red); color:var(--color-white);
	font-weight:var(--font-bold);
}

.article-interview dl.interview {
	overflow:hidden;
}
.article-interview dl.interview dt {
	font-weight:var(--font-bold);
	font-size:24px; font-size:2.4rem;
	margin:0 0 1em 0;
}
.article-interview dl.interview dd {
	font-size:16px; font-size:1.6rem;
	margin:0 0 4em 0;
}


.article-interview hr {clear:both; margin:0; border:0;}


.article-interview .section-02 {
	padding-top:18vw;
	background:url("images-page/interview-02.webp") right top no-repeat; background-size:50% auto;}
.article-interview .section-03 {
	padding-top:27vw;
	background:url("images-page/interview-03.jpg") 0 0 no-repeat; background-size:50% auto;
	background-position:left top 0;
}
.article-interview .section-03 h2.title {
	text-align:right;
	margin:0 0 1em auto;
}
.article-interview .section-04 {
	position:relative;
	padding-top:20vw;}
.article-interview .section-04::after {
	content:"";
	background:url("images-page/interview-04-background.png") 0 0 no-repeat; background-size:100% auto;
	position:absolute;
	left:0; top:-30vw;
	width:100%; height:100%;
	z-index:-1;
}

@media (max-width:800px) {
	.article-interview .thumbnail,
	.article-interview .thumbnail.-left {
		float:none; max-width:100%;
		margin:0 0 5% 0;
	}
	.article-interview h2 i {margin-left:3em;}
	.article-interview h2 b {transform: translate(0%,-25%);}
	.article-interview dl.name dt {text-align:left;}
	.article-interview dl.name dd {text-align:left;}
	.article-interview dl .poste {margin:0 auto 2em 0;}
}


.article-enviroment h2 {text-align:center;
	color:var(--color-red);
}
.article-enviroment h3 i {
	color:var(--color-red);
	font-size:24px; font-size:2.4rem;
}
.article-enviroment .sp {display:none;}
.article-enviroment .section-training .box {
	box-shadow:var(--box-shadow);
	padding:3em 5em;margin:0 0 2em 0;
}
.article-enviroment .section-training p {padding:0 0 0 4em;}


.article-enviroment .section-enviroment-step {
	background:var(--color-background);
}
.article-enviroment .section-enviroment-step img {max-width:1180px; margin:0 auto;}

.article-enviroment .section-enviroment-story {}
.article-enviroment .section-enviroment-story::before {
	content:"";
	position:absolute; top:9vw; width:100%; height:300%;
	background: url("images-page/enviroment-story-background.webp") 0 0 no-repeat;
	background-size:100% auto;
	z-index:-2;
}
.article-enviroment .section-enviroment-story .box {
	margin:0 0 0 0;
	display:flex;
	align-items: center;
	position:relative;
}
.article-enviroment .section-enviroment-story .box .photo-01 {
	width:560px;
	max-width:35%;
}
.article-enviroment .section-enviroment-story .box p {
	padding:8em 6em; margin:0;
	position:relative;
	font-size:16px; font-size:1.6rem;
}
.article-enviroment .section-enviroment-story .box p::before {
	content:"";
	border:2px solid var(--color-red); 
	border-radius:var(--border-radius);
	position:absolute; top:0; right:0; bottom:0; left:-10%;
	z-index:-1;
}

.article-enviroment .section-enviroment-story .box .photo-02 {
	position:absolute;
	right:-20px; bottom:-60%;
	max-width:320px;
}

.article-enviroment .message {text-align:center; margin-top:15em;}
.article-enviroment .message p {margin-top:4em;}


.article-enviroment .page-content {margin:0;}
.main-content:has(.article-enviroment) + .main-footer {
	background:none;
}

@media (max-width:800px) {
	.article-enviroment .sp {display:block;}
	.article-enviroment .section-training .box {box-shadow:none; padding:0;}
	.article-enviroment .section-training p img {display:none;}
	.article-enviroment .section-training p {padding:0;}
	
	.article-enviroment .section-enviroment-story::before {
		display:none;
	}
	.article-enviroment .section-enviroment-story .box {flex-direction:column; display:block;}
	.article-enviroment .section-enviroment-story .box p {padding:20px 20px 60px;}
	.article-enviroment .section-enviroment-story .box p::before {
		left:0;
		top:-80px;
		bottom:0;
	}
	
	.article-enviroment .section-enviroment-story .box img {margin:0 auto 0 0; position:relative;}
	.article-enviroment .section-enviroment-story .box .photo-01 {max-width:60%; left:-20px;}
	.article-enviroment .section-enviroment-story .box .photo-02 {
		position:relative;
		max-width:55%; right:-20px; top:-20px;
		margin:0 0 0 auto;
	}
	.article-enviroment .section-enviroment-message {
		padding: inherit 0 50vw 0;
	}
	.article-enviroment .section-enviroment-message::before {
		content:"";
		background: url("images-page/enviroment-message-background.webp") 0 0 no-repeat;
		background-size:100% auto;
		position:absolute; top:-55vw; width:100%; height:300%;
		z-index:-2;
	}
}





.article-programs table {
	width:fit-content; min-width:100%;
	table-layout:fixed;
}

.article-company .section-company-info {}
.article-company .section-company-info table th,
.article-company .section-company-info table td {padding:30px 0;}
.article-company .section-company-info table th {font-weight:bold; min-width:200px;}
.article-company .section-company-history ol {columns:2;}


/* .article-profile {} */


.article-walfare h2.title {
	text-align:center; color:var(--color-red);
	margin:0 auto 13vw;
}
.article-walfare h3 {
	text-align:center;
}
.article-walfare h3 i {
	color:var(--color-red);
	font-size:24px; font-size:2.4rem;
}
.article-walfare .flex-container {
	justify-content:flex-start;
	gap:2%;
	margin:0 0 10% 0;
}
.article-walfare .flex-item {
	flex-basis:48%;
	margin:0 0 2% 0;
}
.article-walfare .photo-03 {
	max-width:100%; width:960px;
	margin:0 auto 10% auto;
}
.article-walfare .section-voice {
	position:relative;
}
.article-walfare .section-voice::after {
	content:"";
	position:absolute;
	left:0; right:0; bottom:-5vw;
	width:100%; height:300%;
	background: url("images-page/walfare-voice-decoration.webp") 0 bottom no-repeat;
	background-size:100% auto;
	z-index:-1;
}
.article-walfare .box {
	border:2px solid var(--color-red);
	background:#fff;
	padding:3em;
	margin:4em 0 0 0;
	display:flow-root;
}
.article-walfare .box h3 {
	text-align:center;
}
.article-walfare .box h3 i {
	color:var(--color-red);
	font-size:20px; font-size:2.0rem;
}
.article-walfare .box img {
	float:left; max-width:360px; width:35%;
	margin:0 4em 0 0;
}
.article-walfare .box p {margin-top:5em;}

@media (max-width:800px) {
	.article-walfare .box img {float:none; max-width:100%; width:100%;}
	.article-walfare .box p {margin-top:2em;}
}
@media (max-width:600px) {
	.article-walfare .flex-container {display:block;}
	.article-walfare .flex-item {}
	.article-walfare .photo-03 {max-width:100%;}
}



.article-events .section {
	clear:both;
}
.article-events .section::before {
	content:"";
	position:absolute;
	background-color:var(--color-background);
	width:45%;
	height:auto;
	aspect-ratio:2 / 1.2;
	top:25%; left:0;
	line-height:1;
	z-index:-2;
}
.article-events .section.section-event-02::before {
	left:auto; right:0;
}

.article-events h2 {
	font-size:;
	text-align:center;
}
.article-events h3 {font-size:28px; font-size:2.8rem; color:var(--color-red);}

.article-events .thumbnail {
	max-width:40%;
	margin:0 4em 6em 0;
	position:relative;
	z-index:5;
}
.article-events .thumbnail::after {
	content:"";
	position:absolute;
	background-color:var(--color-red);
	clip-path: polygon(0 0, 100% 0, 0 100%);
	width:30%;
	height:auto;
	aspect-ratio:1 / 1;
	top:-20px; left:-20px;
	line-height:1;
	z-index:1;
}
.article-events .thumbnail.right::after {
	top:-20px; right:-20px; left:inherit;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.article-events .thumbnail.right {margin:0 0 6em 4em;}

.article-events .thumbnail img {position:relative; z-index:2;}
.article-events .box {
	border:2px solid var(--color-red);
	background:#fff;
	margin:0 0 0 5em;
	transform:translateY(5em);
	padding:6em;
	border-radius:var(--border-radius-large);
	position:relative;
	z-index:1;
}
.article-events .box.-right {
	margin:0 5em 0 0;
}
.article-events .label {
	position:absolute;
	right:0; top:0;
	color:var(--color-background);
	font-size:100px; font-size:10.0rem;
	line-height:1;
	transform:translateY(-0.9em);
}
.article-events .box.-right .label {
	right:auto; left:0;
}

@media (max-width:700px) {
	.article-events .thumbnail,
	.article-events .thumbnail.right {max-width:100%; margin:0 20px 0 20px; float:none;}
	.article-events .box,
	.article-events .box.-right {transform:translateY(-20px);
		margin:0 0 0;
		padding:60px 40px 20px;
	}
	.article-events h3 {text-align: center;}
}

.article-requirement .box {
	padding:4em 6em;
	border:1px solid var(--color-border);
	box-shadow:var(--box-shadow);
	border-radius:var(--border-radius-large);
}

@media (max-width:800px) {
	.article-requirement .box {padding:2em;}
}
@media (max-width:600px) {
	.article-requirement table,
	.article-requirement table th,
	.article-requirement table td {display:block;}
	.article-requirement table th {width:fit-content; padding:0 1em 0 0; margin:0 0 0.5em 0;}
	.article-requirement table td {border:0; padding:0 0 1em 0; margin:0 0 1em 0;}
	.article-requirement table tr:last-child th {border-bottom:2px solid var(--color-red);}
}


.article-faq dl {
	margin:0 0 2em 0;
	padding:2em;
	box-shadow: var(--box-shadow);
	border-radius:var(--border-radius);
}
.article-faq dl dt,
.article-faq dl dd {
	position:relative;
	display:flex; justify-content:flex-start;
}


.article-faq dl dt {
	font-size:20px; font-size:2.0rem;
	margin:0 0 1.5em 0;
	align-items:center;
	font-weight:var(--font-medium);
	line-height:var(--line-height-mini);
}
.article-faq dl dd {
	margin:0 0 1em 0; padding:0 0 0;
	align-items:flex-start;
}

.article-faq dl dt::before,
.article-faq dl dd::before {
	content:"Q."; display:flex;
	font-size:20px; font-size:2.0rem;
	align-items:center; justify-content:center;
	color:var(--color-white);
	font-weight:var(--font-bold);
	background-color:var(--color-red) ;
	line-height:1;
	border-radius:var(--border-radius);
	margin:0 1em 0 0;
	position:relative;
	width:52px; height:52px;
	flex-basis:52px;
}

.article-faq dl dd::before {
	content:"A."; 
	background-color:transparent; color:var(--color-black); height:auto;
	top:0.5em;
	min-width:52px;
}


.article-entry .inner {max-width:1000px;}

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



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


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


/******************/
/* 404.php */

body.error404 {overflow:hidden;}
body.error404 #swup {display: contents;}
body.error404 .site-header,
body.error404 .site-footer {display:none;}
.main-404 {
	display: flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	position:fixed;
	top:0; left:0; right:0; bottom:0; padding:5em 3em;
	background-color:var(--color-background);
	color:var(--color-black);
	overflow:auto;
	z-index:99999;
}
.article-404 {
	margin: auto;
	padding:3em 0;
	line-height:var(--line-height-big);
}
.article-404 .logo {text-align:center; margin:0 auto 1.5em;}
.article-404 .logo img {margin:0 auto; width:100%; max-width:310px;}
.article-404 .title {margin:0 auto; font-size:35x; font-size:3.5rem;}
.article-404 .subtitle {margin:0 auto 1.5em; font-size:21px; font-size:2.1rem;}
.article-404 .subtitle::before,
.article-404 .subtitle::after {display:none;}

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

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


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


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

.button {margin:1em 0; font-size:17px; font-size:1.7rem; width:fit-content;}

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

.button a {
	display:flex; justify-content:space-between; align-items:center;
	min-width:190px; padding:0.5em 1.5em 0.5em 1.5em;
	border-radius:50px;
	text-align:left;
	background:var(--color-black);
	border:1px solid; border-color:var(--color-black); color:var(--color-white); position:relative;
	transition:var(--transition);
}
.button a::after {
	content:""; width:1.3em; height:1.3em;
	background:url("images/arrow-right-white.svg") center center no-repeat;
	background-size:100% auto;
	margin:0 0 0 2em;
}
.button a:hover {
	background-color:transparent; color:var(--color-black); cursor:pointer;
}
.button a:hover:after {
	background-image:url("images/arrow-right-black.svg");
}

.button.-red a {
	background-color:var(--color-red);
	border-color:var(--color-red);
	color:var(--color-white);
}
.button.-red a:hover {
	background-color:transparent;
	color:var(--color-red);
}
.button.-red a:hover:after {
	background-image:url("images/arrow-right-red.svg");
}
.button.-gold a {
	background-color:var(--color-red);
	border-color:var(--color-red);
	color:var(--color-white);
}
.button.-gold a:hover {
	background-color:transparent;
	color:var(--color-red);
}

@media (max-width:600px) {
	.button a {min-width:150px;}
}


.button.-right {margin:1em 0 1em auto; text-align:right;}

.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:#AD1E1D; border-color:var(--color-red); color:blue;}
.button.button-success a:hover {background-color:#AD1E1D; background-color:var(--color-red); 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;}


/******************/
/******************/
/* 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;
}

.flex-container {
	margin:0; padding:0; 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%;
}

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


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


.responsive-table {
	width:100%;
	position: relative;
	overflow-y: hidden;
	overflow:scroll;
	-ms-overflow-style:-ms-autohiding-scrollbar;
	width: 100%;
	cursor: grab;
}

.responsive-table:not(.is-overflow)::-webkit-scrollbar {display:none;}
.responsive-table .icon {
	content:""; position:absolute; top:min(30vh,50%); left:50%; width:112px; height:112px; background:url("images/icon-scrollable-jp.svg") center/contain no-repeat; transform:translate(-50%,-50%); z-index:2; backdrop-filter:blur(2px);}
.responsive-table .icon {
	opacity:0; transition:.2s; pointer-events:none; transition-delay:.4s;
}
.responsive-table.is-overflow>.icon {opacity:1;}
.responsive-table.is-overflow>.icon.is-hide {opacity:0;}
[data-current-lang="en"] .responsive-table .icon {background-image:url("images/icon-scrollable-en.svg");}
.responsive-table.is-overflow>.scrollable-icon.is-hide {
	opacity: 0;
}
.responsive-table.is-overflow>.scrollable-icon {
	opacity: 1;
}

/******************/
/* 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:#AD1E1D; background-color:var(--color-red); 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:#AD1E1D; color:var(--color-red); border-bottom:1px solid #ffffff;}
.tab-selector ol li.is-current:hover {background-color:#ffffff; background-color:var(--color-background); color:#AD1E1D; color:var(--color-red);}

.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:#AD1E1D; background-color:var(--color-red);
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGRlZnM+PHN0eWxlPi5jbHN7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48cG9seWdvbiBjbGFzcz0iY2xzIiBwb2ludHM9IjIwIDEuMjUgMTguNzUgMCAxMCA4Ljc1IDEuMjUgMCAwIDEuMjUgOC43NSAxMCAwIDE4Ljc1IDEuMjUgMjAgMTAgMTEuMjUgMTguNzUgMjAgMjAgMTguNzUgMTEuMjUgMTAgMjAgMS4yNSIvPjwvc3ZnPg==");
}




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



.form {clear:both; display:block; margin:0;}
.form table {
	line-height:var(--line-height-mini);
}
.form table th,
.form table td {
	border:0; padding:1.2em 1em; vertical-align:top;
}
.form table th {
	text-align:left;
}
.form table td {}
.form table th b {
	display:inline-block; font-size:12px; font-size:1.2rem;
	padding:0.4em 0.6em 0.2em; margin:0 0 0 1em;
	color:var(--color-white);
	background-color:var(--color-red);
	line-height:1;
}



@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:auto;
	max-width:100%;
	display:block;
	position:relative;
/*-webkit-appearance:none;
appearance:none;*/
padding:1em 1em; margin:0; line-height:var(--line-height);
border:1px solid #f5f5f5;
background-color:var(--color-background);
}


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%;}


.form .buttons {display:flex; justify-content:center; width:80%; max-width:800px; margin:0 auto;}
.form .buttons input {}


input[type="submit"],
input[type="button"] {
	flex-basis:49%; max-width:360px;
	margin:0 auto;
	text-align:center;
	appearance:none;
	display:block;
	text-align:center;
	background-size:1.5em auto;
	background-color:var(--color-red);
	border:2px solid var(--color-red);
	color:#fff;
	padding:1em 3em 1em 3em;
	appearance:none;
	display:block;
	cursor:pointer;
}
input[type="button"] {background-color:#A7A7A7; border-color:#A7A7A7;}



input[type="submit"][disabled],
input[type="submit"][disabled]:hover {
	color:var(--color-gray); background:transparent;
	border-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 #AD1E1D; border-color:var(--color-red);
}

textarea {height:auto; min-height:100px;}
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 #AD1E1D; border-color:var(--color-red);
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:var(--color-white); background-color:var(--color-red);
	font-size:15px; font-size:1.5rem; display:block;
	position:absolute;
	left:1em; bottom:-1em; padding:0.3em 3em;
	border-radius:var(--border-radius);
}
.wpcf7 span.wpcf7-not-valid-tip-no-ajax {display:none;}

.wpcf7 .wpcf7-form-control {}
.wpcf7 .wpcf7-list-item {margin:0 0 16px 0;}

.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 {min-height:20px; line-height:24px; vertical-align:middle; padding:0 0 0 32px; display:inline-block; position:relative;}
.wpcf7-list-item-label:before {width:20px; height:20px; content: ''; position: absolute; left:0; top:0; background-color:#ffffff; background-color:var(--color-background); border:2px solid #cccccc; display:inline-block;}
.wpcf7-list-item-label:after{
width:10px; height:6px; left:6px; top:6px;
border:2px solid #AD1E1D; border-color:var(--color-red);
content:''; position:absolute; transform:rotate(-45deg);
border-top:none; border-right:none; 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;}



/******************/
/* 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;}

i {font-family:"Cormorant", sans-serif;}

i {
	font-family: "Source Sans 3", sans-serif;
	font-optical-sizing: auto;
	font-weight:var(--font-bold);
	font-style: normal;
}
  

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

.noscript {
	display:flex; justify-content:center; align-items:center;
	position:fixed;
	top:0; left:0; right:0; bottom:0;
	background-color:var(--color-green);
	color:#fff;
	line-height:var(--line-height);
	z-index:99999;
}


/******************/
/******************/
/* 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 ************/
/******************/
/******************/

