@charset"utf-8";
/*
SENYO Web Site ver.2  --  Primary CSS
Author : Hideyuki Koyama -MONTAGE lab.(https://www.montagelab.jp)
Latest Updated : 10 May, 2026
*/

/**
 * Table of Contents
 *
 * 1.0 - Typography
 * 2.0 - Elements
 * 3.0 - Alignment
 * 4.0 - Links
 * 5.0 - Navigations
 * 6.0 - layout
 * 7.0 - Clearfix
 * 8.0 - Forms
 * ex. - Media Queries
 *
 */

:root	{
	--color-primary:	#005FA0;
	--color-secondary:	#02B4D6;
	--color-tertiary:	#EB2F16;

	--color-deep:	#120F78;
	--color-bright:	#002E9F;
	--color-light:	#4D6FF3;
	--color-pale:	#7CC8E9;

	--color-location:#1E9F00;
	--color-newbiz:#009f33;
	--color-restaurant:#C7073A;

}

/* **************************************************************************** */
/*
/* 1.0 Typography
/*
/* **************************************************************************** */


/**
 * 1.2 Typo
 */

body,
button,
input,
select,
textarea {
	font-family: "Barlow", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", sans-serif;
	font-size: 1.4rem;
	line-height: 1;
	overflow-wrap:break-word;
	color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 500;
}
h1 + h2,
h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 { margin-top:0 !important;}

h1	{ font-size:3.3rem;}
h2	{ font-size:2.8rem;}
h3	{ font-size:2.4rem;}
h4	{ font-size:2.0rem;}
h5	{ font-size:1.5rem;}
h6	{ font-size:1.4rem;}

article h1,
article h2	{ margin:2em 0 1.5em; line-height:1.8;}
article h3,
article h4	{ margin:3em 0 1em; line-height:1.5;}
article h5,
article h6	{ margin:2em 0 1em; line-height:1.5;}

section h1:first-child, section h2:first-child, section h3:first-child, section h4:first-child, section h5:first-child, section h6:first-child,
.content h1:first-child, .content h2:first-child, .content h3:first-child, .content h4:first-child, .content h5:first-child, .content h6:first-child,
.page-content h1:first-child, .page-content h2:first-child, .page-content h3:first-child, .page-content h4:first-child, .page-content h5:first-child, .page-content h6:first-child,
.entry-content h1:first-child, .entry-content h2:first-child, .entry-content h3:first-child, .entry-content h4:first-child, .entry-content h5:first-child, .entry-content h6:first-child,
.section-content h1:first-child, .section-content h2:first-child, .section-content h3:first-child, .section-content h4:first-child, .section-content h5:first-child, .section-content h6:first-child 
{ margin-top:0 !important;}

p {}
article p { margin-bottom:1.6em; line-height:2.0;}

b,
strong 	{ font-weight: 700;}

em		{ font-style: normal;}

dfn,
cite,
i { font-style: italic;}

blockquote {
	border-left: 4px solid #707070;
	border-left: 4px solid rgba(51, 51, 51, 0.7);
	color: #707070;
	color: rgba(51, 51, 51, 0.7);
	font-size: 18px;
	font-size: 1.8rem;
	font-style: italic;
	line-height: 1.6667;
	margin-bottom: 1.6667em;
	padding-left: 0.7778em;
}

blockquote p { margin-bottom: 1.6667em;}
blockquote > p:last-child { margin-bottom: 0;}

blockquote cite,
blockquote small {
	color: #333;
	font-size: 15px;
	font-size: 1.5rem;
	font-family: "Noto Sans", sans-serif;
	line-height: 1.6;
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 400;
}

address {
	font-style: normal;
	margin: 0;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family: Inconsolata, monospace;
	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre {
	background-color: transparent;
	background-color: rgba(0, 0, 0, 0.01);
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
	line-height: 1.2;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 0.8em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

abbr[title] {
	border-bottom: 1px dotted #eaeaea;
	border-bottom: 1px dotted rgba(51, 51, 51, 0.1);
	cursor: help;
}

mark,
ins 	{ background-color: #fff9c0; text-decoration: none;}

sup,
sub 	{ font-size: 75%; height: 0; line-height: 0; position: relative; vertical-align: baseline;}
sup		{ bottom: 1ex;}
sub		{ top: .5ex;}

small	{ font-size: 75%;}

big		{ font-size: 125%;}




/**
 * - 1.3 Lists
 */

ul,
ol { margin: 1.6em 0 1.6em; list-style-position:outside; line-height:1.6;}

ul { margin-left:0.7em; list-style: none;}

ol { margin-left:1.5em; list-style: decimal;}

li > ul,
li > ol {
	margin: 1em 0 1em 1.3333em;
}
li > ol li:before { content:''; width:0; height:0; border:0 !important;}

nav ul { margin:0;}
h1 + ul,
h2 + ul,
h3 + ul,
h4 + ul,
h5 + ul,
h6 + ul,
h1 + ol,
h2 + ol,
h3 + ol,
h4 + ol,
h5 + ol,
h6 + ol { margin-top:0 !important;}

ul.reset,
ul.reset li,
ol.reset,
ol.reset li { margin:0 !important; padding:0 !important; list-style:none !important; line-height:1;}
ul.reset li:before,
ul.reset li:after { content:''; width:0; height:0; border:0 !important;}

/* Unoedered list */
ul.lr		{ list-style:none; text-align:right;}
ul.lr .l	{ display:inline-block; position:relative; z-index:1; float:left; text-align:left; background-color:#fff;}
ul.lr .r	{ display:inline-block; position:relative; z-index:2; padding:0 0 0 0.5em; text-align:right; background-color:#fff;}
ul.lr li 	{ position:relative;}
ul.lr li:after { position:absolute; top:50%; left:0; content:''; width:100%; border-top:1px dashed #ccc;}

article ul li { position:relative; margin:0 0 0.8em; padding-left:10px;}
article ul li:before { position:absolute; content:''; top:0.4em; left:0; width:4px; height:4px; background-color:#000; border-radius:100%;}
article ol li { position:relative; margin:0 0 0.8em;}

ul.circle	{}
ul.circle li	{ position:relative; padding:0 0 0 1.5em;}
ul.circle li:before	{ position:absolute; top:.1em; left:0; content:''; padding:0.2em 0 0; width:1.2em; height:1.2em; text-align:center; color:#fff; background-color:var(--color-primary); border-radius:50px;}

ul.checklist	{ margin:0; padding:0;}
ul.checklist li	{ position:relative; padding:0px 0 1rem 30px; border-bottom:1px dashed #fff;}
ul.checklist li:before	{ top:0; left:1px; width:22px; height:22px; background:none; border:2px solid #056AAF; border-radius:0;}
ul.checklist li:after	{ position:absolute; top:2px; left:8px; content:''; width:8px; height:14px; border:solid #056AAF; border-width:0 2px 2px 0; transform:rotate(45deg);}

ul.caution li	{ position:relative; padding:0 0 0 1.2em;}
ul.caution li:before	{ position:absolute; top:0; left:0; content:'※'; padding:0; width:auto; height:auto; color:#f00; background:none;}


/* Ordered list */
article ol li { position:relative; margin:0 0 0.8em;}
article ol ul { margin-left:0.4em;}


/* Definition list */
dl { margin-bottom: 1.6em; line-height:1.5;}
dt { margin-bottom: 0.6em; font-weight: bold;}
dd { padding-bottom: 1.6em;}



/**
 * - 1.4 Table
 */
table, th, td	{ border:0;}
table	{
	margin:0 0 1.6em; width:100%;
	border-collapse:collapse; border-spacing:0; border-width:0;
}
th	{ padding:0.6em 0.8em; vertical-align:middle; text-align:left; font-weight:500; line-height:1.5;}
td	{ padding:0.6em 0.8em; vertical-align:middle; text-align:left; font-weight:400; line-height:1.5;}


thead	{ border:0;}
thead th{ 
	padding:1.0em 0.8em;
	background-color:#B3C0E1; 
	border-style:solid; border-width:0 1px 1px 0; border-right-color:#fff; border-bottom-color:var(--color-deep);
}
thead th:first-child	{ border-left:1px solid #B3C0E1;}
thead th:last-child		{ border-right-color:#B3C0E1;}
thead th span	{ position:sticky; left:0;}
thead td { 
	background-color:#e5e9f4; 
	border-style:solid; border-width:0 1px 1px 0; border-right-color:#fff; border-bottom-color:var(--color-deep);
}
thead td:first-child	{ border-left:1px solid #e5e9f4;}
thead td:last-child		{ border-right-color:#e5e9f4;}

tbody th { 
	vertical-align:top;
	border-style:solid; border-color:rgba(18, 15, 120, .5); border-width:0 0 1px 0;
}
tbody td { 
	vertical-align:middle; 
	border-style:solid; border-color:rgba(35, 34, 69, 0.25); border-width:0 0 1px 0;
}

tfoot	{ border-top:3px double var(--color-deep);}
tfoot th { background-color:#B3C0E1; border-right-color:#fff; border-bottom-color:transparent;}
tfoot th:first-child	{ border-left:1px solid #B3C0E1;}
tfoot th:last-child	{ border-right-color:#B3C0E1;}
tfoot td { vertical-align:middle; background-color:#e5e9f4;}

/* - .wp-block-table - */
.wp-block-table	{ margin-bottom:1.6em;}
.wp-block-table table,
.wp-block-table th,
.wp-block-table td	{ border:0;}
.wp-block-table table	{
	margin:0 0 1.6em; width:100%;
	border-collapse:collapse; border-spacing:0; border-width:0;
}
.wp-block-table th	{ padding:0.6em 0.8em; vertical-align:middle; text-align:left; font-weight:500; line-height:1.5;}
.wp-block-table td	{ padding:0.6em 0.8em; vertical-align:middle; text-align:left; font-weight:400; line-height:1.5;}
.wp-block-table caption	{ padding:0.5em 0; line-height:1.5; caption-side:bottom;}

.wp-block-table thead	{ border:0 !important;}
.wp-block-table thead th{ 
	padding:1.0em 0.8em;
	background-color:#B3C0E1; 
	border-width:0 1px 1px 0; border-right-color:#fff; border-bottom-color:var(--color-deep);
}
.wp-block-table thead th:first-child	{ border-left:1px solid #B3C0E1;}
.wp-block-table thead th:last-child		{ border-right-color:#B3C0E1;}
.wp-block-table thead th span	{ position:sticky; left:0;}
.wp-block-table thead td { 
	background-color:#e5e9f4; 
	border-width:0 1px 1px 0; border-right-color:#fff; border-bottom-color:var(--color-deep);
}
.wp-block-table thead td:first-child	{ border-left:1px solid #e5e9f4;}
.wp-block-table thead td:last-child		{ border-right-color:#e5e9f4;}

.wp-block-table tbody th { 
	vertical-align:top;
	border-color:rgba(18, 15, 120, .5); border-width:0 0 1px 0;
}
.wp-block-table tbody td { 
	vertical-align:middle; 
	border-color:rgba(35, 34, 69, 0.25); border-width:0 0 1px 0;
}

.wp-block-table tfoot	{ border-top:3px double var(--color-deep) !important;}
.wp-block-table tfoot th { background-color:#B3C0E1; border-right-color:#fff; border-bottom-color:transparent;}
.wp-block-table tfoot th:first-child	{ border-left:1px solid #B3C0E1;}
.wp-block-table tfoot th:last-child	{ border-right-color:#B3C0E1;}
.wp-block-table tfoot td { vertical-align:middle; background-color:#e5e9f4;}

/* - テーブル内の要素 - */
table caption	{ padding:0.5em 0; line-height:1.5; caption-side:bottom;}
table p	{ margin:0;}

table ul,
table ol { margin:.6em 0 .6em 0em; list-style-position:outside; line-height:1.25;}
table ul li:before { top:4px !important;}

table.text-align-center,
table.text-align-center th,
table.text-align-center td,
tr.center th,
tr.center td,
th.center,
td.center { text-align:center;}

/* - テーブルの横スクロール - */
.horizontal-scroll	{ position:relative; margin:0 0 5rem; width:100%; overflow-x:scroll;}
.horizontal-scroll table	{ margin:0 0 8px; table-layout:auto;}
.horizontal-scroll::-webkit-scrollbar			{ height:5px;}
.horizontal-scroll::-webkit-scrollbar-track	{ background:rgba(0,0,0,.2); border-radius:10px;}
.horizontal-scroll::-webkit-scrollbar-thumb	{ background:var(--color-deep); border-radius:10px;}



/**
 * - 1.5 Decoration
 */

.not	{ margin-top:0 !important; vertical-align:top;}
.nor	{ margin-right:0 !important;}
.nob	{ margin-bottom:0 !important;}
.nol	{ margin-left:0 !important;}

.nobt	{ border-top:none !important;}
.nobr	{ border-right:none !important;}
.nobb	{ border-bottom:none !important;}
.nobl	{ border-left:none !important;}

.bt		{ border-top:1px solid #ccc !important;}
.br		{ border-right:1px solid #ccc !important;}
.bb		{ border-bottom:1px solid #ccc !important;}
.bl		{ border-left:1px solid #ccc !important;}

.lead 	{ font-size:1.6rem;}
.attention { color:#f00;}
.note		{ font-size:13px; font-size:1.3rem; line-height:1.5; color:#666;}
.caption	{ font-size:13px; font-size:1.3rem; line-height:1.5; color:#666;}
.wp-caption-text{ margin:0.8rem 1.2rem 1.6rem; font-size:13px; font-size:1.3rem; line-height:1.5 !important; color:#666;}

.border 	{ border-bottom:1px solid #999;}
.bordered 	{ padding:0.8em; border:1px solid #6699FF; border-radius:5px;}


h2.bounce-primary	{ position:relative; padding:12px 0; font-size:2.8rem;}
h2.bounce-primary:before	{ 
	position:absolute; top:0; left:-18px; content:'';
	width:272px; height:72px;
	background:url(../img/common/bounce-primary.svg) no-repeat 0 0 / auto 100% ;
}
h2.bounce-secondary	{ position:relative; padding:24px 0 0; font-size:2.8rem;}
h2.bounce-secondary:before	{
	position:absolute; top:0; left:-6px; content:'';
	width:210px; height:28px;
	background:url(../img/common/bounce-secondary.svg) no-repeat 0 0 / auto 100% ;
}

.filled,
.obi		{ position:relative; padding:0.8em 2.0rem; background-color:#fff; border-radius:8px;}
.filled:before,
.obi:before	{
	position:absolute; top:calc(50% - 6px); left:0; content:''; width:0; height:0; border:solid transparent; border-width:6px 0 6px 10px; border-left-color:#002E9F;
}
.filled:after,
.obi:after	{
	position:absolute; top:calc(50% - 6px); right:0; content:''; width:0; height:0; border:solid transparent; border-width:6px 10px 6px 0; border-right-color:#02B4D6;
}
.obi.fill-pale		{ background-color:var(--color-pale);}
.obi.fill-pale:before	{ border-left-color: var(--color-bright);}
.obi.fill-pale:after	{ border-right-color:var(--color-secondary);}
h3.filled	{ font-size:1.8rem;}


.filledwrap .filled { background-color:#fff;}


/* color */
.dark	{ color:#000;}
.pale	{ color:#999;}

/* family */
.serif	{ font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.sans	{ font-family: "Barlow", Helvetica, sans-serif;}

/* style */
.normal	{ font-style: normal;}
.italic	{ font-style: italic;}





/* **************************************************************************** */
/*
/* 2.0 Elements
/*
/* **************************************************************************** */

::selection {background:#CDD3CD; color:#fff;}
::-moz-selection { background:#CDD3CD; color:#fff;}

hr {
	position:relative;
	margin:0; padding:40px 0; height:1px;
	background:transparent; border:0;
}
hr:before	{ position:absolute; top:50%; left:0; content:''; width:100%; height:0; border-top:1px solid rgba(51, 51, 51, 0.1);}
hr.none { background-color:transparent;}

img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}
.image img { width:100%;}

figure 		{ margin:0; padding:0;}
figure img 	{ width:100%; height:auto;}
figcaption 	{}

del { opacity: 0.8;}





/* **************************************************************************** */
/*
/* 3.0 Alignments
/*
/* **************************************************************************** */

.float-left {
	float:left; display:inline-block;
	margin:0 0 1em 0;
}

.float-right {
	float:right; display:inline-block;
	margin:0 0 1em 0;
}

.float-center {
	display:inline-block;
	margin-right:auto;
	margin-left:auto;
	margin-bottom:1em;
}

.align-left		{ text-align:left;}
.align-right	{ text-align:right;}
.align-center	{ text-align:center;}




/* **************************************************************************** */
/*
/* 4.0 Links
/*
/* **************************************************************************** */

a {
	color:#000;
	text-decoration: none;
	word-break:break-all;
	outline:none;
	transition:all 0.2s ease;
}

a:hover,
a:focus {
	color: var(--color-secondary);
}

nav a { text-decoration:none;}

.entry-content a	{ color:var(--color-bright); text-decoration:underline; text-underline-offset:2px;}
.page-content a		{ color:var(--color-bright); text-decoration:underline; text-underline-offset:2px;}


/* 外部リンク */
.page-content a[target="_blank"]	{ position:relative; display:inline-block; margin:0 4px 0 0; padding:0 18px 0 0; color:var(--color-bright); text-decoration:underline; text-underline-offset:2px; text-decoration-color:var(--color-bright);}
.page-content a[target="_blank"]:before	{ position:absolute; top:calc(50% - 8px); right:2px; content:''; width:12px; height:12px; background:url(../img/common/outbound--ss.svg) no-repeat center / 12px auto; transition:all 0.2s ease;}
.page-content a[target="_blank"]:hover	{ color:var(--color-secondary);}

.entry-content a[target="_blank"]	{ position:relative; display:inline-block; padding:0 18px 0 0; color:var(--color-bright); text-decoration:underline; text-underline-offset:2px; text-decoration-color:var(--color-bright);}
.entry-content a[target="_blank"]:before	{ position:absolute; top:calc(50% - 8px); right:2px; content:''; width:12px; height:12px; background:url(../img/common/outbound--ss.svg) no-repeat center / 12px auto; transition:all 0.2s ease;}
.entry-content a[target="_blank"]:hover	{ color:var(--color-secondary);}

.entry-content a[target="_blank"]:has(img)	{ padding:0;}
.entry-content a[target="_blank"]:has(img):before	{ background:none;}
.entry-content a[target="_blank"]:has(img):hover	{ opacity:0.7;}

/* wp-block-button */
.wp-block-button	{ line-height:1;}
.wp-block-button a	{
	position:relative; display:inline-block; padding:1.0em 3rem; min-width:180px;
	text-decoration:none; letter-spacing:0.05em; color:#fff; 
	background-color:var(--color-deep); border:0; border-radius:8px;
	box-sizing:border-box;
}
.wp-block-button a:hover	{ color:#fff; background-color:var(--color-light);}

.wp-block-button a[target="_blank"]	{ padding:1.0em 3rem; color:#fff; text-decoration:none;}
.wp-block-button a[target="_blank"]:before	{ position:absolute; top:calc(50% - 14px); right:12px; content:''; width:15px; height:15px; background:url(../img/common/outbound-white--ss.svg) no-repeat center / 15px;}
.wp-block-button a[target="_blank"]:hover	{ color:#fff !important;}
.entry-content .wp-block-button a[target="_blank"]	{ padding:1.0em 3rem; color:#fff; text-decoration:none;}
.entry-content .wp-block-button a[target="_blank"]:before	{ top:calc(50% - 14px); right:12px;}
.entry-content .wp-block-button a[target="_blank"]:hover	{ color:#fff;}

.wp-block-buttons	{ padding:1rem 0;}




/* **************************************************************************** */
/*
/* 5.0 Navigation
/*
/* **************************************************************************** */

/**
 * - Bread crumb navigation
 */

.breadcrumb	{ position:relative; z-index:1; padding: 0 4%;}
.breadcrumb ul	{ margin:0 auto; max-width:1600px; text-align:left; font-size:1.2rem;}
.breadcrumb li	{ display:inline-block; margin:0 0.5rem 0.5em 0; line-height:1;}
.breadcrumb li a,
.breadcrumb li span	{ display:block; position:relative; padding:0 22px 0 0;}
.breadcrumb li a > span	{ padding:0;}
.breadcrumb li a:after	{ position:absolute; top:calc(50%); right:0; content:''; width:16px; height:0; border-top:1px solid var(--color-deep);}
.breadcrumb li a:hover	{}



/**
 * - Header navigation
 */

#headnav { display:none;}
#headnav ul	{ font-size:0;}
#headnav li { display:inline-block; vertical-align:top; padding:0 1rem; font-size:1.2rem; font-weight:500;}
#headnav li a	{ position:relative; display:block; padding:1rem 0; color:#000;}
#headnav li a:before	{ position:absolute; bottom:0; left:50%; content:''; width:0; height:0; border-bottom:2px solid var(--color-bright); transition:all 0.2s ease;}
#headnav li a:hover:before	{ left:0; width:100%;}

#headnav li label input[type="checkbox"]	{ display:none;}
#headnav li label span	{ position:relative; display:block; padding:1rem 0; cursor:pointer;}
#headnav li label span:before	{ position:absolute; bottom:0; left:50%; content:''; width:0; height:0; border-bottom:2px solid var(--color-bright); transition:all 0.2s ease;}
#headnav li label:hover		{ color:var(--color-secondary);}
#headnav li label:hover span:before	{ left:0; width:100%;}
#headnav li label input[type="checkbox"]:checked + span	{ color:var(--color-secondary);}
#headnav li label input[type="checkbox"]:checked + span:before{	left:0; width:100%;}

#headnav li.hn-contact	{ padding:0 0 0 1rem;}
#headnav li.hn-contact a	{ padding:1rem 3.0rem 1rem 2.0rem; color:#fff; background-color:var(--color-bright); border-radius:50px; }
#headnav li.hn-contact a:before	{ border:0;
	top:calc(50% - 8px); left:auto; right:12px;
	width:16px; height:16px;
	background: url(../img/common/icon-mail.svg) no-repeat center / auto 16px;
	transition:all 0.4s ease;
}
#headnav li.hn-contact a:hover	{ background-color:var(--color-light);}
#headnav li.hn-contact a:hover:before	{ transform:translate(3px,-3px);}

.home #headnav li.hn-home	{ display:none;}
#headnav li.current-menu-item a:before	{ left:0; width:100%;}
.page-product-info #headnav li.hn-product a:before,
.page-ferriswheel #headnav li.hn-product a:before,
.single-ferriswheel #headnav li.hn-product a:before,
.tax-product-group #headnav li.hn-product a:before,
.single-product #headnav li.hn-product a:before,
.page-location #headnav li.hn-location a:before,
.page-new-business #headnav li.hn-newbusiness a:before,
.page-restaurant #headnav li.hn-restaurant a:before,
.ancestor-company #headnav li.hn_company label span:before,
.post-type-archive #headnav li.hn-news a:before,
.single-post #headnav li.hn-news a:before	{ left:0; width:100%;}



/**
 * - header mega menu
 */
#headnav .mega-menu	{ 
	visibility:hidden; opacity:0;
	position:absolute; top:60px; left:0; z-index:12; width:100%;
	background-color:#ddd; border-radius:8px; box-shadow:0 4px 16px rgba(0,0,0,.06);
	transition:all 0.3s ease; transform:translateY(40px);
}
#headnav .mega-menu.show	{ 
	visibility:visible; z-index:-1; opacity:1; transform:translateY(0);
}

#headnav .mega-menu .section-content	{
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	padding:3rem 3%;
}
#headnav .mega-menu .section-header	{ width:26%; text-align:left;}
#headnav .mega-menu .section-header p	{}
#headnav .mega-menu .section-header .en { font-size:2.1rem; font-style:italic; color:var(--color-primary);}
#headnav .mega-menu .section-header .jp	{ font-size:3.3rem; font-weight:700; letter-spacing:0.08em;}
#headnav .mega-menu .content	{ width:74%; border-left:1px solid #fff;}
#headnav .mega-menu .content .menu	{ display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start;}
#headnav .mega-menu .content li	{ margin:0 0 0 1%; padding:1rem 0; width:32%; text-align:left;}
#headnav .mega-menu .content li a	{ padding:0; border:0; color:#000;}
#headnav .mega-menu .content li a:before	{ border:0;}
#headnav .mega-menu .content figure	{}
#headnav .mega-menu .content figure img	{ aspect-ratio:5 / 3; object-fit:cover; border-radius:8px; transition:all 0.2s ease;}
#headnav .mega-menu .content figure img	{ display:none;}
#headnav .mega-menu .content figcaption 	{ position:relative; z-index:2; margin-top:-24px; padding:1em 1em; font-weight:500; background-color:#fff; border-radius:8px;}
#headnav .mega-menu .content figcaption 	{ margin-top:0;}
#headnav .mega-menu .content figcaption:before	{ 
	position:absolute; top:calc(50% - 12px); right:14px; content:''; width:24px; height:24px; 
	border:1px solid var(--color-primary); border-radius:50px;
	transition:all 0.2s ease;
}
#headnav .mega-menu .content figcaption:after	{ 
	position:absolute; top:calc(50% - 12px); right:14px; content:''; width:24px; height:24px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
#headnav .mega-menu .content a:hover figure img { transform:translateY(-14px);}
#headnav .mega-menu .content a:hover figcaption:before	{ border-color:var(--color-secondary); border-width:12px;}
#headnav .mega-menu .content a:hover figcaption:after	{ background-image:url(../img/common/arrow--small-wh.svg);}

.page-message #headnav .mega-menu .content li.hn-sub-message a figure img,
.page-philosophy #headnav .mega-menu .content li.hn-sub-philosophy a figure img,
.page-outline #headnav .mega-menu .content li.hn-sub-outline a figure img,
.page-safety-and-technology #headnav .mega-menu .content li.hn-sub-safety a figure img,
.page-business #headnav .mega-menu .content li.hn-sub-business a figure img,
.page-archivements #headnav .mega-menu .content li.hn-sub-archivements a figure img	{ filter: brightness(50%); transform:translateY(0) !important;}
.page-message #headnav .mega-menu .content li.hn-sub-message a figcaption:before,
.page-philosophy #headnav .mega-menu .content li.hn-sub-philosophy a figcaption:before,
.page-outline #headnav .mega-menu .content li.hn-sub-outline a figcaption:before,
.page-safety-and-technology #headnav .mega-menu .content li.hn-sub-safety a figcaption:before,
.page-business #headnav .mega-menu .content li.hn-sub-business a figcaption:before,
.page-archivements #headnav .mega-menu .content li.hn-sub-archivements a figcaption:before	{ border-color:var(--color-primary); border-width:12px;}
.page-message #headnav .mega-menu .content li.hn-sub-message a figcaption:after,
.page-philosophy #headnav .mega-menu .content li.hn-sub-philosophy a figcaption:after,
.page-outline #headnav .mega-menu .content li.hn-sub-outline a figcaption:after,
.page-safety-and-technology #headnav .mega-menu .content li.hn-sub-safety a figcaption:after,
.page-business #headnav .mega-menu .content li.hn-sub-business a figcaption:after,
.page-archivements #headnav .mega-menu .content li.hn-sub-archivements a figcaption:after	{ background-image:url(../img/common/arrow--small-wh.svg);}



/**
 * - page category navigation
 */
.category-menu	{ 
	position:relative; z-index:1; padding:10rem 4%; width:100%;
	background-color:var(--color-secondary);
}
.category-menu:before	{ position:absolute; top:-92px; left:0; content:''; width:100%; height:184px; background:url(../img/common/separator-aside-company-up.svg) no-repeat center center / 101% auto;}
.category-menu:after	{ position:absolute; bottom:-92px; left:0; content:''; width:100%; height:184px; background:url(../img/common/separator-aside-company-bottom.svg) no-repeat center center / 101% auto;}
.category-menu .section-content	{ margin:0 auto; max-width:1600px;}
.category-menu .section-header	{ margin:0 0 2rem; text-align:left;}
.category-menu .section-header p	{}
.category-menu .section-header .en	{ padding:8px 0; font-size:2.1rem; font-weight:700; font-style:italic; text-transform:uppercase; color:rgba(255,255,255,.5);}
.category-menu .section-header .jp	{ font-size:3.3rem; font-weight:700; letter-spacing:0.08em; color:#fff;}
.category-menu .content .menu	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; margin:0; padding:0;}
.category-menu .content li	{ margin:0; padding:1rem 0; width:49%; text-align:left;}
.category-menu .content li a	{ border:0; color:#000;}
.category-menu .content li a:before	{ border:0;}
.category-menu .content figure	{}
.category-menu .content figure img	{ aspect-ratio:5 / 3; object-fit:cover; border-radius:8px; transition:all 0.2s ease;}
.category-menu .content figure img	{ display:none;}
.category-menu .content figcaption 	{ position:relative; z-index:2; margin-top:-24px; padding:1em 1em; font-size:1.3rem; font-weight:500; background-color:#fff; border-radius:8px;}
.category-menu .content figcaption 	{ margin-top:0;}
.category-menu .content figcaption:before	{ 
	position:absolute; top:calc(50% - 12px); right:14px; content:''; width:24px; height:24px; 
	border:1px solid var(--color-primary); border-radius:50px;
	transition:all 0.2s ease;
}
.category-menu .content figcaption:after	{ 
	position:absolute; top:calc(50% - 12px); right:14px; content:''; width:24px; height:24px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
.category-menu .content a:hover figure img { transform:translateY(-8px);}
.category-menu .content a:hover figcaption:before	{ border-color:var(--color-secondary); border-width:12px;}
.category-menu .content a:hover figcaption:after	{ background-image:url(../img/common/arrow--small-wh.svg);}

.page-message .category-menu .content li.cn-sub-message a figure img,
.page-philosophy .category-menu .content li.cn-sub-philosophy a figure img,
.page-outline .category-menu .content li.cn-sub-outline a figure img,
.page-safety-and-technology .category-menu .content li.cn-sub-safety a figure img,
.page-business .category-menu .content li.cn-sub-business a figure img,
.page-archivements .category-menu .content li.cn-sub-archivements a figure img	{ filter: brightness(50%); transform:translateY(0) !important;}
.page-message .category-menu .content li.cn-sub-message a figcaption:before,
.page-philosophy .category-menu .content li.cn-sub-philosophy a figcaption:before,
.page-outline .category-menu .content li.cn-sub-outline a figcaption:before,
.page-safety-and-technology .category-menu .content li.cn-sub-safety a figcaption:before,
.page-business .category-menu .content li.cn-sub-business a figcaption:before,
.page-archivements .category-menu .content li.cn-sub-archivements a figcaption:before	{ border-color:var(--color-primary); border-width:12px;}
.page-message .category-menu .content li.cn-sub-message a figcaption:after,
.page-philosophy .category-menu .content li.cn-sub-philosophy a figcaption:after,
.page-outline .category-menu .content li.cn-sub-outline a figcaption:after,
.page-safety-and-technology .category-menu .content li.cn-sub-safety a figcaption:after,
.page-business .category-menu .content li.cn-sub-business a figcaption:after,
.page-archivements .category-menu .content li.cn-sub-archivements a figcaption:after	{ background-image:url(../img/common/arrow--small-wh.svg);}



/* >= 720px                             */
@media screen and (min-width: 720px) {
	
	.category-menu .content .menu	{ display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start; margin:0; padding:0;}
	.category-menu .content li	{ margin:0 1% 0 0; padding:1rem 0; width:32%;}
	.category-menu .content figcaption 	{ font-size:1.4rem;}
	.category-menu .content a:hover figure img { transform:translateY(-14px);}

}

/* >= 1024px                             */
@media screen and (min-width: 1024px) {

	#headnav	{ display:block;}
	#headnav .mega-menu	{ top:78px;}
	.category-menu .section-content	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.category-menu .section-header	{ width:26%;}
	.category-menu .content	{ width:74%; border-left:1px solid rgba(255,255,255,.5);}
	.category-menu .content li	{ margin:0 0 0 1%;}

}

/* >= 1280px                             */
@media screen and (min-width: 1280px) {

	#headnav li.hn-contact	{ padding:0 0 0 2rem;}
	#headnav li { padding:0 1.4rem; font-size:1.3rem;}
	#headnav li.hn-contact a	{ padding:1rem 4.0rem 1rem 3.4rem;}
	#headnav li.hn-contact a:before	{ right:20px;}

}

/* >= 1440px                            */
@media screen and (min-width: 1440px) {

	#headnav li { font-size:1.4rem;}
	#headnav li.hn_contact a	{ padding:1rem 4.4rem 1rem 3.4rem;}
	#headnav .mega-menu	{ top:84px;}
	.category-menu .content figcaption 	{ font-size:1.5rem;}

}

/* >= 1660px                            */
@media screen and (min-width: 1660px) {

	#headnav li { padding:0 2rem; font-size:1.5rem;}
	.category-menu	{ padding:16rem 4%;}
	.category-menu:before	{ top:-136px; height:272px;}
	.category-menu:after	{ bottom:-136px; height:272px;}

}



/**
 * - post navigation
 */
.post-navigation	{ position:relative; margin:0 auto 2rem; padding:42px 5%; text-align:left; font-size:0;}
.post-navigation:before	{ position:absolute; top:0; left:20%; content:''; width:60%; height:0; border-top:4px solid #e4e4e4;}
.post-navigation a	{ display:block; padding:1rem; color:#000;}
.post-navigation a:hover { border-color:#f00;}
.nav-links .meta-nav	{ position:relative; margin:0 0 1rem; padding:0 16px; font-size:1.2rem; line-height:1.25;}
.nav-links .meta-nav:before	{ position:absolute; bottom:-2px; left:0; content:''; width:80px; height:0; border-bottom:1px solid #0D6FB2;}
.nav-links .meta-nav:after	{ position:absolute; bottom:-2px; left:5px; content:''; width:0; height:12px; border-left:1px solid #0D6FB2; transform: skewX(-45deg);}
.nav-next .meta-nav:after	{ position:absolute; bottom:-2px; left:74px; content:''; width:0; height:12px; border-left:1px solid #0D6FB2; transform: skewX(45deg);}
.nav-links .post-title	{ font-size:1.3rem;line-height:1.25;}
.nav-previous,
.nav-next	{ display:block; vertical-align:top; margin:1em 0 10px; line-height:1.5; border:1px solid #999;}
.nav-previous p,
.nav-next p	{ margin:0; padding:0; border:0;}
.nav-archive { text-align:center;}
.nav-archive a	{ 
	position:relative; display:block; margin:0 auto; padding:1.5rem 1em; width:80%; max-width:300px;
	text-align:center; font-size:1.2rem; color:#fff !important;
	background:#003FC3; 
}
.nav-archive a:before	{ position:absolute; top:calc(50% - 8px); left:20px; content:''; width:16px; height:16px; background:url(../img/common/icon-archive-list.svg) no-repeat center center /16px auto;}
.nav-archive a:hover	{ background-color:rgba(13,111,178,.7);}



/**
 * - Archive pagenavi
 */
.pagination { clear:both; margin:40px 0 8rem 0; padding:8px 0 0 0; font-size:0; line-height:1.2;}
.nav-links	{ font-size:1.3rem;}
.nav-links a:hover	{ border-color:var(--doshisha-color-bright);}
.page-numbers	{ 
	display:inline-block; vertical-align:top; padding:8px 19px; 
	color:var(--color-primary);
	border:1px solid var(--color-primary); border-radius:25px;
	background:#fff;
	transition:all 400ms ease;
}
.page-numbers.current { background-color:var(--color-deep); border-color:var(--color-deep);}
.meta-nav		{}
.prev		{}
.next		{}

.wp-pagenavi	{ text-align:left; font-size:0; line-height:1;}
.wp-pagenavi a, .wp-pagenavi span { 
	display:inline-block; vertical-align:top;
	margin:2px; padding:13px 0 0; width:40px; height:40px;
	text-align:center; font-size:1.3rem; text-decoration:none;
	color:var(--color-primary);
	font-weight:normal;
	background-color:transparent; border:1px solid var(--color-primary); border-radius:50px; box-sizing:border-box;
}
.wp-pagenavi a:active,
.wp-pagenavi a:visited	{}
.wp-pagenavi a:hover	{ padding:9px 0 0; border-width:5px;}

.wp-pagenavi a.previouspostslink	{}
.wp-pagenavi a.nextpostslink	{}
.wp-pagenavi a.first,
.wp-pagenavi a.last		{ width:4em; font-size:12px;}

.wp-pagenavi span.pages	{ min-width:4em; font-size:12px;}
.wp-pagenavi span.current {
	color:#fff;
	background:var(--color-primary);
}
.wp-pagenavi span.extend {}



/**
 * - Footer sitemap
 */



/**
 * - sns
 */

.sns ul,
ul.sns { margin:0; padding:0;}
.sns li	{ display:inline-block; vertical-align:middle; margin:0 3% 4px; padding:0;}
.sns li:before	{ background:none; border:0;}
.sns li a	{ 
	display:block; width:44px; height:44px; font-size:0; 
	background-color:#fff; background-repeat:no-repeat; background-position:center center; background-size:23px; 
	border:0 solid #fff; border-radius:100%;
}
.sns li.fb a	{ background-image:url(../img/common/icon-fb.png);}
.sns .fb a:hover { opacity: 0.8;}
.sns .tw a	{ background-image:url(../img/common/icon-tw.png);}
.sns .tw a:hover { opacity: 0.8;}
.sns .ln a	{ background-image:url(../img/common/icon-ln.png);}
.sns .ln a:hover { opacity: 0.8;}
.sns .yt a	{ background-image:url(../img/common/icon-yt.png);}
.sns .yt a:hover { opacity: 0.8;}
.sns .ig a	{
	background:url(../img/common/icon-ig.png) no-repeat center center / 40px,linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background:url(../img/common/icon-ig.png) no-repeat center center / 40px, radial-gradient(circle farthest-corner at 32% 106%, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), linear-gradient(135deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);
}
.sns .ig a	{
	background:#fff url(../img/common/icon-ig.png) no-repeat center center / 40px;
}



/**
 * - Buttons
 */

div.btn	{ display:block; text-align:center;}
div.btn a	{ 
	position:relative; display:inline-block; padding:2.0rem 3rem; min-width:240px; 
	text-align:left; text-decoration:none; letter-spacing:0.05em; color:#000; 
	background-color:transparent; 
	border:2px solid var(--color-primary); border-radius:8px;
}
div.btn a:before	{ 
	position:absolute; top:calc(50% - 11px); right:16px; content:''; width:23px; height:23px; 
	border:1px solid var(--color-primary); border-radius:50%;
	transition:all 0.2s ease;
}
div.btn a:after	{ 
	position:absolute; top:calc(50% - 11px); right:16px; content:''; width:23px; height:23px; 
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
div.btn a:hover	{ color:#02B4D6; border-color:#02B4D6;}
div.btn a:hover:before	{ border-width:11px; border-color:#02B4D6;}
div.btn a:hover:after	{ background-image:url(../img/common/arrow--small-wh.svg);}
div.btn.fill a	{ color:#fff; background-color:var(--color-primary); border:0;}
div.btn.fill a:hover	{ color:#fff; background-color:#02B4D6;}


/* 外部リンク */
.btn.outbound a:before	{ top:calc(50% - 14px); right:18px; width:12px; height:12px; background:url(../img/common/outbound--ss.svg) no-repeat center / 12px; border:0; border-radius:0;}
.btn.outbound a:after	{ background:none;}
.btn.outbound.fill a:before	{ background-image:url(../img/common/outbound-white--ss.svg)}

.btn.recruit a	{ color:#fff; font-weight:500; background-color:#02B4D6; border:0;}
.btn.recruit a:before	{ position:absolute; top:calc(50% - 12px); right:20px; content:''; width:24px; height:24px; background:url(../img/common/outbound-white--s.svg) no-repeat center / 24px;}
.btn.recruit a:hover	{ color:#fff; background-color:#5ad0fc;}




/*
 * drawer navigation
 */

.drawer-nav		{ 
	position:relative; top:0; left:0; width:100%; height:100vh; 
	color:#222; 
	background-color:#fff; overflow-y:auto; border-radius:0;
	-webkit-overflow-scrolling:touch; 
	transform:scale(1) translateY(40px); transition:all 0.25s;
	visibility:hidden; position:fixed; z-index:-1; opacity:0;
}
.drawer-overlay	{ position:fixed; z-index:-101; top:0; left:0; width:100%; height:100%; background-color:rgba(242,242,242,0); transition:all 0.25s;}
.drawer-open .drawer-overlay	{ z-index:998; background-color:rgba(242,242,242,0.9);}

.drawer-hamburger		{ 
	position:fixed; bottom:16px; right:calc(50% - 58px); z-index:1999;
	display:block; margin:0 !important; padding:0 !important; width:116px; max-width:116px; height:33px;
	font-size:13px; line-height:1; color:rgba(255,255,255,.5);
	transition:all .6s cubic-bezier(.19,1,.22,1); transform:translateZ(0); 
	border:0; outline:0; background-color:rgba(18,15,120,.8); border-radius:8px; box-sizing:content-box; cursor:pointer;
}
.drawer-hamburger .sr-only	{ padding:0 0 0 24px; text-transform:uppercase;}
.drawer-hamburger-icon	{ position:absolute; display:block; top:50%; margin-top:0;}
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before	{ 
	position:absolute; top:2px; left:15px; content:''; width:24px; height:1px; 
	transition:all .6s cubic-bezier(.19,1,.22,1); background-color:rgba(255,255,255,.5); border-radius:5px;
}
.drawer-hamburger-icon:after	{ top:-2px;}

.drawer-hamburger:hover	{ background-color:rgba(18,15,120,.9);}
.drawer-hamburger:hover .drawer-hamburger-icon:before	{ top: 4px; background-color:rgba(255,255,255,1);}
.drawer-hamburger:hover .drawer-hamburger-icon:after	{ top:-4px; background-color:rgba(255,255,255,1);}

.drawer-open .drawer-hamburger { bottom:16px; right:calc(50% - 58px);}
.drawer-open .drawer-hamburger-icon	{ width:40px; background:transparent;}
.drawer-open .drawer-hamburger-icon:after,
.drawer-open .drawer-hamburger-icon:before	{ top:0 !important;}
.drawer-open .drawer-hamburger-icon:after	{ transform:rotate(-25deg);}
.drawer-open .drawer-hamburger-icon:before	{ transform:rotate( 25deg);}
.drawer-open .drawer-nav {
	display:block; top:0; z-index:999; visibility:visible;
	transform:scale(1) translateY(0); opacity:1;
}

.drawer-container	 { padding:0 5% 0;}
.drawer-container ul	{ margin:0; padding:0; list-style:none;}
.drawernav-container	{ border-top:1px solid rgba(0, 95, 160, .2);}
.drawer-nav ul.menu	{ text-align:left; font-size:1.6rem; font-weight:600;}
.drawer-nav ul.menu li	{ margin:0; letter-spacing:0em; border-bottom:1px solid rgba(0, 95, 160, .2);}
.drawer-nav ul.menu li a	{ position:relative; display:block; padding:16px 8px; text-decoration:none; background-color:transparent;}
.drawer-nav ul.menu li a:before	{ 
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px; 
	border:1px solid var(--color-primary); border-radius:50px;
	transition:all 0.2s ease;
}
.drawer-nav ul.menu li a:after	{ 
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px; 
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
.drawer-nav ul.menu li a:hover	{}
.drawer-nav ul.sub-menu	{ margin:0 0 24px 24px; font-size:1.4rem; font-weight:400}
.drawer-nav ul.sub-menu li	{ border-bottom:0;}
.drawer-nav ul.sub-menu li a	{ padding:8px 14px;}
.drawer-nav ul.sub-menu li a:before	{ border:0;}
.drawer-nav ul.sub-menu li a:after		{ 
	position:absolute; top:calc(50% - 6px); left:0; content:''; width:12px; height:12px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}

.policynav-container ul.menu	{ padding:0; font-size:1.3rem; font-weight:400;}
.policynav-container ul.menu li	{ border-bottom:0;}
.policynav-container ul.menu li a	{ padding:8px 14px; color:#fff;}
.policynav-container ul.menu li a:before	{ border:0;}
.policynav-container ul.menu li a:after	{ position:absolute; top:calc(50% - 6px); left:0; content:''; width:12px; height:12px; background:url(../img/common/arrow--small-wh.svg) no-repeat center / 23px;}

.drawer-footer	{ padding:40px 5% 0; background-color:var(--color-bright);}
.drawer-footer .copyright	{ padding:40px 0; text-align:right;}
.drawer-footer .copyright p	{ margin:0; padding:0; font-size:1.1rem; color:#fff; font-style:italic; letter-spacing:0.05em;}

.drawer-home	{ margin:0; padding:24px 8% 20px;}
.drawer-home .site-logo		{ font-size:1.1rem; text-align:left;}
.drawer-home .site-logo a	{ display:inline-block; vertical-align:middle; width:200px; height:44px;}

.drawer-nav .btn.recruit	{ padding:4rem 0;}

@media screen and (min-width: 720px) {
}

@media screen and (min-width: 1024px) {
	.drawer-hamburger	{ display:none;}
	.drawer-nav	{ display:none;}
}




/* **************************************************************************** */
/*
/* 6.0 layout
/*
/* **************************************************************************** */

body{
	text-align:center;
	background-color:#fff;
	background-size:cover;
}
#wrapper 	{}

.ss		{ display:block;}	/* .ss < 420px		*/
.mm		{ display:none;}	/* .mm < 1024px		*/
.ll		{ display:none;}	/* .ll >= 1024px	*/
.spn	{ display:block;}	/* .spn < 720px		*/
.pc		{ display:none;}	/* .pc >= 1024px	*/
.hide	{ display:none;}
.still	{ visibility:hidden; opacity:0;}
.check	{ position:fixed; z-index:9999;}
.skip-link	{ display:none; font-size:0;}
.screen-reader-text { font-size:0;}
.visuallyhidden	{ display:none;}


/**
 * - 6.1 loading
 */
#loading-screen	{
	position:fixed; top:0; left:0; z-index:100; width:100%; height:100%; 
	display:flex; justify-content:center; align-items:center;
	background:rgba(248, 248, 248, 1); 
	transition: opacity 0.4s ease, visibility 0.4s ease;
}
.lds-rolling {
	animation: lds-spin 0.4s linear infinite;
	will-change: transform; /* ブラウザに最適化を促す */
}
.loaded #loading-screen {
	opacity:0; visibility:hidden;
}
@keyframes lds-spin {
	0%	{ transform:rotate(0deg);}
	100%{ transform:rotate(20deg);}
}
@keyframes lds-scale {
	0%	{ transform:scale(1) rotate(0deg);}
	55%{ transform:scale(0.8) rotate(10deg);}
	100%{ transform:scale(1) rotate(20deg);}
}

#closing	{ position:fixed; top:0; left:0; width:100%; height:100%; z-index:9999; background-color:rgba(228,228,228,1); opacity:0;}




/**
 * - 6.2 Header Include
 */

#headerwrap 	{ position:sticky; top:0; z-index:22; padding:0 8px; width:100%; height:0;}
#headerwrap .wrap	{ margin:0 auto; padding:18px 0; max-width:1600px;}
.site-header	{ background-color:rgba(255,255,255,.9); border:2px solid var(--color-bright); border-radius:8px; backdrop-filter:blur(4px);}
	#branding .site-title	{ margin:0; padding:16px; font-size:1.1rem; text-align:left;}
	#branding .site-title a	{ display:block; margin:0; width:120px; height:18px;}
#headerwrap .clock	{ position:absolute; top:-18px; right:6px; z-index:12; width:90px; height:90px;}
.digital-clock {
	position:absolute; top:calc(50% - 8px); left:0; z-index:1; width:100%;
	font-family: 'Barlow', monospace; text-align:center; font-size:1.6rem; line-height:1; color:#ff981c;
}
#colon { animation: blink 1s step-start infinite;}

@keyframes blink {
	50% { opacity: 0.5; }
}


/* >= 1024px                             */
@media screen and (min-width: 1024px) {

	.site-header	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center;
		padding:0 110px 0 0;
	}
	.site-header #branding	{ width:120px;}

}

/* >= 1280px                             */
@media screen and (min-width: 1280px) {

	#headerwrap	{ padding:0 4%;}
	#headerwrap .wrap 	{ padding:16px 0;}
	#headerwrap .clock	{ top:-12px; right:8px;}
	.site-header	{ padding:8px 120px 8px 16px;}

}

/* >= 1440px                            */
@media screen and (min-width: 1440px) {

	#headerwrap .wrap 	{ padding:22px 0;}
	#headerwrap .clock	{ top:-24px; right:6px; width:126px; height:126px;}
	.site-header	{ padding:12px 160px 12px 16px;}
	.digital-clock { top:calc(50% - 10px); font-size:2.0rem; }


}



/**
 * - 6.3 footer Include
 */

#footerwrap 	{ position:relative;}
#footerwrap:before	{ position:absolute; top:-92px; left:0; content:''; width:100%; height:184px; background:url(../img/common/separator-right.svg) no-repeat center center / 101% auto;}
#footerwrap:after	{ position:absolute; top:10px; left:0; content:''; width:100%; height:100px; background:url(../img/common/footer-aircabin.svg?=260418) no-repeat center top / auto 100%;}

.footer-section	{ position:relative; padding:10rem 4% 6rem; overflow:hidden;}
.footer-section:before	{ position:absolute; bottom:0; right:-200px; content:''; width:500px; height:500px; background:url(../img/common/footer-kanransha.svg) no-repeat center / auto 500px;}
.footer-section .section-content	{ position:relative; margin:0 auto; max-width:1600px;}
.footer-section .recruit	{ padding:4rem 0 0;}
.footer-address	{ padding:0 0 4rem; text-align:left;}
.footer-address .site-title	{ margin:0 0 4rem;}
.footer-address .site-title span	{ max-width:400px;}
.footer-address h4	{ margin:0 0 0.6em; font-size:1.4rem; color:var(--color-primary);}
.footer-address address	{ margin:0 0 0.8em; font-size:1.5rem; line-height:1.8;}
.footer-address .number	{ position:relative; margin:0 0 8px; font-style:italic;}
.footer-address .number span	{ display:inline-block; padding:0 0 0 56px; font-size:3.0rem; font-weight:500;}
.footer-address .number span:after	{ position:absolute; top:50%; left:44px; content:''; width:6px; height:0; border:solid var(--color-primary); border-width:1px 0 0 0;}
.footer-address .number:before { 
	position:absolute; top:0; left:0; content:''; 
	padding:8px 0 8px 0; width:44px;
	text-align:center; font-size:1.7rem; color:#fff; line-height:1;
	background-color:var(--color-primary); border-radius:8px;
}
.footer-address .number:after	{ position:absolute; top:50%; left:40px; content:''; width:4px; height:0; border:solid #fff; border-width:1px 0 0 0;}
.footer-address .number a	{ color:#000;}
.footer-address .tel:before { content:'Tel';}
.footer-address .fax:before { content:'Fax';}
.address-osaka	{ margin-bottom:4rem;}

.footer-nav { padding:4rem 8%; background-color:rgba(255,255,255,.5); border-radius:8px; box-shadow:2px 2px 8px rgba(0,0,0,.1);}
.footer-nav #footnav {}
.footer-nav #footnav ul.menu	{ text-align:left; font-size:1.6rem; font-weight:500;}
.footer-nav #footnav ul.menu li	{ margin:0; letter-spacing:0em;}
.footer-nav #footnav ul.menu li a	{ position:relative; display:block; padding:16px 8px; color:#000; text-decoration:none; background-color:transparent;}
.footer-nav #footnav ul.menu li a:before	{ 
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px; 
	border:1px solid var(--color-primary); border-radius:50px;
	transition:all 0.2s ease;
}
.footer-nav #footnav ul.menu li a:after	{ 
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
.footer-nav #footnav ul.menu li a:hover:before	{ border-color:var(--color-secondary); border-width:12px;}
.footer-nav #footnav ul.menu li a:hover:after	{ background-image:url(../img/common/arrow--small-wh.svg);}

.footer-nav #footnav ul.sub-menu	{ margin:0 0 0 24px; font-size:1.4rem; font-weight:400;}
.footer-nav #footnav ul.sub-menu li	{ border-bottom:0;}
.footer-nav #footnav ul.sub-menu li a	{ display:inline-block; padding:8px 14px;}
.footer-nav #footnav ul.sub-menu li a:before	{ border:0;}
.footer-nav #footnav ul.sub-menu li a:after		{ 
	position:absolute; top:calc(50% - 6px); left:0; content:''; width:12px; height:12px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
.footer-nav #footnav ul.sub-menu li a:hover:after	{ background-image:url(../img/common/arrow--small.svg);}

.site-footer	{ position:relative; padding:30px 4%; font-size:1.2rem; text-align:left;background-color:var(--color-bright);}
.site-footer ul.menu	{ padding:0; font-size:1.4rem;}
.site-footer ul.menu li	{ border-bottom:0;}
.site-footer ul.menu li a	{ position:relative; display:inline-block; padding:8px 14px; color:#fff;}
.site-footer ul.menu li a:before	{ position:absolute; top:calc(50% - 6px); left:0; content:''; width:12px; height:12px; background:url(../img/common/arrow--small-wh.svg) no-repeat center / 23px;}
.site-footer .copyright		{ text-align:right;}
.site-footer .copyright p	{ margin:0; padding:0; font-size:1.1rem; color:#fff; font-style:italic; letter-spacing:0.05em;}


/* >= 720px                             */
@media screen and (min-width: 720px) {

	#footerwrap:after	{ height:128px;}
	.footer-section	{ padding:14rem 4% 6rem;}

}

/* >= 1024px                             */
@media screen and (min-width: 1024px) {

	.footer-section	{ padding:16rem 4% 6rem;}
	.footer-section .section-content	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.footer-section .section-content .footer-address	{ width:36%;}
	.footer-section .section-content .footer-nav	{ width:60%;}
	.footer-nav { padding:4rem 4%;}
	.footer-nav nav { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.footer-nav nav > div	{ width:44%;}
	.footer-section .recruit	{ padding:4rem 0 0;}

	#footerwrap:after	{ top:20px;}
	.site-footer	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center;
		padding:30px 5%;
	}
	.site-footer ul.menu	{ margin:0; padding:0;}
	.site-footer ul.menu li	{ position:relative; display:inline-block; margin:0 16px 0 0; padding:0 16px 0 0;}
	.site-footer ul.menu li:before	{ position:absolute; top:calc(50% - 2px); right:-2px; content:''; width:4px; height:4px; background-color:#fff; border-radius:10px;}
	.site-footer ul.menu li:last-child:before	{ width:0;}
	.site-footer ul.menu li a	{ padding:0 0 0 14px;}
	.site-footer ul.menu li a:before	{ border:0;}

}


/* >= 1280px                            */
@media screen and (min-width: 1280px) {

	#footerwrap:after	{ height:166px;}
	.footer-section	{ padding:16rem 5% 6rem;}
	.footer-section .section-content .footer-address	{ width:26%;}
	.footer-section .section-content .footer-nav	{ width:70%;}
	.footer-nav { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.footer-nav #footnav	{ width:60%;}
	.footer-nav .recruit	{ width:34%; padding:0;}
	.footer-nav .recruit a	{ min-width:100%;}
	.footer-nav #footnav ul.menu	{ font-size:1.4rem;}
	.footer-nav #footnav ul.sub-menu	{ font-size:1.3rem;}

}

/* >= 1440px                            */
@media screen and (min-width: 1440px) {

	#footerwrap:after	{ top:40px;}
	.footer-section	{ padding:20rem 5% 6rem;}
	.footer-section .section-content .footer-address	{ width:30%;}
	.footer-section .section-content .footer-nav	{ width:64%;}
	.footer-nav #footnav	{ width:64%;}
	.footer-nav .recruit	{ width:30%;}
	.footer-nav #footnav ul.menu	{ font-size:1.6rem;}
	.footer-nav #footnav ul.sub-menu	{ font-size:1.4rem;}

}

/* >= 1660px                            */
@media screen and (min-width: 1660px) {

	#footerwrap:before	{ top:-136px; height:272px;}

}



/**
 * - 6.4 container Include
 * #wrapper
 * 	#containerwrap
 * 		#headerwrap
 * 		#container
 *
 *	#footerwrap
 * #drawer
 */

#containerwrap	{}
.page #container,
.archive #container,
.single #container,
.error404 #container,
.search #container	{ padding:80px 0 0;}
.home #container	{ padding:0 !important;}
.container	{ padding:100px 0;}




/**
 * - 6.5 Column Layout
 */

.column	{ margin-left:auto; margin-right:auto; margin-bottom:5rem; padding:24px 5%;}
.column h1:first-child, .column h2:first-child, .column h3:first-child, .column h4:first-child, .column h5:first-child, .column h6:first-child	{ margin-top:0 !important;}
.column p:last-child	{ margin-bottom:0;}

.borderwrap { border:1px solid #3F7DFD; border-radius:5px;}
	.borderwrap h1:first-child,
	.borderwrap h2:first-child,
	.borderwrap h3:first-child,
	.borderwrap h4:first-child,
	.borderwrap h5:first-child,
	.borderwrap h6:first-child { margin-top:0 !important;}

.filledwrap { background-color:#E6EEFF; border-radius:5px;}
	.filledwrap h1:first-child,
	.filledwrap h2:first-child,
	.filledwrap h3:first-child,
	.filledwrap h4:first-child,
	.filledwrap h5:first-child,
	.filledwrap h6:first-child { margin-top:0 !important;}

.borderwrap .content,
.filledwrap .content	{}



/**
 * - 6.6 block Layout
 */

.blocks	{}
	.blocks > div	{}

.block-2	{}
	.block-2 > div	{}

.block-3	{}
	.block-3 > div	{}

.block-4	{}
	.block-4 > div	{}

.blocks .content	{}
.blocks .content p:last-child	{ margin-bottom:0;}

ul.blocks	{ margin:0; padding:0;}
ul.blocks li	{ margin:0; padding:0;}
ul.blocks li:before	{ background:none; border:0;}

.block-gallery	{ display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start;}
.block-gallery.block-2 > div, .block-gallery.block-2 > li,
.block-gallery.block-4 > div, .block-gallery.block-4 > li	{ padding:1px; width:50%;}
.block-gallery.block-3 > div, .block-gallery.block-3 > li	{ padding:1px; width:calc(100% / 3);}


/**
 * - 1.7 wp-block
 */

/* wp-block-gallery */
.wp-block-gallery,
.blocks-gallery-grid {
	align-items: flex-start;
}

/* キャプション */
.wp-block-image	{ margin-bottom:16px; border-radius:8px;}
.wp-block-image img	{ border-radius:8px;}
.wp-block-image .wp-element-caption	{ border-radius:0 0 8px 8px}

.wp-block-gallery.has-nested-images	{ margin-bottom:16px;}
.wp-block-gallery.has-nested-images:not(.is-cropped) .wp-block-image .wp-element-caption	{ 
	position:relative; text-align:left; color:#000; text-shadow:0 0 0; background:transparent;;
}
.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:has(figcaption):before	{
	backdrop-filter: blur(0px);
	height:0%;
}
.wp-block-gallery.has-nested-images.is-cropped .wp-block-image .wp-element-caption	{ 
	text-align:left; text-shadow:0 0 0; background-color:rgba(0,0,0,.5);
}
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:has(figcaption):before	{
	backdrop-filter: blur(0px);
	height:0%;
}

.is-layout-flex .wp-block-gallery-is-layout-flex	{}

/* block-galleryの最後の1枚を横幅いっぱいにしない */
.wp-block-gallery.has-nested-images figure.wp-block-image{
	flex-grow:0 !important; flex-basis: auto !important; 
}
.wp-block-gallery.has-nested-images figure.wp-block-image:not(:first-child){
	flex-grow:0 !important; flex-basis: auto !important; 
}
.wp-block-gallery.has-nested-images figure.wp-block-image:first-child:last-child{
	flex-grow:1;
}


/* Youtube */
.wp-block-embed-youtube	{ margin:0;}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper	{
	position:relative;
	padding-top:56.25%;
	width:100%; height:0;
	overflow:hidden;
}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe { position:absolute; top:0; left:0; width:100%; height:100%;}

/* table */
.wp-block-table	{ margin:0;}




/**
 * - 6.8 Video Elements
 */

.video-wrap {
	position:relative; width:100vw; height:90vh; overflow:hidden;
}
.video-wrap:after {
	position:absolute; top:0; left:0; bottom:0; right:0; content:'';
	background: linear-gradient( -45deg, rgba(199, 224, 245, 0.5), rgba(199, 224, 245, 0.5) );
}
#bg-video{
	position:relative;
}
.home #bg-video	{ background: url(img/common/home-billboard.jpg) no-repeat / cover;}

@media (min-aspect-ratio: 13/9){
	video {
		width: 100%;
		height:auto;
		top: 50%;
		left:0;
		transform: translateY(-50%);
	}
}
@media (max-aspect-ratio: 13/9){
	video {
		height: 100%;
		left: 50%;
		right:auto;
		transform: translateX(-50%);
	}
}
@media (aspect-ratio: 13/9){
	video {
	}
}

@media screen and (min-width: 720px) {
	.video-wrap {
		position:relative; width:100vw; height:90vh; overflow:hidden;
	}
}
@media screen and (min-width: 1024px) {
	.video-wrap { height:90vh;}
}







/* **************************************************************************** */
/*
/* 7.0 - clearfix
/*
/* **************************************************************************** */

.clearfix::after,
.content:after,
p:after { content:''; display:block; clear:both;}




/* **************************************************************************** */
/*
/* 8.0 - .page-content
/*
/* **************************************************************************** */

.page-header 	{ 
	position:relative; margin:0 0 -46px; padding:0 4%; height:92px;
	display:flex; justify-content:flex-start; align-items:center;
}
.page-header:before	{ 
	position:absolute; bottom:-46px; left:0; content:''; width:100%; height:184px; 
	background:url(../img/common/separator-right.svg) no-repeat center center / 101% auto;
}
.page-header .header-titles	{ position:relative; margin:0 auto; width:100%; max-width:1600px; text-align:left;}
.page-header .header-titles .page-title	{ margin:0; font-weight:700; line-height:1;}
.page-header .header-titles .page-title .jp	{ position:absolute; display:block; font-size:2.0rem; letter-spacing:0.1em; text-indent:0.1em;}
.page-header .header-titles .page-title .en	{ display:block; padding:8px 0; font-size:4.8rem; font-style:italic; color:var(--color-deep); text-transform:uppercase;}
.page-header .header-titles.ancestor	{}
.page-header .header-titles.ancestor .page-title	{}
.page-header .header-titles.ancestor .page-title .jp	{ position:relative; font-size:2.6rem; text-indent:0;}
.page-header .header-titles.ancestor .page-title .en	{ font-size:1.8rem; text-indent:0.1em;}
.page-header .header-titles.policy .page-title .jp	{ position:relative; font-size:1.5rem; letter-spacing:0; text-indent:0;}
.page-header .header-titles.policy .page-title .en	{ padding:0 0 10px;font-size:2.1rem; text-transform:capitalize;}

.page-container	{
	padding:100px 8%;
	background-color:#EFF2F3;
}
.page-content	{
	margin:0 auto; max-width:1280px; text-align:left;
}
.page-content.narrow	{ max-width:920px;}


/* >= 720px                             */
@media screen and (min-width: 720px) {

	.page-header .header-titles .page-title .jp	{ font-size:2.4rem;}
	.page-header .header-titles .page-title .en	{ font-size:7.2rem;}
	.page-header .header-titles.ancestor .page-title .jp	{ font-size:3.0rem;}
	.page-header .header-titles.ancestor .page-title .en	{ font-size:1.8rem;}
	.page-header .header-titles.policy .page-title .jp	{ font-size:1.8rem;}
	.page-header .header-titles.policy .page-title .en	{ font-size:3.8rem;}

}

/* >= 1024px                             */
@media screen and (min-width: 1024px) {

	.page-header .header-titles.policy .page-title .jp	{ font-size:2.1rem;}
	.page-header .header-titles.policy .page-title .en	{ font-size:4.8rem;}

}

/* >= 1280px                            */
@media screen and (min-width: 1280px) {

	.page-header 	{ margin:0 0 -69px; height:138px;}
	.page-header:before	{ bottom:-23px;}
	.page-header .header-titles .page-title .jp	{ font-size:2.8rem;}
	.page-header .header-titles .page-title .en	{ font-size:8.6rem;}
	.page-header .header-titles.ancestor .page-title .jp	{ font-size:3.6rem;}
	.page-header .header-titles.ancestor .page-title .en	{ font-size:2.0rem;}
	.page-header .header-titles.policy .page-title .jp	{ font-size:2.6rem;}
	.page-header .header-titles.policy .page-title .en	{ font-size:5.4rem;}

}

/* >= 1440px                            */
@media screen and (min-width: 1440px) {

	.page-header .header-titles .page-title .jp	{ font-size:3.0rem;}
	.page-header .header-titles .page-title .en	{ font-size:9.2rem;}
	.page-header .header-titles.ancestor .page-title .jp	{ font-size:4.0rem;}
	.page-header .header-titles.ancestor .page-title .en	{ font-size:2.1rem;}
	.page-header .header-titles.policy .page-title .jp	{ font-size:3.0rem;}
	.page-header .header-titles.policy .page-title .en	{ font-size:6.0rem;}

}

/* >= 1600px                            */
@media screen and (min-width: 1660px) {

	.page-header 	{ margin:0 0 -92px; height:184px;}
	.page-header:before	{ bottom:-44px; height:272px;}
	.page-header .header-titles .page-title .jp	{ font-size:3.3rem;}
	.page-header .header-titles .page-title .en	{ font-size:11.0rem;}
	.page-header .header-titles.ancestor .page-title .jp	{ font-size:4.4rem;}
	.page-header .header-titles.ancestor .page-title .en	{ font-size:2.5rem;}
	.page-header .header-titles.policy .page-title .jp	{ font-size:3.3rem;}
	.page-header .header-titles.policy .page-title .en	{ font-size:6.4rem;}


}



/* **************************************************************************** */
/*
/* 9.0 - .entry-content
/*
/* **************************************************************************** */

.post-single-container	{ padding:0 8%;}
.post-single-content	{ margin:0 auto; max-width:1000px;}

.single .entry-header	{ position:relative; text-align:left; margin:0; padding:0 0 2rem; border-bottom:1px solid var(--color-deep);}
.single .entry-header .entry-title	{ margin:0; font-size:2.4rem;}
.single .entry-header .date			{ margin:0; font-size:1.3rem;}
.single .entry-content	{ padding:2rem 0 5rem; text-align:left;}
.single .entry-content h1	{ font-size:2.1rem;}
.single .entry-content h2	{ font-size:2.1rem;}
.single .entry-content h3	{ font-size:1.9rem;}
.single .entry-content h4	{ font-size:1.6rem;}
.single .entry-footer	{ padding:10px 0; border-top:1px solid var(--color-deep);}
.single .entry-footer .entry-nav	{ 
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center;
}
.single .entry-footer .entry-nav .prev,
.single .entry-footer .entry-nav .next,
.single .entry-footer .entry-nav .back-to-archive	{ display:inline-block;}
.single .entry-footer .entry-nav .prev a,
.single .entry-footer .entry-nav .next a	{
	display:block; position:relative; width:60px; height:60px; font-size:0; border:1px solid var(--color-primary); border-radius:100px;
}
.single .entry-footer .entry-nav .prev a:before,
.single .entry-footer .entry-nav .next a:before	{
	position:absolute; top:calc(50% - 12px); left:calc(50% - 12px); content:''; width:24px; height:24px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
.single .entry-footer .entry-nav .prev a:before	{ transform:rotate(180deg);}
.single .entry-footer .entry-nav .back-to-archive a {
	display:block; padding:1.4rem 2em; color:#fff; background-color:var(--color-deep); border-radius:8px;
}
.single .entry-footer .entry-nav .back-to-archive a:hover	{ background-color:var(--color-bright);}


.single .entry-content h2.bounce-primary	{ font-size:2.8rem;}
.single .entry-content h2.bounce-secondary	{ font-size:2.8rem;}

h1	{ font-size:3.3rem;}
h2	{ font-size:2.8rem;}
h3	{ font-size:2.4rem;}
h4	{ font-size:2.0rem;}
h5	{ font-size:1.5rem;}
h6	{ font-size:1.4rem;}


/* **************************************************************************** */
/*
/* 10.0 - .archive-content
/*
/* **************************************************************************** */
.post-archive-container	{ padding:0 5%;}
.archive-content { margin:0 auto; max-width:1120px; text-align:left;}
.newslist ul { margin:0 0 4rem; padding:0; border-top :1px solid rgba(0,0,0,.25);}
.newslist li { margin:0; padding:0; border-bottom:1px solid rgba(0,0,0,.25);}
.newslist li:before	{ background:none; border:0;}
.newslist li a	{
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center;
	padding:8px 0;
}
.newslist .post-thumbnail	{ width:100px;}
.newslist .post-thumbnail img	{ aspect-ratio:1 / 1; object-fit:cover; border-radius:8px; background-color:#999;}
.newslist .content	{ position:relative; padding:0 30px 0 0; width:calc(100% - 120px);}
.newslist .content:before	{
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px; 
	border:1px solid var(--color-primary); border-radius:50px;
	transition:all 0.2s ease;
}
.newslist .content:after		{
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
.newslist .entry-title	{ margin:0; font-size:1.4rem;}
.newslist .date			{ font-size:1.3rem;}
.newslist p	{ display:none; line-height:1.5;}

.newslist li a:hover .content:before	{ border-color:var(--color-secondary); border-width:12px;}
.newslist li a:hover .content:after	{ background-image:url(../img/common/arrow--small-wh.svg);}


.list404 ul { margin:0 0 4rem; padding:0; border-top :1px solid rgba(0,0,0,.25);}
.list404 li { margin:0; padding:0; border-bottom:1px solid rgba(0,0,0,.25);}
.list404 li:before	{ background:none; border:0;}
.list404 li a	{ display:block; padding:14px 0;}
.list404 .content	{ position:relative; padding:0 36px 0 0;}
.list404 .content:before	{
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px; 
	border:1px solid var(--color-primary); border-radius:50px;
	transition:all 0.2s ease;
}
.list404 .content:after		{
	position:absolute; top:calc(50% - 12px); right:0; content:''; width:24px; height:24px;
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
}
.list404 .entry-title	{ margin:0; padding:0.4em 0; font-size:1.4rem;}
.list404 li p	{ margin:0; font-size:1.2rem; line-height:1.5;}
.list404 li a:hover .content:before	{ border-color:var(--color-secondary); border-width:12px;}
.list404 li a:hover .content:after	{ background-image:url(../img/common/arrow--small-wh.svg);}



/* **************************************************************************** */
/*
/* 11.0 - Forms
/*
/* **************************************************************************** */

input,
select,
textarea {
	vertical-align: baseline; 
	margin:0; max-width:100%;
	font-size:16px; font-size:1.6rem; line-height:1.5;
	background-color: #f7f7f7;
	border-radius: 0;
}

input {
	line-height: normal;
}

input,
textarea {
	border: 1px solid #999;
	color: #707070; border-radius:3px;
}

input:focus,
textarea:focus {
	background-color: #fff;
	border: 1px solid var(--color-primary);
}

select	{ 
	padding:0.35em; max-width:100%;
	border:1px solid #999; border-radius:3px;
}
select:focus {
	background-color:#DFF5DA;
	outline:none;
}

button[disabled],
input[disabled],
select[disabled],
textarea[disabled] {
	cursor: default;
	opacity: .5;
	filter:grayscale(100);
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	display:inline-block; margin:1rem 1rem; padding:1.6rem 3rem; width:256px;
	text-align:center; font-size:1.5rem; text-decoration:none; color:#fff; 
	background-color:#00859E; border:0;
	transition:all 0.2s ease;
}
input[type="reset"] { color:#F37008; border:2px solid #F37008;}

input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	color:#fff; background-color:#02B4D6;
}
input[type="reset"]:hover,
input[type="reset"]:focus {
	color:#fff; background-color:#F37008;
}


input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="password"],
input[type="search"],
textarea {
	margin:0 0.6rem 0.6rem 0;
	padding: 0.375em;
	width: 100%;
}

textarea {
	overflow: auto;
	vertical-align: top;
}
input[type="email"],
input[type="tel"],
input[type="url"]	{
	max-width:20em;
}

input[type="number"],
input[type="date"],
input[type="password"]{
	max-width:12em;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	outline: 0;
}


input[type="checkbox"],
input[type="radio"] {
	padding: 0;
}


/**
 * .mailform : 
 */
div.mailform	{}
div.mailform dl	{ margin:0;}
div.mailform dt	{ margin:0; padding:1.6rem 0 0.8rem 0; font-weight:500;}
div.mailform dd	{ margin:0; padding:0 0 1.6rem; border-bottom:1px solid rgba(0,0,0,.1);}
div.mailform .required:after	{ position:relative; vertical-align:baseline; bottom:0; content:'［必須］'; margin:00; padding:0; font-size:1.1rem; font-weight:400; color:#EB2F16; background-color:transparent; border-radius:0;}
div.mailform .date	{ width:5em;}
div.mailform .zip	{ width:8em;}
div.mailform .address	{}
div.mailform p		{ margin:0; padding:1.6rem 0; border-bottom:1px solid rgba(0,0,0,.25);}
div.mailform .caption	{ margin:0; padding:0; font-size:1.2rem;}
div.mailform .disabled	{ color:#ccc;}
div.mailform-inner	{ margin:0 auto; max-width:1120px;}
div.acception	{ margin:4rem 0; text-align:center;}
div.submit 		{ margin:4rem 0; text-align:center;}


/* :: */
input[type=checkbox],
input[type=radio] 	 { width:0em;}
label a { text-decoration:underline;}


/* : checkbox : contatform7 */
.wpcf7-list-item label input[type="checkbox"]{
	display:none;
}
.wpcf7-list-item label{
	display:inline-block; position:relative;
	font-weight:normal; color:#000; letter-spacing:0;
	cursor:pointer;
}
.wpcf7-list-item label .wpcf7-list-item-label:before{
	content:'';
	display:inline-block; vertical-align:middle;
	margin:-4px 6px 0 0; width:20px; height:20px;
	background-color:#B4B6B7; border:2px solid transparent; border-radius:2px;
	transition:all 200ms ease;
}
.wpcf7-list-item label .wpcf7-list-item-label:after{
	content:'';
	position:absolute; top:8px; left:9px;
	width:4px; height:8px;
	background-color:transparent; border:0 solid var(--color-bright); border-radius:2px;
	transform:rotate(45deg); opacity:1; transition:all 200ms ease;
}
.wpcf7-list-item label input[type="checkbox"]:checked + .wpcf7-list-item-label:before{
	background-color:#fff; border-color:var(--color-bright); opacity:1; transform:scale(1);
}
.wpcf7-list-item label input[type="checkbox"]:checked + .wpcf7-list-item-label:after{
	top:5px; left:6px; width:8px; height:12px;
	background-color:transparnet; border:solid var(--color-bright); border-width:0 2px 2px 0; transform:rotate(45deg);
}


/* : acceptance checkbox: contactform7 */
.wpcf7-acceptance .wpcf7-list-item label{
	margin-right:0;
}
.wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label:after{
	position:absolute; top:10px; left:9px;
}
.wpcf7-acceptance .wpcf7-list-item label input[type="checkbox"]:checked + .wpcf7-list-item-label:before{
	background-color:#96D054; border-color:#96D054;
}
.wpcf7-acceptance .wpcf7-list-item label input[type="checkbox"]:checked + .wpcf7-list-item-label:after{
	top:5px; left:6px; border-color:#fff;
}


/* : radio button : contactform7 */
.wpcf7-radio .wpcf7-list-item label input[type="radio"]	{ display:none;}
.wpcf7-radio .wpcf7-list-item label{
	display:inline-block; position:relative;
	font-weight:normal; color:#000; letter-spacing:0;
	cursor:pointer;
}
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label:before{
	content:'';
	display:inline-block; vertical-align:middle;
	margin:-4px 6px 0 0; width:20px; height:20px;
	background-color:#B4B6B7; border:2px solid transparent; border-radius:2px;
	transition:all 200ms ease;
}
.wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label:after{
	content:'';
	position:absolute; top:8px; left:9px;
	width:4px; height:8px;
	background-color:transparent; border:0 solid var(--color-bright); border-radius:2px;
	transform:rotate(45deg); opacity:1; transition:all 200ms ease;
}
.wpcf7-radio .wpcf7-list-item label input[type="radio"]:checked + .wpcf7-list-item-label:before{
	background-color:#fff; border-color:var(--color-bright); opacity:1; transform:scale(1);
}
.wpcf7-radio .wpcf7-list-item label input[type="radio"]:checked + .wpcf7-list-item-label:after{
	top:5px; left:6px; width:8px; height:12px;
	background-color:transparnet; border:solid var(--color-bright); border-width:0 2px 2px 0; transform:rotate(45deg);
}


/**
 *  - Contactform7 hide set		**/
.wpcf7-spinner	{ position:absolute; margin:0; top:calc(50% - 14px); left:calc(50% - 12px);}
.wpcf7-list-item { display:inline-block; margin:0 2.0em 0 0;}
.vertical .wpcf7-list-item { display:block !important; margin:0 0 0.4em;}

.sent-complete { display:none;}
.sent .sent-complete { display:block;}
.sent .mailform-input{ display:none;}

.wpcf7-response-output,
.wpcf7-validation-errors,
.wpcf7-display-none,
.wpcf7-mail-sent-ok	{ display:none !important;}


/**
 *  - .loginform 		**/
.loginform	{ margin:0 auto; max-width:412px;}
.loginform input	{ max-width:375px;}
.loginform dl	{}
.loginform dt	{ display:inline-block; float:left; padding:0.4em 0 0 0;}
.loginform dd	{ padding:0 0 0.5em 6em;}
.loginform p	{ text-align:center;}
.loginform input[type="submit"]{ border-radius:50px;}




/* **************************************************************************** */
/*
/* 12.0 - Animation Class
/*
/* **************************************************************************** */

.titleswipe.show b		{ animation:titleswipe 0.8s ease-out 0s 1 normal forwards;}
.titleswipe.show b:before	{ animation:showtitle_animation 0.6s ease-in-out 0s 1 normal forwards;}

.alphain.show		{ animation:alphain 1.0s linear 0s 1 normal forwards;}
.image_on_text.show		{ animation:image_on_text 0.5s linear 0s 1 normal forwards;}

.translatey	{ opacity:0;}
.translatey.show	{ animation:translatey 0.8s ease-in-out 0s 1 normal forwards;}
.translatel.show	{ animation:translatel 0.8s ease-in-out 0s 1 normal forwards;}
.translater.show	{ animation:translater 0.8s ease-in-out 0s 1 normal forwards;}

.zoomin.show	{ animation:zoomin  1.0s ease-out 0s 1 normal forwards;}
.zoomout.show	{ animation:zoomout 1.0s ease-out 0s 1 normal forwards;}

.pullin-l		{ transform-origin:left center; transition:all .9s ease; transform:perspective(150px) rotateY(10deg); opacity:0;}
.pullin-l.show	{ transform:perspective(0px) rotateY(0deg); opacity:1;}
.pullin-r		{ transform-origin:right center; transition:all .9s ease; transform:perspective(150px) rotateY(-10deg); opacity:0;}
.pullin-r.show	{ transform:perspective(0px) rotateY(0deg); opacity:1;}


@keyframes titleswipe	{
	0%	{ transform:translateX(-30px);}
	100%{ transform:translateX(0);}
}
@keyframes image_on_text	{
	0%	{ color:transparent;}
	100%{ color:#fff;}
}
@keyframes alphain	{
	0%	{ opacity:0;}
	100%{ opacity:1;}
}
@keyframes translatey	{
	0%	{ transform:translateY(40px); opacity:0;}
	100%{ transform:translateY(0); opacity:1;}
}
@keyframes translatel	{
	0%	{ transform:translateX(-40px); opacity:0;}
	100%{ transform:translateX(0); opacity:1;}
}
@keyframes translater	{
	0%	{ transform:translateX(40px); opacity:0;}
	100%{ transform:translateX(0); opacity:1;}
}
@keyframes zoomin	{
	0%	{ transform:scale(0.8,0.8); opacity:0;}
	100%	{ transform:scale(1.0,1.0); opacity:1;}
}
@keyframes zoomout	{
	0%	{ transform:scale(1.2,1.2); opacity:0;}
	100%	{ transform:scale(1.0,1.0); opacity:1;}
}




/* **************************************************************************** */
/*
/* 13.0 - Media Queries
/*
/* **************************************************************************** */

@-ms-viewport 	{ width: device-width;}
@viewport 		{ width: device-width;}


/**
/*  720 <=                              */
@media screen and (min-width: 720px) {

	.ss		{ display:none;}
	.ll		{ display:none;}
	.mm		{ display:block;}
	.spn	{ display:none;}
	.pc		{ display:block;}

	/* ************************************* */
	/*
	/* 1.0 - Typography
	/*
	/* ************************************* */

	h1	{ font-size:3.3rem;}
	h2	{ font-size:2.8rem;}
	h3	{ font-size:2.4rem;}
	h4	{ font-size:2.0rem;}
	h5	{ font-size:1.5rem;}
	h6	{ font-size:1.4rem;}

	h2.bounce-primary	{ padding:14px 0; font-size:3.2rem;}
	h2.bounce-primary:before	{ left:-24px; height:82px;}
	h2.bounce-secondary	{ padding:30px 0 0; font-size:3.2rem;}
	h2.bounce-secondary:before	{ left:-4px; height:33px;}

	.single .entry-content h1	{ font-size:3.2rem;}
	.single .entry-content h2	{ font-size:2.8rem;}
	.single .entry-content h3	{ font-size:2.4rem;}
	.single .entry-content h4	{ font-size:2.0rem;}
	.single .entry-content h2.bounce-primary	{ font-size:3.2rem;}
	.single .entry-content h2.bounce-secondary	{ font-size:3.2rem;}


	/* ************************************* */
	/*
	/* 5.0 layout
	/*
	/* ************************************* */

	/**
	 *  - block layout 	
	**/
	.blocks	{ display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start;}
	.blocks.stretch	{ align-items:stretch;}
	.blocks .block	{ width:100%;}

	.block-2 > .block,
	.block-2 > div,
	.block-2 > li	{ width:50%;}
	.block-2.separate	{ justify-content:space-between;}
	.block-2.separate > .block,
	.block-2.separate > div,
	.block-2.separate > li	{ width:49%;}

	.block-3 > .block,
	.block-3 > div,
	.block-3 > li	{ width:calc(100% / 3);}
	.block-3.separate	{ justify-content:space-between;}
	.block-3.separate > .block,
	.block-3.separate > div,
	.block-3.separate > li	{ width:32%;}
	.block-3:after	{ display:block; content:''; width:32%; height:0;}

	.block-2-1 > div:nth-child(1)	{ width:66%;}
	.block-2-1 > div:nth-child(2)	{ width:30%;}
	.block-2-1.reverse	{ flex-flow:row-reverse wrap;}

	.block-1-2 > div:nth-child(1)	{ width:30%;}
	.block-1-2 > div:nth-child(2)	{ width:66%;}
	.block-1-2.reverse	{ flex-flow:row-reverse wrap;}


	.block-gallery	{ margin-bottom:0;}
	.block-gallery.block-3 > div, .block-gallery.block-3 > li	{ width:calc( 100% / 3); padding:1px;}
	.block-gallery.block-4 > div, .block-gallery.block-4 > li	{ width:25%; padding:1px;}


	/**
	 * .page
	**/


	/**
	 * .single
	**/


	/**
	 * .archive
	**/


	/* ************************************* */
	/*
	/* 7.0 - Forms
	/*
	/* ************************************* */


}



/**
/*  1024px <=                          */
@media screen and (min-width: 1024px) {

	body,
	input,
	select,
	textarea {font-size: 1.4rem;}

	.ss		{ display:none;}
	.mm		{ display:none;}
	.ll		{ display:block;}
	.spn	{ display:none;}
	.pc		{ display:block;}


	/* ************************************* */
	/*
	/* 1.0 - Typography
	/*
	/* ************************************* */

	h1	{ font-size:3.0rem;}
	h2	{ font-size:2.8rem;}
	h3	{ font-size:2.4rem;}
	h4	{ font-size:1.6rem;}
	h5	{ font-size:1.5rem;}
	h6	{ font-size:1.4rem;}

	.single .entry-content h1	{ font-size:2.8rem;}
	.single .entry-content h2	{ font-size:2.8rem;}
	.single .entry-content h3	{ font-size:2.4rem;}
	.single .entry-content h4	{ font-size:2.0rem;}
	.single .entry-content h2.bounce-primary	{ font-size:3.2rem;}
	.single .entry-content h2.bounce-secondary	{ font-size:3.2rem;}


	/**
	 *  - container 	**/
	.page #container,
	.archive #container,
	.single #container,
	.error404 #container,
	.search #container	{ padding:100px 0 0;}
	.container	{ padding:100px 0;}
	.page-container	{padding:100px 8%;}


	/**
	 * .page
	**/
	.mailform .submit 	{ text-align:right;}
	div.mailform dt	{ float:left; display:inline-block; padding:2.4rem 0 0.8rem 0;}
	div.mailform dd	{ padding:2.4rem 0 1.6rem 15em; }


	.archive-content .content	{ padding:0 60px 0 0;}
	.archive-content .content:before	{ top:calc(50% - 20px); width:40px; height:40px;}
	.archive-content .content:after		{ top:calc(50% - 20px); width:40px; height:40px;}
	.archive-content li a:hover .content:before	{ border-width:20px;}
	.newslist li { padding:0 8px;}
	.newslist .post-thumbnail	{ width:120px;}
	.newslist .content	{ width:calc(100% - 140px);}
	.newslist .content	{ padding:0 60px 0 0;}
	.newslist .content:before	{ top:calc(50% - 20px); width:40px; height:40px;}
	.newslist .content:after		{ top:calc(50% - 20px); width:40px; height:40px;}
	.newslist .entry-title	{ margin:0 0 0.3em;}
	.newslist p	{ display:block; font-size:1.2rem;}
	.newslist li a:hover .content:before	{ border-width:20px;}


}



/* 1280px =<                            */
@media screen and (min-width: 1280px) {

	.container	{ padding:120px 0;}
	.page-container	{padding:120px 8%;}

	h1	{ font-size:3.4rem;}
	h2	{ font-size:3.4rem;}
	h3	{ font-size:2.7rem;}
	h4	{ font-size:1.8rem;}
	h5	{ font-size:1.6rem;}
	h6	{ font-size:1.5rem;}

	h2.bounce-primary	{ padding:18px 0; font-size:3.6rem;}
	h2.bounce-primary:before	{ left:-28px; height:96px;}
	h2.bounce-secondary	{ padding:30px 0 0; font-size:3.6rem;}
	h2.bounce-secondary:before	{ left:-6px;height:37px;}

	.single .entry-content h2.bounce-primary	{ font-size:3.6rem;}
	.single .entry-content h2.bounce-secondary	{ font-size:3.6rem;}

	.newslist .post-thumbnail	{ width:140px;}
	.newslist .post-thumbnail img	{ aspect-ratio:4 / 3;}
	.newslist .content	{ width:calc(100% - 160px);}


}


/* 1440px =<                            */
@media screen and (min-width: 1440px) {

	.page #container,
	.archive #container,
	.single #container,
	.error404 #container,
	.search #container	{ padding:120px 0 0;}
	.container	{ padding:150px 0;}
	.page-container	{padding:150px 8%;}

	body,
	input,
	select,
	textarea { font-size:1.5rem;}
	
	h1	{ font-size:3.4rem;}
	h2	{ font-size:3.4rem;}
	h3	{ font-size:2.4rem;}
	h4	{ font-size:1.8rem;}
	h5	{ font-size:1.6rem;}
	h6	{ font-size:1.5rem;}
	
	h2.bounce-primary	{ padding:14px 0; font-size:4.0rem;}
	h2.bounce-primary:before	{ left:-28px; height:96px;}
	h2.bounce-secondary	{ padding:30px 0 0; font-size:4.0rem;}
	h2.bounce-secondary:before	{ left:-6px;height:37px;}
	h3.bounce-subtitle	{ font-size:3.0rem;}
	h2.bounce-primary:has(+ .bounce-subtitle)	{ margin-bottom:0.5em;}
	
	h3.filled	{ font-size:2.0rem;}
	article p { margin-bottom:1.6em; font-size:1.5rem; line-height:2.0;}

	.single .entry-content h2.bounce-primary	{ font-size:4.0rem;}
	.single .entry-content h2.bounce-secondary	{ font-size:4.0rem;}


}


/* 1660px =<                            */
@media screen and (min-width: 1660px) {

	body,
	input,
	select,
	textarea { font-size:1.6rem;}

	h1	{ font-size:4.0rem;}
	h2	{ font-size:4.0rem;}
	h3	{ font-size:2.5rem;}
	h4	{ font-size:1.8rem;}
	h5	{ font-size:1.7rem;}
	h6	{ font-size:1.6rem;}

	h2.bounce-primary	{ padding:20px 0; font-size:5.1rem;}
	h2.bounce-primary:before	{ left:-35px; height:122px;}
	h2.bounce-secondary	{ padding:40px 0 0; font-size:5.1rem;}
	h2.bounce-secondary:before	{ left:-6px;height:47px;}
	h3.bounce-subtitle	{ font-size:3.6rem;}
	h2.bounce-primary:has(+ .bounce-subtitle)	{ margin-bottom:0.5em;}

	h3.filled	{ font-size:2.1rem;}
	article p { margin-bottom:1.6em; font-size:1.6rem; line-height:2.0;}

	.container	{ padding:150px 0 200px;}
	.page-container	{ padding:150px 8% 200px;}

	.newslist .post-thumbnail	{ width:160px;}
	.newslist .post-thumbnail img	{ aspect-ratio:3 / 2;}
	.newslist .content	{ padding:0 80px 0 0; width:calc(100% - 180px);}
	.newslist .content:before	{ top:calc(50% - 30px); width:60px; height:60px;}
	.newslist .content:after		{ top:calc(50% - 30px); width:60px; height:60px;}
	.newslist .entry-title	{ font-size:1.6rem;}
	.newslist p	{ display:block; font-size:1.4rem;}
	.newslist li a:hover .content:before	{ border-width:30px;}

	div.mailform dt	{ float:left; display:inline-block; padding:2.8rem 0 0.8rem 0;}
	div.mailform dd	{ padding:2.8rem 0 2.0rem 15em; }
	.wpcf7-list-item label input[type="checkbox"]:checked + .wpcf7-list-item-label:after	{ top:8px;}
	.wpcf7-acceptance .wpcf7-list-item label input[type="checkbox"]:checked + .wpcf7-list-item-label:after	{ top:8px;}
	.wpcf7-radio .wpcf7-list-item label input[type="radio"]:checked + .wpcf7-list-item-label:after	{ top:8px;}

}






































