/*
Theme Name: lightpress arranged
Theme URI: http://phantomthemes.com/items/lightpress-wordpress-theme/
Author: Synchro
Description: LightPress is fast loading responsive, modern & creative WordPress theme, specially designed for the Personal, Corporate and Photography Blogging Website. Theme is beautifully handcrafted with minimalist design approach and based on Twitter Bootstrap 4  and Underscore S Framework. High quality clean code with Search Engine Optimized (SEO) and can be used as blog for businesses related to travel, fitness, yoga, gym, education, arts, sports and news etc. It supports easy installation and setup with One Click Demo Builder Plugin. To view detail and demo http://phantomthemes.com/items/lightpress-wordpress-theme/ and  http://phantomthemes.com/view?theme=LightPress
Version: 99999
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lightpress
Tags: footer-widgets, one-column, featured-images, custom-background, custom-colors, custom-menu, editor-style, theme-options, threaded-comments, blog, news, photography		

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

*/

html {
	box-sizing: border-box;
	font-size: 72%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	margin: 0;
	background: #292929;
	color: #fff;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.5rem;
	letter-spacing: 0.5px;
	line-height: 140%;
}
@media screen and (max-width: 960px) {
	html {
		font-size: 67%;
	}
}
@media screen and (max-width: 480px) {
	html {
		font-size: 62.5%;
	}
}

/* リセット */
*, *:before, *:after {
	box-sizing: inherit;
}
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
	display: block;
}
audio, canvas, progress, video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
[hidden], template {
     display: none;
}
abbr[title] {
	border-bottom: 1px dotted;
}
b, strong {
	font-weight: bold;
}
dfn {
	font-style: italic;
}
mark {
	background: #ff0;
	color: #000;
}
small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
img {
	border: 0;
}
svg:not(:root) {
	overflow: hidden;
}
figure {
	margin: 2em 0;
}
hr {
	box-sizing: content-box;
	height: 0;
}
pre {
	overflow: auto;
}
code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}
button {
	overflow: visible;
}
button, select {
	text-transform: none;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}
button[disabled], html input[disabled] {
	cursor: default;
}
button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input {
	line-height: normal;
}
input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
input[type="search"] {
	-webkit-appearance: textfield;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
button, input[type="button"], input[type="reset"], input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 15px 17px rgba(255, 255, 255, 0.5), inset 0 -5px 12px rgba(0, 0, 0, 0.05);
	color: rgba(0, 0, 0, .8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}
button:hover, input[type="button"]:hover, input[type="reset"]:hover, input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), inset 0 15px 17px rgba(255, 255, 255, 0.8), inset 0 -5px 12px rgba(0, 0, 0, 0.02);
}
button:focus, input[type="button"]:focus, input[type="reset"]:focus, input[type="submit"]:focus, button:active, input[type="button"]:active, input[type="reset"]:active, input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5), inset 0 2px 5px rgba(0, 0, 0, 0.15);
}
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, textarea:focus {
	color: #111;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"] {
	padding: 3px;
}
textarea {
	padding-left: 3px;
	width: 100%;
}
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}
legend {
	border: 0;
	padding: 0;
}
textarea {
	overflow: auto;
}
optgroup {
	font-weight: bold;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td, th {
	padding: 0;
}
button, input, select, textarea {
     font-size: 16px;
     font-size: 1rem;
     line-height: 1.5;
}
p {
	margin-bottom: 1.5em;
}
p ruby[data-ruby] {
    position: relative;
    line-height: 220%;
}
p ruby[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: -2.4em;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 0.6em;
	letter-spacing: 2px;
	white-space: nowrap;
}
p ruby rt {
    display: none;
}
dfn, cite, em, i {
	font-style: italic;
}
blockquote {
	margin: 0 1.5em;
}
address {
	margin: 0 0 1.5em;
}
pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}
code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}
abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}
mark, ins {
	background: #fff9c0;
	text-decoration: none;
}
big {
	font-size: 125%;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
ul, ol {
	margin: 0 0 1.5em 3em;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul, li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dl dt {
	float: left;
	font-weight: normal;
	clear: left;
}
dl dd {
	margin: 0 0 15px 0;
}

ul, ol {
	line-height: 180%;
}

img {
	height: auto;
	max-width: 100%;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
}
embed, iframe, object {
	max-width: 100%;
}
dl {
	margin: 0 auto;
	line-height: 180%;
}


/* lightpress classes */
.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}
.comment-navigation .nav-previous, .posts-navigation .nav-previous, .post-navigation .nav-previous {
	float: left;
	width: 50%;
}
.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
#content[tabindex="-1"]:focus {
	outline: 0;
}
.clear:before, .clear:after, .entry-content:before, .entry-content:after, .comment-content:before, .comment-content:after, .site-header:before, .site-header:after, .site-content:before, .site-content:after, .site-footer:before, .site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}
.clear:after, .entry-content:after, .comment-content:after, .site-header:after, .site-content:after, .site-footer:after {
	clear: both;
}
.widget {
	margin: 0 0 1.5em;
}
.widget select {
	max-width: 100%;
}
.widget-area .widget {
	width: 100%;
	padding: 30px;
}
.widget-area {
	background: #2A4286;
	color: #fff;
}
.widget-area a{
	color: #fff;
}
.widget-area h3.widget-title{
	color: #fff;
	font-size: 1.25em;
}
.widget-area .widget{
	font-size: 0.84em;
	float: left;
	padding: 30px;
}
.widget-area ul{
	margin: 0;
	padding-left: 15px;
}
h3.widget-title{
	font-size: 2em;
}
@media(min-width: 767px){
	.widget-area {
		overflow: hidden;
	}

	.widget-area .widget {
		width: 18%;
		padding: 5px;
		float: left;
	}
}

.sticky {
	display: block;
}
.hentry {
	margin: 0 0 1.5em;
}
.byline, .updated:not(.published) {
	display: none;
}
.single .byline, .group-blog .byline {
	display: inline;
}
.page-content, .entry-content, .entry-summary {
	margin: 1.5em 0 0;
}
.entry-content {
	margin-top: 0;
}
.entry-content section:not(:last-child) {
	margin-bottom: 120px;
}
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
@media screen and (max-width: 680px) {
	.entry-content section:not(:last-child) {
		margin-bottom: 90px;
	}
}
@media screen and (max-width: 480px) {
	.entry-content section:not(:last-child) {
		margin-bottom: 70px;
	}
}

.blog .format-aside .entry-title, .archive .format-aside .entry-title {
	display: none;
}
.comment-content a {
	word-wrap: break-word;
}
.bypostauthor {
	display: block;
}
.page-content .wp-smiley, .entry-content .wp-smiley, .comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
.gallery {
	margin-left: -10px;
	margin-bottom: 1.5em;
	width: calc(100% + 20px);
}
.gallery-item {
	display: inline-block;
	margin: 2em 0;
	text-align: center;
	vertical-align: top;
	width: 100%;
	padding: 0 10px;
}
.gallery-item img {
	display: block;
	width: 100%;
}
.gallery-columns-2 .gallery-item {
	max-width: 50%;
}
.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
	max-width: 25%;
}
.gallery-columns-5 .gallery-item {
	max-width: 20%;
}
.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}
.gallery-caption {
	display: block;
}
@media screen and (max-width: 480px) {
	.gallery {
		margin-left: -5px;
		width: calc(100% + 10px);
	}
	.gallery-item {
		padding: 0 5px;
	}
}

.container{
	width: 100%;
	max-width: none;
	min-height: calc(100vh - 220px);
	padding: 0;
}
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}
.wp-caption-text {
	text-align: center;
}

.page-header {
	margin: 0;
	border:none;
	padding-bottom: 15px;
}
.page-content {
	min-height: 300px;
}
.pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover {
	background-color: #2A4286;
	border-color: #2A4286;
	color: #FFF;
}
.pagination>li>a, .pagination>li>span {
	color: #999;
}


/* リンク：a */
a {
	background-color: transparent;
}
a, a:visited {
	color: #999;
	text-decoration: none;
}
a:active, a:hover, a:focus, *:focus {
	outline:none;
}
a:hover, a:focus, a:active {
	color: #777;
}
a:hover {
	opacity: 0.9;
}

/* 見出し：h1-h6 */
h1, h2, h3, h4, h5, h6 {
    margin:0 0 15px 0;
    font-weight: 700;
	clear: both;
}
h1{
	font-size: 3rem;
}
h2 {
	position: relative;
	margin-bottom: 70px;
	padding-bottom: 8px;
	text-align: center;
	font-family: "Sofia Sans Condensed", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 5.8rem;
	line-height: 140%;
}
h2 img {
	width: 100%;
}
h2:not(.nttl) span {
	position: relative;
	display: inline-block;
	/*padding: 0 0 8px;*/
}
h2:not(.nttl) span em {
	display: inline-block;
	font-style: normal;
}
h2.en span {
	padding-bottom: 20px;
}
h2:not(.nttl):after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 8em;
	height: 2px;
	background-color: #fff;
	transform: translatex(-50%);
}
 h2.entry-title{
    font-size: 2em;
}
 h2.entry-title a{
    color: #2F3035;
}
 h2.entry-title a:hover{
    color: #2A4286;
    text-decoration: none;
}
h3 {
	margin-bottom: 30px;
	border-bottom: 1px solid #1764a5;
	padding: 0 0 4px 2px;
	font-size: 2.7rem;
	font-weight: normal;
}
h3 img.chuo, h3 img.higashi {
	margin-bottom: 4px;
	width: 100%;
}
h3 img.chuo {
	max-width: 338px;
}
h3 img.higashi {
	max-width: 309px;
}
h4 {
	margin-bottom: 8px;
	font-size: 1.8rem;
}
p{
	margin: 0 0 1.8em;
	line-height: 180%;
}
 body.logged-in.admin-bar .site-header{
    top: 32px;
}
@media screen and (max-width: 782px) {
	body.logged-in.admin-bar .site-header {
		top: 46px;
	}
}
@media screen and (max-width: 640px) {
	h2 {
		margin-bottom: 30px;
		font-size: 2.8rem;
	}
	h2:not(.nttl) span {
		/*padding-bottom: 20px;*/
	}
	h2:not(.nttl) span:after {
		height: 4px;
	}
	h2 img.chuo {
		max-width: 362px;
	}
	h2 img.higashi {
		max-width: 330px;
	}
	h2 img.news {
		max-width: 168px;
	}
	h2 img.instagram {
		max-width: 146px;
	}
	h3 {
		font-size: 2.4rem;
	}
	h3 img.chuo {
		max-width: 309px;
	}
	h3 img.higashi {
		max-width: 282px;
	}
}
@media screen and (max-width: 480px) {
	body {
		font-size: 10pt;
	}
	p {
		line-height: 180%;
	}
	h2 {
		margin-bottom: 24px;
		font-size: 2.4rem;
	}
	h2:not(.nttl) span {
		/*padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 10px;*/
	}
	h2:not(.nttl) span:after {
		height: 2px;
	}
	h2 img.chuo {
		max-width: 290px;
	}
	h2 img.higashi {
		max-width: 264px;
	}
	h2 img.news {
		max-width: 134px;
	}
	h2 img.instagram {
		max-width: 117px;
	}
	h3 {
		margin-bottom: 20px;
		font-size: 2.1rem;
	}
	h4 {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 380px) {
	h2 img.chuo {
		max-width: 214px;
	}
	h2 img.higashi {
		max-width: 195px;
	}
	h2 img.news {
		max-width: 99px;
	}
	h2 img.instagram {
		max-width: 86px;
	}
}

/* ヘッダー：サイトタイトル */
.site{
	margin-bottom: 0px;
 }
.site-header {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 90px;
	padding: 44px 34px 0;
	z-index: 100;
	pointer-events: none;
}
.site-header a {
	pointer-events: auto;
}
.site-title a {
	display: block;
	color: #2A4286;
	text-decoration: none;
	font-size: 18px;
	font-weight: 400;
	transition: opacity 0.3s;
}
.site-title a:hover {
	opacity: 0.85;
}
.site-title a img {
	width: 100%;
}
.site-branding {
	float:left;
	width: 140px;
	padding-top: 0;
	padding-left: 15px;
}
.site-content{
	margin-top: 0;
}
 .site-branding h1{
    margin: 0;
    font-size: 2em;
}
 .site-branding p{
    margin: 0;
    color: #999;
    font-size: 0.8em;
}
 .content-post-area{
    padding:30px 90px;
}
 .featured-image{
    padding: 5px;
     border:1px dotted #eee;
    display: block;
}
.hentry{
    margin-bottom: 0;
}

header.subpage {
	background-color: #000;
	background-image: url(/wp-content/uploads/2025/03/bg_p1.jpg);
	background-position: center;
	background-size: cover;
	padding: 170px 0 80px;
}
header.subpage h2 {
	margin-bottom: 0;
	padding-bottom: 0;
}
header.subpage h2:after {
	content: none;
}
/* 特定商取引法 */
body.page-id-31 header.subpage h2 {
	padding-left: 40px;
	padding-right: 40px;
	font-size: 5.4rem;
	line-height: 100%;
}
@media screen and (max-width: 1300px) {
	header.subpage {
		padding: 140px 0 90px;
	}
}
@media screen and (max-width: 940px) {
	header.subpage {
		padding: 100px 0 70px;
	}
	body.page-id-31 header.subpage h2 {
		font-size: 4.8rem;
	}
}
@media screen and (max-width: 767px) {
	header.subpage h2 {
		font-size: 5.2rem;
	}
	body.page-id-31 header.subpage h2 {
		font-size: 4.5rem;
	}
}
@media screen and (max-width: 640px) {
	header.subpage h2 {
		font-size: 4.9rem;
	}
}
@media screen and (max-width: 540px) {
	header.subpage h2 {
		font-size: 4.2rem;
	}
	body.page-id-31 header.subpage h2 {
		font-size: 3.9rem;
	}
}
@media screen and (max-width: 480px) {
	header.subpage {
		padding: 80px 0 40px;
	}
	body.page-id-31 header.subpage h2 {
		padding-left: 10px;
		padding-right: 10px;
		font-size: 3.7rem;
		line-height: 110%;
	}
}

footer,.entry-meta{
    font-style: italic;
    font-size: 0.8em;
}
.entry-meta {
	margin-bottom: 2px;
	text-align: right;
	font-size: 1.1rem;
	font-weight: normal;
	font-style: normal;
}
.cat-links, .tags-links {
    font-size: 1.1rem;
    clear: both;
}
.cat-links a, .tags-links a {
	color: #fff;
}
.cat-links a:hover, .tags-links a:hover {
	text-decoration: none;
}
.cat-links a:not(:last-child), .tags-links a:not(:last-child) {
	margin-right: 6px;
}
body.single div.entry-content {
	padding-top: 40px;
	font-size: 11pt;
	clear: right;
}
@media screen and (max-width: 480px) {
	body.single div.entry-content {
		padding-top: 20px;
	}	
}
@media screen and (max-width: 380px) {
	body.single div.entry-content {
		padding-top: 15px;
	}	
}

/* ヘッダー：メインメニュー */
.main-navigation {
	float: right;
	width: calc(100% - 430px);
	padding-top: 0;
	text-align: right;
	clear: none;
}
.main-navigation .menuWrap {
	display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-end;
}
.main-navigation ul {
	display: block;
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 1.5em;
	left: -999em;
	z-index: 99999;
}
.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}
.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
	left: auto;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
	left: 100%;
}
.main-navigation li {
	position: relative;
	display: inline-block;
	float: none;
}
.main-navigation li:not(:last-child) {
	margin-right: 8px;
}
.main-navigation a {
	display: block;
	text-decoration: none;
}
.main-navigation li.sml a {
	text-align: left;
	font-size: 9pt;
	line-height: 120%;
}
.main-navigation li.sml a span {
	display: block;
}
.main-navigation ul > li > a {
	position: relative;
	display: inline-block;
	padding: 0 10px;
	color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 23px;
}
.main-navigation ul > li > a:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -5px;
	display: block;
	width: 0%;
	height: 2px;
	background-color: #fff;
	transform: translatex(-50%);
	transition: width 0.3s;
}
.main-navigation ul > li > a:hover {
	color: #efefef;
	text-decoration: none;
	opacity: 1;
}
.main-navigation ul > li > a:hover:after {
	width: 100%;
}
.main-navigation ul > li > a img {
	display: block;
	width: 91px;
}
.main-navigation ul > li.boxed {
	margin-left: 20px;
}
.main-navigation ul > li.boxed > a {
	border: 1px solid #fff;
	padding: 4px 30px 5px;
}
.main-navigation ul > li.boxed > a:after {
	content: none;
}
.main-navigation ul ul a {
	width: 200px;
}
 .main-navigation ul li:hover ul{
    display: block;
}
 .main-navigation ul ul{
    box-shadow: none;
    width:150px;
    display: none;
     top: 55px;
    left:0;
    text-align: left;
    background: #fff;
    border-bottom:1px solid #ddd;
}
 .main-navigation ul ul a{
    width: 100%;
    line-height: 30px;
    border-top:1px solid #ddd;
    display: block;
}
.main-navigation ul ul li{
    display: block;
}

.main-navigation .sns {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	margin-left: 12px;
	line-height: 100%;
	transform: translatey(-6px);
}
.main-navigation .sns a {
	padding: 0;
}
.main-navigation .sns a:not(:last-child) {
	margin-right: 10px;
}
.main-navigation .sns a img {
	display: block;
	width: 27px;
	transform: translateY(1px);
}

/* comments */
.comments-area{
	margin-top: 30px;
	border-top: 1px dotted #ccc;
	padding-top: 30px;
}
.comments-area h2{
	margin-bottom: 15px;
}
.comments-area ol{
	margin: 0;
	list-style: none;
}
.comments-area ol.comment-list{
	padding: 0;
}
.comments-area ol.comment-list article{
	margin-bottom: 15px;
	background: #eee;
	padding: 15px;
	border-radius: 5px;
}
.comments-area footer{
	background: none;
	padding: 0;
}
.comments-area .comment-form label,.comments-area .comment-form input{
	display: block;
	font-weight: 400;
}
.comments-area .comment-form input,.comments-area .comment-form textarea{
	border:1px solid #ddd;
	border-radius: 0;
	box-shadow: none;
	padding: 10px;
	width: 100%;
}
.comments-area .comment-form .form-submit input{
	background:#2A4286;
	color: #fff;
	border:none;
	font-size: 13px;
	text-shadow:none;
}

/* secondary */
#secondary {
	display: none;
}

/* フッター */
footer {
	background-color: #01609a;
}
footer h2 {
	margin: 0 auto;
	width: calc(100% - 40px);
	max-width: 980px;
	text-align: left;
	color: #fff;
	font-size: 18pt;
	font-weight: normal;
	line-height: 100%;
}
footer .footer-info {
	padding: 26px 0 6px;
	text-align: center;
	color: #fff;
	font-style: normal;
}
body.page-id-2049 footer .footer-info, body.page-id-3136 footer .footer-info {
	border-top-color: #3f906d;
}

footer .footer-info .contact {
	margin-bottom: 20px;
	font-size: 20pt;
	font-weight: bold;
}
footer .footer-info .contact a {
	color: #fff;
	font-weight: normal;
}
footer .footer-info .contact a:hover {
	opacity: 1;
}
footer .footer-info .contact > span {
	position: relative;
    display: inline-block;
	font-size: 11pt;
}
footer .footer-info .contact > span i {
	font-size: 13pt;
}
footer .footer-info .contact h3.uline + span {
	margin-top: 0;
}
footer .footer-info .contact h3.uline + span:before {
	content: none;
}
footer .footer-info .sns {
	margin-bottom: 60px;
}
footer .footer-info .sns a {
	display: inline-block;
	color: #fff;
	font-size: 36pt;
	line-height: 48px;
}
footer .footer-info .sns a i {
	line-height: 100%;
}
footer .footer-info .sns a.hastitle {
	position: relative;
}
footer .footer-info .sns a.hastitle span{
    position: absolute;
    top: 52px;
    left: -24px;
	display: block;
	width: 90px;
    text-align: center;
    font-size: 8pt;
	line-height: 140%;
}
footer .footer-info .sns a:not(:last-child) {
	margin-right: 40px;
}
footer .footer-info p {
	box-sizing: border-box;
	display: block;
	margin-bottom: 16px;
	width: 100%;
	padding: 0 10px;
	text-align: center;
	color: #fff;
	font-size: 8pt;
	letter-spacing: 0.5px;
	line-height: 140%;
}
footer .footer-info p span {
	display: inline-block;
}
footer .footer-info p.address {
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 150%;
}

footer .footer-info ul{
    margin: 0;
    padding: 0;
}
 footer .footer-info ul li{
    list-style: none;
    display: inline-block;
    padding: 0;
}
 footer .footer-info ul ul{
    display: none;
}
footer .footer-info ul li a:hover{
    text-decoration: underline;
    color: #aaa;
}
footer .links {
	margin-bottom: 20px;
	padding: 0 20px;
}
footer .links a {
	display: inline-block;
	color: #fff;
}
footer .links a:not(:last-child) {
	margin-right: 20px;
}
.copyright{
    max-width: 400px;
}

#footer {
    background: #232429;
    font-size: 12px;
    color: #fff;
    padding: 30px 0;
}

h3.uline {
	margin-bottom: 60px;
	border-bottom: none;
	padding: 0;
	text-align: center;
	font-family: "Sofia Sans Condensed", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 6rem;
}
h3.uline > span {
	position: relative;
	display: inline-block;
	padding-bottom: 16px;
}
h3.uline > span:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    width: calc(100% - 1em);
    height: 2px;
    background: #e6e6e6;
	transform: translatex(-50%);
}
#youtube h3.uline {
	margin-bottom: 50px;
	color: #fff;
}
#youtube h3.uline > span:after {
	width: calc(100% - 1.5em);
	background-color: #fff;
}
footer h3.uline {
	margin-bottom: 16px;
	font-size: 2.4rem;
	color: #fff;
}
footer h3.uline > span {
	padding-bottom: 28px;
}
footer h3.uline > span:after {
	background-color: #fff;
}

#ftlink {
	padding: 0;
}
body.page-id-2049 #ftlink, body.page-id-3136 #ftlink {
	background: #3f906d;
}
#ftlink ul {
	list-style-type: none;
	text-align: center;
	padding: 7px 0 13px;
}
#ftlink ul li {
	display: inline-block;
}
#ftlink ul li a {
	display: inline-block;
	color: #fff;
	font-size: 9pt;
	line-height: 100%;
	font-weight: bold;
	letter-spacing: 0.5px;
	text-decoration: none;
	border: 1px solid #fff;
	border-radius: 100px;
	padding: 4px 24px 6px;
	margin: 0 6px;
	-webkit-font-smoothing: antialiased;
}
body.page-id-2049 #ftlink ul li a, body.page-id-3136 #ftlink ul li a {
	background: #30795a;
}
@media screen and (max-width: 1100px) {
	footer .footer-info {
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 840px) {
	footer .footer-info .container > div {
		margin-bottom: 25px;
		text-align: center;
	}
	footer .footer-info .lg {
		display: block;
		margin: 0 auto 12px;
	}
	footer .footer-info .container > div number, footer .footer-info .container > div span {
		display: inline-block;
	}
	h3.uline {
		margin-bottom: 44px;
		font-size: 5rem;
	}
	h3.uline > span {
		padding-bottom: 9px;
	}
}
@media screen and (max-width: 740px) {
	#ftlink ul {
        box-sizing: border-box;
        margin: 0 auto;
        width: 100%;
        padding: 0 10px;
        padding-top: 0;
        padding-bottom: 0;
        max-width: 420px;
    }
	#ftlink ul li, #ftlink ul li a {
		display: inline-block;
		width: auto;
		background-color: transparent;
	}
	#ftlink ul li {
		padding-right: 0;
	}
	#ftlink ul li a {
		border: none;
		height: auto;
		padding: 8px 0 6px;
		line-height: 100%;
	}
	footer h3.uline > span {
		padding-bottom: 14px;
	}
}
@media screen and (max-width: 640px) {
	footer .footer-info {
		margin-bottom: 50px;
		padding-top: 30px;
	}
	footer .footer-info .mainlogo {
		max-width: 240px;
	}
	footer .footer-info .contact {
		font-size: 17pt;
	}
	h3.uline {
		font-size: 4.2rem;
	}
}
@media screen and (max-width: 540px) {
	h3.uline {
		margin-bottom: 30px;
	}
	footer h3.uline {
		margin-bottom: 10px;
		font-size: 15pt;
	}
}
@media screen and (max-width: 480px) {
	footer .footer-info {
		padding-top: 23px;
	}
	footer .footer-info .mainlogo {
		margin-bottom: 20px;
		max-width: 200px;
	}
	footer .footer-info .lg {
		max-width: 166px;
	}
	footer .footer-info .contact {
		margin-top: 0;
		margin-bottom: 12px;
		font-size: 9pt;
	}
	footer .footer-info .container > div + div {
		margin-bottom: 25px;
	}
	footer .footer-info p.address {
		font-size: 1.4rem;
	}
	footer .links a {
		font-size: 10pt;
	}
}
@media screen and (max-width: 460px) {
	footer .footer-info .contact {
		margin-bottom: 20px;
		font-size: 14pt;
	}
	#ftlink ul li a {
		margin: 0 4px;
		font-size: 8pt;
	}
}
@media screen and (max-width: 420px) {
	footer .footer-info .contact {
		font-size: 13pt;
	}
	footer .footer-info .contact > span {
		letter-spacing: 0;
	}
}
@media screen and (max-width: 380px) {
	footer .footer-info {
		font-size: 8pt;
	}
	footer .footer-info .container > div {
		margin-bottom: 20px;
		max-width: 300px;
	}
	footer .footer-info .lg {
		margin-bottom: 8px;
	}
	footer .footer-info .copylight {
		font-size: 7pt;
	}
}

#footer {
    background: #232429;
    font-size: 12px;
    color: #fff;
    padding: 30px 0;
}

@media screen and (max-width: 1300px) {
	.site-header {
		padding: 34px 18px 0;
	}
	.main-navigation li:not(:last-child) {
		margin-right: 6px;
	}
	.main-navigation ul > li.boxed {
		margin-left: 13px;
	}
}
@media screen and (max-width: 1180px) {
	.site-header {
		height: 80px;
		padding-top: 26px;
	}
	.site-branding {
		padding-left: 10px;
	}
	.main-navigation {
		width: calc(100% - 360px);
	}
	.main-navigation li:not(:last-child) {
		margin-right: 5px;
	}
	.main-navigation ul > li > a {
		padding: 0 5px;
	}
}
@media (min-width: 1101px){
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: flex !important;
		flex-direction: row;
		align-items: center;
		justify-content: flex-end;
	}
	.main-navigation li.onsp {
		display: none;
	}
	.main-navigation ul > li > a img.onsp {
		display: none;
	}
}
@media (max-width: 1100px) {
	.site-header {
		padding-top: 0;
		padding-bottom: 0;
	}
	.site-header .siteWidth {
		width: 100%;
	}
	
	.site-branding {
		box-sizing: border-box;
		padding-top: 21px;
		padding-left: 20px;
	}
	
	.main-navigation a.sns {
		display: none;
	}
	
	.menu-main-container {
		width: 100%;
		padding: 22px 8px 0;
		opacity: 0.95;
	}
	.menu-toggle, .main-navigation.toggled ul {
		display: block;
	}
    #site-navigation .menu-toggle {
		box-sizing: border-box;
		position: absolute;
		top: 18px;
		right: 18px;
		display: block;
		border: none;
		border-radius: 3px;
		width: 52px;
		height: 34px;
		background-color: transparent;
		padding: 6px;
		box-shadow: none;
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
		z-index: 100;
		cursor: pointer;
		transition: border 0.6s;
		pointer-events: auto;
    }
    #site-navigation .menu-toggle:focus {
	    outline: 0;
    }
	#site-navigation .menu-toggle > div {
		position: relative;
		margin-top: 12px;
		margin-bottom: 12px;
	}
	#site-navigation .menu-toggle > div, #site-navigation .menu-toggle > div:before, #site-navigation .menu-toggle > div:after {
		display: block;
		width: 40px;
		height: 3px;
		background-color: #fff;
		transition-property: background-color, transform;
		transition-duration: 0.4s;
	}
	#site-navigation .menu-toggle > div:before, #site-navigation .menu-toggle > div:after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
	}
	#site-navigation .menu-toggle > div:before {
		transform: translate(-50%, -12px);
	}
	#site-navigation .menu-toggle > div:after {
		transform: translate(-50%, 8px);
	}
	#site-navigation.toggled .menu-toggle > div {
	  background-color: transparent;
	}
	
	#site-navigation.toggled .menu-toggle > div:before,
	#site-navigation.toggled .menu-toggle > div:after {
		top: 50%;
		left: 50%;
		width: 36px;
		background-color: #fff;
	}
	#site-navigation.toggled .menu-toggle > div:before {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	#site-navigation.toggled .menu-toggle > div:after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	
	.main-navigation {
		width: 100%;
		padding-top: 18px;
	}
	.main-navigation .menuWrap {
		position: absolute;
		top: 0;
		left: 0;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		height: 0;
		background-color: #000;
		overflow: hidden;
		transition: height 0.6s ease;
	}	
	.main-navigation.toggled .menuWrap {
		height: 362px;
	}
	.main-navigation ul {
		margin-bottom: 12px;
	}	
	.main-navigation li {
		display: block;
		float: left;
		width: 100%;
		text-align: left;
	}
	.main-navigation li:not(:last-child) {
		margin-right: 0;
	}
	.main-navigation ul > li.boxed {
		margin-left: 0;
	}
	.main-navigation ul > li > a {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		border-bottom: 1px solid #d0d0d0;
		height: 42px;
		background: none;
		padding: 0 20px;
		color: #fff !important;
	}
	.main-navigation ul > li.sns > a {
		height: 54px;
	}
	.main-navigation ul > li.boxed > a {
		border: none;
		padding: 0 20px;
	}
	.main-navigation ul li.sns a img {
		width: 30px;
	}
	.main-navigation ul > li > a img.onpc {
		display: none;
	}
	.main-navigation ul li > a:before {
		content: none;
	}
	.main-navigation ul > li > a::after {
		content: none;
	}

     .main-navigation ul ul{
        padding-left: 15px;
    }
     footer .footer-info ul li{
        padding: 0 15px 0 0;
    }
	.main-navigation .sns {
		margin-left: 0;
	}
}
@media screen and (max-width: 640px) {
	.site-header {
		height: 67px;
	}
	.site-branding {
		width: 110px;
		padding-top: 14px;
		padding-left: 12px;
	}
	#site-navigation .menu-toggle {
		top: 12px;
		width: 46px;
	}
	#site-navigation .menu-toggle > div, #site-navigation .menu-toggle > div:before, #site-navigation .menu-toggle > div:after {
		width: 34px;
	}
	#site-navigation .menu-toggle > div {
		margin-top: 9px;
		margin-bottom: 10px;
	}
	#site-navigation .menu-toggle > div:before {
		transform: translate(-50%, -10px);
	}
	#site-navigation .menu-toggle > div:after {
		transform: translate(-50%, 7px);
	}
}
@media screen and (max-width: 480px) {
	.site-branding {
		width: 84px;
		padding-top: 17px;
		padding-left: 0;
	}
	#site-navigation .menu-toggle {
		right: 12px;
	}
}

/* トップページ：mainv */
#mainv {
	position: relative;
	padding-top: 880px;
}
#mainv .onimg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#mainv .bg_hkd {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(/wp-content/uploads/2025/02/lg_hkd.svg);
	background-position: center center;
	background-size: 540px;
	background-repeat: no-repeat;
	opacity: 0.2;
	transition: opacity 0.6s;
}
#mainv .bg_hkd.ready {
	opacity: 0;
}
#mainv .phs {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1080px;
	height: 100%;
}
#mainv .phs .ph {
	position: absolute;
	border-radius: 80px;
	background-position: center;
	background-size: cover;
	opacity: 1;
	transition: opacity 0.5s, transform 0.65s cubic-bezier(0, 0, 0.3, 1), margin 0.65s cubic-bezier(0, 0, 0.3, 1);
}
#mainv .phs .ph.first {
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	left: 8%;
	width: 29%;
	height: 49%;
	background-position: bottom center;
	transform: translatey(0%);
}
#mainv .phs .ph.second {
	top: 3%;
	left: 35%;
	bottom: 39%;
	width: 65%;
	margin-left: 0%;
	transition-delay: 0.2s;
}
#mainv .phs .ph.third {
	right: 8%;
	bottom: 0;
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
	width: 39%;
	height: 35%;
	transform: translatey(0%);
}
#mainv .phs:not(.ready) .ph.third {
	transition: opacity 0.5s, transform 0.7s cubic-bezier(0, 0, 0.3, 1);
	transition-delay: 0.45s;
}
#mainv .phs .ph.fourth {
	top: 53%;
	right: 50%;
	bottom: 3%;
	width: 50%;
	margin-right: 0%;
}
#mainv .phs:not(.ready) .ph.fourth {
	transition: opacity 0.6s, margin 0.8s cubic-bezier(0, 0, 0.1, 1);
	transition-delay: 0.73s;
}
#mainv .phs.ready .ph {
	opacity: 0;
}
#mainv .phs.ready .ph.first {
	transform: translatey(-100%);
}
#mainv .phs.ready .ph.second {
	margin-left: 65%;
	transition-delay: 0.15s;
}
#mainv .phs.ready .ph.third {
	transform: translatey(100%);
	transition-delay: 0.3s;
}
#mainv .phs.ready .ph.fourth {
	margin-right: 65%;
	transition-delay: 0.45s;
}
#mainv h1 {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: opacity 1.4s;
	z-index: 1;
}
#mainv h1.ready {
	opacity: 0;
}
#mainv h1 img {
	width: calc(100% - 180px);
	max-width: 690px;
}
@media screen and (max-width: 1240px) {
	#mainv {
		padding-top: 72%;
	}
}
@media screen and (max-width: 1080px) {
	#mainv h1 img {
		/*max-width: 460px;*/
	}
}
@media screen and (max-width: 840px) {
	#mainv h1 img {
		/*max-width: 360px;*/
	}
}
@media screen and (max-width: 640px) {
	#mainv h1 img {
		width: calc(100% - 120px);
		/*max-width: 280px;*/
	}
}
@media screen and (max-width: 540px) {
	#mainv h1 {
		padding-top: 20px;
	}
	#mainv h1 img {
		/*max-width: 240px;*/
	}
}
@media screen and (max-width: 480px) {
	#mainv h1 img {
		width: calc(100% - 80px);
		/*max-width: 210px;*/
	}
}
@media screen and (max-width: 380px) {
	#mainv img.concept {
		bottom: 4%;
	}
	#mainv .codmon {
		width: 120px;
	}
	#mainv h1 img.about {
		width: 111px;
	}
	#mainv h1 img.event {
		width: 94px;
	}
	#mainv h1 img.facilities {
		width: 81px;
	}
	#mainv h1 img.admission {
		width: 112px;
	}
	#mainv h1 img.contact {
		width: 113px;
	}
	#mainv h1 img.news {
		width: 132px;
	}
	#mainv h1 img.news2 {
		width: 73px;
	}
}

/* 汎用Class */
.siteWidth {
	width: calc(100% - 40px);
	/*max-width: 960px;*/
	margin: 0 auto;
}
@media screen and (max-width: 420px) {
	.siteWidth {
		width: calc(100% - 20px);
	}
}

.inbl {
	display: inline-block;
}

.cf:after {
	content: "";
	display: table;
	clear: both;
}

.blk:not(:last-child) {
	margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
	.blk:not(:last-child) {
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 480px) {
	.blk:not(:last-child) {
		margin-bottom: 40px;
	}
}

.cols2 {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

/* 戻るボタン */
#rwdwp {
	position: fixed;
	right: 32px;
	bottom: 65px;
	width: 48px;
	height: 48px;
	z-index: 120;
}
#rwd {
	box-sizing: border-box;
	border: 1px solid #01609a;
	border-radius: 24px;
	background-color: #01609a;
	width: inherit;
	height: inherit;
	opacity: 0;
	transition: opacity 0.7s;
}
#rwd a {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: inherit;
	height: inherit;
	padding: 4px 3px 0 0;
	text-align: center;
	color: #3a2b20;
	font-size: 18px;
	vertical-align: middle;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	outline: none;
}
#rwd a div {
	width: 14px;
	height: 14px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(-45deg);
}
@media screen and (max-width: 420px) {
	#rwdwp {
		right: 12px;
		bottom: 26px;
	}
}

/* アンカーリンク：とび先スクロール地点ずらし */
.ankerLocationer {
	position: absolute;
	left: 0;
	top: -100px;
}
@media screen and (max-width: 767px) {
	.ankerLocationer {
		top: -80px;
	}
}

/* コンテンツブロック */
.wr, .wr.nowidth > .inr,
body.single #pagecol, body.archive #pagecol, body.blog #pagecol,
body.search-results #pagecol, body.error404 #pagecol {
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 40px);
	max-width: 1200px;
}
.wr {
	padding: 130px 0 170px;
}
body.home .wr {
	background-size: cover;
	padding: 130px 0 160px;
}
body.home .wr:nth-child(even) {
	background-color: #333;
}
.wr.nowidth {
	width: 100%;
	max-width: none;
}
@media screen and (max-width: 940px) {
	.wr {
		padding-top: 110px;
		padding-bottom: 150px;
	}
	body.home .wr {
		padding-top: 106px;
		padding-bottom: 140px;
	}
}
@media screen and (max-width: 767px) {
	.wr {
		padding-top: 90px;
		padding-bottom: 110px;
	}
}
@media screen and (max-width: 640px) {
	.wr {
		padding-top: 80px;
	}
	body.home .wr {
		padding-top: 90px;
		padding-bottom: 120px;
	}
}
@media screen and (max-width: 480px) {
	.wr, .wr.nowidth > .inr,
	body.single #pagecol, body.archive #pagecol, body.blog #pagecol,
	body.search-results #pagecol, body.error404 #pagecol {
		width: calc(100% - 20px);
	}
	.wr {
		padding-top: 60px;
		padding-bottom: 90px;
	}
	body.home .wr {
		padding-top: 80px;
		padding-bottom: 110px;
	}
}

/* ニュース一覧 */
ul.newsList {
	list-style: none;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
}
ul.newsList > li {
	margin: 0 24px 24px 0;
	border: 1px solid #ddd;
	width: calc((100% - 48px) / 3 - 0.1px);
}
ul.newsList.separate4 > li {
	width: calc((100% - 72px) / 4 - 0.1px);
}
ul.newsList > li .thumb {
	position: relative;
	display: block;
	margin-bottom: 15px;
	padding-top: 56.25%;
}
ul.newsList > li .thumb figure {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
ul.newsList > li .thumb figure.nope {
	background-color: #333;
}
ul.newsList li > div {
	padding: 0 12px 28px;
}
ul.newsList li .date {
    color: #686868;
	font-size: 1.2rem;
}
ul.newsList li h4 {
	margin-bottom: 0.8em;
	max-height: 4.3em;
	font-size: 1.5rem;
	line-height: 140%;
    overflow: hidden;
}
ul.newsList li h4 a {
	color: #000;
}
ul.newsList li .opt {
	display: inline-block;
	font-size: 1.1rem;
	letter-spacing: 0.5px;
	line-height: 180%;
}
ul.newsList li .opt a {
	display: inline-block;
	margin: 0 5px 3px 0;
    font-size: 9px;
    line-height: 9px;
    font-weight: bold;
    background: #222;
    padding: 4px 6px;
    border-radius: 4px;
    color: #fff;
}
ul.newsList li .opt a:hover {
	text-decoration: none;
}
ul.newsList li p.exp {
	margin-bottom: 0;
	font-size: 1.3rem;
}
@media screen and (min-width: 981px) {
	ul.newsList.separate4 > li:nth-child(4n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 980px) {
	ul.newsList.separate4 > li {
		width: calc((100% - 48px) / 3 - 0.1px);
	}
}
@media screen and (max-width: 980px) and (min-width: 768px) {
	ul.newsList.separate4 > li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (min-width: 768px) {
	ul.newsList:not(.separate4) > li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 767px) {
	ul.newsList > li, ul.newsList.separate4 > li {
		width: calc((100% - 24px) / 2 - 0.1px);
	}
	ul.newsList > li h4 {
		font-size: 1.6rem;
	}
	ul.newsList > li h4 a {
		color: #000;
	}
	ul.newsList > li .opt {
		font-size: 1.2rem;
	}
	ul.newsList > li:nth-child(2n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 540px) {
	ul.newsList > li {
		margin-right: 20px;
		margin-bottom: 40px;
		width: calc((100% - 20px) / 2 - 0.1px);
	}
}
@media screen and (max-width: 480px) {
	ul.newsList li .opt {
		font-size: 1.2rem;
	}
	ul.newsList li p.exp {
		max-height: 7.2em;
		overflow: hidden;
	}
}

/* ニュース一覧：デザインその２ */
ul.newsList2 {
	margin-left: 0;
	padding-left: 0;
}
ul.newsList2 li {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
ul.newsList2 li:not(:last-child) {
	margin-bottom: 100px;
}
ul.newsList2 li > div {
	width: 100%;
}
ul.newsList2 li .date {
	text-align: right;
	font-size: 1.1rem;
	line-height: 160%;
}
ul.newsList2 li h4 {
	border-bottom: 2px solid #c3c3c3;
	padding: 0 0 6px 4px;
	font-size: 2.1rem;
	line-height: 146%;
}
ul.newsList2 li h4 a {
	color: #fff;
}
ul.newsList2 li .info {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
ul.newsList2 li .opt {
	text-align: right;
	font-size: 10.5pt;
	letter-spacing: 0.5px;
	line-height: 180%;
}
ul.newsList2 li .opt a {
	display: inline-block;
	color: #fff;
}
ul.newsList2 li a {
	text-decoration: none;
}
ul.newsList2 li > a {
	width: 88px;
}
ul.newsList2 li > a figure {
	margin: 0;
	padding-top: 100%;
	background-position: center;
	background-size: cover;
}
ul.newsList2 li p.exp {
	margin-top: 10px;
	margin-bottom: 24px;
	font-size: 1.5rem;
	line-height: 160%;
}
ul.newsList2 li .todetail {
	text-align: right;
}
ul.newsList2 li .todetail a {
	color: #fff;
}
ul.newsList2 li .todetail a:before {
	content: '';
	display: inline-block;
	margin-right: 26px;
	width: 34px;
	height: 6px;
	border-bottom: solid 1px;
	border-right: solid 2px;
	transform: skew(45deg) translate(14px, -3px);
	transition: transform 0.2s cubic-bezier(0, 0, 0.5, 1);
	backface-visibility: hidden;
}
@media screen and (min-width: 481px) {
	ul.newsList2 li > a {
		width: 124px;
	}
}

/* セパレートブロック */
#pagecol {
	padding: 130px 0 170px;
}
#pagecol:after {
	content: "";
	display: table;
	clear: both;
}
#pagecol > div.pagemain {
	float: left;
	width: calc(100% - 358px);
}
#pagecol > div.pagemain .entry-content p {
	font-size: 15pt;
    line-height: 26pt;
    letter-spacing: 0.5px;
}
body.single #pagecol > div.pagemain .entry-content p {
	font-size: 1.5rem;
	letter-spacing: 0.5px;
	line-height: 180%;
}
#pagecol h2 {
	/*text-align: left;
	font-weight: bold;
	font-size: 3rem;
	line-height: 150%;
	letter-spacing: 1px;
	border-bottom: solid 2px #125993;
	padding: 0 0 6px 3px;
	margin-bottom: 1em;*/
	margin-bottom: 74px;
}
#pagecol h2.ja {
	padding-bottom: 26px;
	font-family: inherit;
	font-style: normal;
	font-size: 4rem;
}
#pagecol h2.ja:after {
	width: 11.5em;
}
#pagecol h3 {
	margin-bottom: 12px;
	border-bottom: 2px solid #888;
	padding: 0 0 6px 4px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 140%;
}
body.archive #pagecol h3 {
	margin-bottom: 64px;
	border-bottom-color: #fff;
	padding-bottom: 10px;
	font-size: 2.9rem;
}
#pagecol > div.pagemain .blk:last-child {
	padding-bottom: 0;
}
#pagecol h3 + .info {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
#pagecol h3 + .info .terms {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
	padding-left: 2em;
}

#pagecol > div.pagesub {
	float: right;
	width: 260px;
	padding-top: 15px;
}
#pagecol > div.pagesub > a:first-child {
	margin-top: 27px;
	display: inline-block;
}
#pagecol > div.pagesub > a:first-child img {
	width: 100%;
}
#pagecol > div.pagesub h3 {
	margin-bottom: 8px;
	border-bottom: solid 2px #ccc;
	padding: 0 0 0.4em 0.3em;
	font-size: 13pt;
	letter-spacing: 0.5px;
}
#pagecol > div.pagesub ul {
	margin-left: 0;
	padding-left: 0;
}
#pagecol > div.pagesub li {
	list-style: none;
}
#pagecol > div.pagesub ul > li {
	line-height: 140%;
}
ul.list_cat > li.year > a:after {
	content: "\25B6\FE0E";
}
ul.list_cat > li.year > a.open:after {
	content: "\25BC";
}
ul.list_cat > li.year > a:not(.open) + ul {
	display: none;
}
ul.list_cat > li.year > a + ul > li:last-child {
	border-bottom: none;
}
ul.list_cat > li.year > a + ul > li > a {
	padding-left: 22px;
}
@media screen and (max-width: 1040px) {
	#pagecol > div.pagemain {
		width: calc(100% - 340px);
	}
}
@media screen and (max-width: 940px) {
	#pagecol {
		padding-top: 110px;
		padding-bottom: 150px;
	}
	#pagecol h3 {
		font-size: 2.2rem;
	}
	ul.newsList2 li:not(:last-child) {
		margin-bottom: 80px;
	}
}
@media screen and (max-width: 840px) {
	#pagecol > div.pagemain, #pagecol > div.pagesub {
		float: none;
	}
	#pagecol > div.pagemain {
		margin-bottom: 60px;
		width: 100%;
	}
	#pagecol > div.pagesub {
		margin: 0 auto;
		width: 100%;
		max-width: 480px;
	}
	#pagecol > div.pagesub > a {
		display: block !important;
		margin: 0 auto;
		max-width: 280px;
	}
	#pagecol > div.pagesub iframe {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	#pagecol {
		padding-top: 90px;
		padding-bottom: 110px;
	}
}
@media screen and (max-width: 640px) {
	#pagecol {
		padding-top: 60px;
	}
	#pagecol h2 {
		margin-bottom: 40px;
	}
	#pagecol h3 {
		font-size: 2rem;
	}
	body.archive #pagecol .pagemain h3 {
		font-size: 2.7rem;
	}
	ul.newsList2 li h4 {
		font-size: 1.9rem;
	}
	body.single #pagecol > div.pagemain .entry-content p {
		font-size: 11pt;
	}
}
@media screen and (max-width: 540px) {
	#pagecol > div.pagemain {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 480px) {
	#pagecol {
		padding-top: 60px;
		padding-bottom: 90px;
	}
	#pagecol h2 {
		margin-bottom: 34px;
	}
	body.archive #pagecol h3 {
		margin-bottom: 54px;
		font-size: 2.4rem;
	}
	ul.newsList2 li:not(:last-child) {
		margin-bottom: 70px;
	}
	ul.newsList2 li h4 {
		font-size: 1.8rem;
	}
	ul.newsList2 li .todetail a {
		font-size: 1.5rem;
	}
	body.single #pagecol > div.pagemain .entry-content p {
		font-size: 10pt;
	}
}
@media screen and (max-width: 380px) {
	#pagecol > div.pagemain {
		margin-bottom: 30px;
	}
}

ul.list_cat, ul.dsc {
	margin-left: 0;
	margin-bottom: 70px;
	padding-left: 0;
}
.pagesub ul.list_cat:last-child {
	margin-bottom: 0;
}
.cols2.typelist ul.list_cat {
	margin-bottom: 30px;
}
ul.list_cat li, ul.dsc li {
	list-style: none;
	border-bottom: solid 1px #ccc;
}
ul.dsc li:last-child {
	border-bottom: none;
}
ul.list_cat li ul {
	margin-left: 0;
	padding-left: 0;
}
ul.list_cat li a, ul.dsc li a {
	color: #fff;
	font-size: 11pt;
	line-height: 17pt;
	text-decoration: none;
	padding: 8px 11px;
	letter-spacing: 0.5px;
	display: block;
}
ul#relates.list_cat li a {
	padding: 12px 10px;
}
.cols2.typelist ul.list_cat li a {
	padding-top: 10px;
	padding-bottom: 10px;
}
ul.list_cat li a .chargeMark {
	display: inline-block;
	margin-left: 15px;
}
ul.list_cat li a, ul.list_cat li a .chargeMark img {
	vertical-align: sub;
}
ul.list_cat li a .chargeMark img:first-child {
	margin-right: 8px;
}
/*ul.list_cat li a, */ul.dsc li a i {
	font-size: 28pt;
}
/*ul.list_cat li a, */ul.dsc li a i.fa-file-pdf {
	color: #e30000;
}
ul.list_cat li a:hover, ul.dsc li a:hover {
	background: #454545;
}
ul.list_cat li a span {
	padding: 0 10px;
}
.num {
	padding: 0 10px;
	letter-spacing: 2px;
	font-family: 'Abel', sans-serif;
}
ul.list_cat li a span.num {
	font-family: inherit;
}
@media screen and (max-width: 840px) {
	ul.list_cat, ul.dsc {
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 640px) {
	ul.list_cat, ul.dsc {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 480px) {
	ul.dsc li a i {
		font-size: 16pt;
	}
}
@media screen and (max-width: 420px) {
	ul.list_cat li a .chargeMark {
		margin-left: 5px;
		padding: 0;
	}
}

/* 記事一覧：ページ送り */
.pagenav {
	margin-top: 60px;
	padding: 0 10px;
	text-align: center;
}
.pagenav:empty {
	margin-top: 0;
}
.pagenav .pagination {
	justify-content: center;
}
.pagenav span, .pagenav a {
	display: inline-block;
	margin: 0 12px 10px 0;
	border: 1px solid #707070;
	min-width: 32px;
	height: 32px;
	padding: 7px 8px 5px;
	font-family: Arial, sans-serif;
	font-weight: bold;
	font-size: 1.6rem;
	letter-spacing: 0.5px;
	text-indent: 0.5px;
	line-height: 100%;
}
.pagenav span:not(.dots) {
	background-color: #000;
	color: #fff;
}
.pagenav .dots {
	border: none;
	padding-left: 4px;
	padding-right: 4px;
	color: #888;
}
.pagenav a {
	text-decoration: none;
}
.pagenav a:hover {
	opacity: 0.8;
}
.pagenav a.prev {
	padding-left: 4px;
}
.pagenav a.next {
	padding-right: 4px;
}
@media screen and (max-width: 840px) {
	.pagenav {
		margin-top: 50px;
	}
}

.siteGradient {
	background: linear-gradient(90deg, rgb(98, 176, 227) 30%, rgb(216, 230, 152) 100%) !important;
}

#newsarea {
	position: relative;
}
#newsarea dl {
	margin: 0 0 120px;
}
#newsarea dl:after {
	content: "";
	display: table;
	clear: both;
}
#newsarea dl dt {
	float: left;
	padding-top: 2px;
	width: 180px;
	text-align: right;
	color: #ededed;
	font-size: 10.5pt;
	font-weight: normal;
	line-height: 26px;
}
#newsarea dl dd {
	margin: 0 0 34px;
	padding-left: 200px;
	font-size: 1.5rem;
	line-height: 170%;
}
#newsarea dl dd:last-child {
	margin-bottom: 0;
}
#newsarea dl dd a {
	color: #fff;
}
#newsarea dl dd a:hover {
	opacity: 1;
}
@media screen and (max-width: 1240px) {
	#newsarea .inr h3 img {
		max-width: 380px;
	}
}
@media screen and (max-width: 1040px) {
	#newsarea dl dt {
		width: 120px;
	}
	#newsarea dl dd {
		padding-left: 154px;
	}
}
@media screen and (max-width: 960px) {
	#newsarea dl {
		margin-bottom: 90px;
	}
	#newsarea dl dt {
		padding-top: 1px;
	}
}
@media screen and (max-width: 840px) {
	#newsarea dl dt {
		width: 100px;
	}
	#newsarea dl dd {
		margin-bottom: 18px;
		padding-left: 140px;
	}
}
@media screen and (max-width: 767px) {
	#newsarea .inr h3 img {
		max-width: 320px;
	}
	#newsarea dl {
		margin-bottom: 70px;
	}
}
@media screen and (max-width: 640px) {
	#newsarea .inr h3 img {
		max-width: 280px;
	}
	#newsarea dl {
		margin-bottom: 44px;
	}
	#newsarea dl dt {
		width: 100%;
		padding-top: 0;
		text-align: left;
		color: #ededed;
	}
	#newsarea dl dd {
		margin-bottom: 20px;
		padding-left: 0;
	}
}
@media screen and (max-width: 540px) {
	#newsarea .inr h3 small {
		line-height: 140%;
	}
}
@media screen and (max-width: 480px) {
	#newsarea .inr h3 img {
        max-width: 240px;
    }
	#newsarea a.more.ver2 {
		width: 100%;
	}
	#newsarea dl dd {
		font-size: 1.4rem;
	}
}

div.ctr {
    text-align: center;
}
a.more {
	display: inline-block;
	margin-top: 20px;
	border: 1.5px solid #fff;
	width: auto;
	height: 36px;
	padding: 0 80px;
	color: #fff;
	text-align: center;
	font-size: 8.5pt;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 33px;
}
a.more:hover {
	text-decoration: none;
}
a.more.ver2 {
	position: relative;
	border: 2px solid #fff;
	width: 100%;
	max-width: 340px;
	height: auto;
	padding: 19px 0 20px;
	font-size: 1.7rem;
	letter-spacing: 1px;
	line-height: 100%;
}
a.more.ver2:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 26px;
	display: block;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 12px;
	height: 12px;
	transform: rotate(45deg) translatey(-60%);
	transition: right 0.1s cubic-bezier(0, 0, 0.2, 1);
}
a.more.ver2:hover:after {
	right: 22px;
}
@media screen and (max-width: 767px) {
	a.more.ver2 {
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 480px) {
	a.more.ver2 {
		padding: 15px 0 16px;
	}
}
@media screen and (max-width: 420px) {
	a.more {
		width: 100%;
		padding: 0;
	}
	a.more.ver2 {
		max-width: none;
	}
}

.separator {
	position: relative;
	padding-top: 33.4%;
	background-position: center;
	background-size: cover;
}
.separator > div {
	position: absolute;
	top: 0;
	width: 50.1%;
	height: 100%;
	background-position: center;
	background-size: cover;
}
.separator > div:first-child {
	left: 0;
}
.separator > div:last-child {
	right: 0;
}
@media screen and (min-width: 1601px) {
	.separator {
		padding-top: 530px;
	}	
}
@media screen and (max-width: 767px) {
	.separator {
		padding-top: 28%;
	}
}

#topmenus {
	background-position: center;
	background-size: cover;
	padding-bottom: 40px;
}
#topmenus .btns {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	margin: 0 auto 40px;
	width: 100%;
	max-width: 840px;
}
#topmenus .btns > div {
	width: calc((100% - 60px) / 4);
}
#topmenus .btns a {
	position: relative;
	display: block;
	border-radius: 12px;
	background-color: #fff;
	padding: 20px 5px 16px;
	text-align: center;
	color: #000;
}
#topmenus .btns a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 18px;
	display: block;
	border-top: 2px solid #b5b5b5;
	border-right: 2px solid #b5b5b5;
	width: 10px;
	height: 10px;
	transform: rotate(45deg) translatey(-50%);
}
#topmenus .btns a img {
	display: inline-block;
	margin-bottom: 10px;
	width: calc(100% - 80px);
}
#topmenus .btns a small {
	display: block;
	font-size: 1.5rem;
}
#topmenus .introduction a.bubbles {
	position: relative;
	display: block;
	padding-top: 58.26%;
}
#topmenus .introduction a.bubbles br {
	display: none;
}
#topmenus .introduction a.bubbles span {
	position: absolute;
	border-radius: 50%;
}
#topmenus .introduction a.bubbles span:before {
	content: "";
	display: block;
	width: 0;
	padding-top: 100%;
}
#topmenus .introduction a.bubbles .ttl {
	top: 16.5%;
	left: 4.2%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	width: 31.1%;
	background-color: #ffd900;
	background-image: linear-gradient(90deg, #f08300 0%, #ffd900 100%);
	z-index: 2;
}
#topmenus .introduction a.bubbles .ttl img {
	margin-left: 8.3%;
	width: 75.7%;
}
#topmenus .introduction a.bubbles .ph {
	background-position: center;
	background-size: cover;
}
#topmenus .introduction a.bubbles .ph.one {
	top: 51.8%;
	left: 26.2%;
	width: 23.9%;
	z-index: 4;
}
#topmenus .introduction a.bubbles .ph.two {
	top: 7.3%;
	left: 41.5%;
	width: 39.7%;
	z-index: 3;
}
#topmenus .introduction a.bubbles .ph.three {
	top: 52.7%;
	left: 68%;
	width: 20.9%;
	z-index: 4;
}
#topmenus .introduction a.bubbles .ph.four {
	top: 10.6%;
	left: 78.3%;
	width: 17.7%;
	z-index: 2;
}
#topmenus .introduction a.bubbles .ph.shadow {
	background-color: #f8b62d;
	box-shadow: 0 0 40px #f8b62d, 0 0 40px #f8b62d, 0 0 40px #f8b62d30;
	z-index: 1;
}
#topmenus .introduction a.bubbles .sample {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0.5;
}
#topmenus .btns.parallax > div {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.6s, transform 0.6s cubic-bezier(0, 0, 0.4, 1);
}
#topmenus .btns.parallax:not(.animated) > div {
	opacity: 0;
	transform: translatey(40px);
}
#topmenus .btns.parallax.animated > div:nth-child(2) {
	transition-delay: 0.15s;
}
#topmenus .btns.parallax.animated > div:nth-child(3) {
	transition-delay: 0.3s;
}
#topmenus .btns.parallax.animated > div:nth-child(4) {
	transition-delay: 0.45s;
}
#topmenus .btns.parallax > div a:after {
	transition: right 0.5s cubic-bezier(0, 0, 0.2, 1);
	transition-delay: 0.15s;
}
#topmenus .btns.parallax.animated > div:nth-child(2) a:after {
	transition-delay: 0.3s;
}
#topmenus .btns.parallax.animated > div:nth-child(3) a:after {
	transition-delay: 0.45s;
}
#topmenus .btns.parallax.animated > div:nth-child(4) a:after {
	transition-delay: 0.6s;
}
#topmenus .btns.parallax:not(.animated) a:after {
	right: 44px;
}
#topmenus .introduction.parallax a.bubbles span {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.5s, transform 0.6s cubic-bezier(0, 0, 0.2, 1);
}
#topmenus .introduction.parallax:not(.animated) a.bubbles span {
	opacity: 0;
	transform: translatey(40px);
}
#topmenus .introduction.parallax.animated a.bubbles .ph.one {
	transition-delay: 0.15s;
}
#topmenus .introduction.parallax.animated a.bubbles .ph.two {
	transition-delay: 0.3s;
}
#topmenus .introduction.parallax.animated a.bubbles .ph.three {
	transition-delay: 0.45s;
}
#topmenus .introduction.parallax.animated a.bubbles .ph.four {
	transition-delay: 0.6s;
}
@media screen and (max-width: 740px) {
	#topmenus .btns a img {
		width: calc(100% - 60px);
	}
	#topmenus .introduction a.bubbles .ttl {
		top: 2.5%;
		width: 40%;
	}
	#topmenus .introduction a.bubbles .ph.one {
		top: 55.8%;
		left: 26.2%;
		width: 21.9%;
	}
	#topmenus .introduction a.bubbles .ph.two {
		top: 16.3%;
	}
	#topmenus .introduction a.bubbles .ph.three {
		left: 72%;
	}
	#topmenus .introduction a.bubbles .ph.four {
		left: 76.3%;
	}
}
@media screen and (max-width: 660px) {
	#topmenus .btns {
		flex-wrap: wrap;
		max-width: 380px;
	}
	#topmenus .btns > div {
		width: calc((100% - 40px) / 2);
	}
	#topmenus .btns > div:nth-child(n + 3) {
		margin-top: 20px;
	}
	#topmenus .introduction a.bubbles .ph.shadow {
		box-shadow: 0 0 24px #f8b62d, 0 0 24px #f8b62d, 0 0 24px #f8b62d30;
	}
}
@media screen and (max-width: 540px) {
	#topmenus .btns {
		margin-bottom: 24px;
	}
	#topmenus .introduction a.bubbles .ttl {
		left: 2.2%;
		width: 46%;
	}
	#topmenus .introduction a.bubbles .ph.one {
		top: 60.8%;
		left: 28.2%;
	}
	#topmenus .introduction a.bubbles .ph.two {
		top: 27.3%;
		left: 45.5%;
		width: 36.7%;
	}
	#topmenus .introduction a.bubbles .ph.three {
		top: 59.7%;
		left: 75%;
	}
	#topmenus .introduction a.bubbles .ph.four {
		top: 18.6%;
		left: 79.7%;
	}
}
@media screen and (max-width: 480px) {
	#topmenus .btns {
		width: calc(100% - 40px);
	}
	#topmenus .btns > div {
		width: calc((100% - 30px) / 2);
	}
	#topmenus .introduction a.bubbles .ph.shadow {
		box-shadow: 0 0 16px #f8b62d, 0 0 16px #f8b62d, 0 0 16px #f8b62d30;
	}
}

#anotherSites section:not(:last-child) {
	margin-bottom: 90px;
}
#anotherSites h3 {
	margin-bottom: 34px;
	border-bottom: none;
	background-image: linear-gradient(90deg, transparent 0%, #fff 20%, #fff 80%, transparent 100%);
	padding: 8px 20px 9px;
	text-align: center;
	font-weight: bold;
}
#anotherSites .btns {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	margin: 0 auto;
	width: calc(100% - 80px);
}
#anotherSites .btns > div {
	width: calc((100% - 60px) / 3);
}
#anotherSites .btns a {
	display: block;
	border-radius: 40px;
	padding-bottom: 10px;
	text-align: center;
	color: #fff;
	overflow: hidden;
}
#anotherSites .btns a:hover {
	text-decoration: none;
}
#anotherSites .btns a.blue {
	background-image: linear-gradient(90deg, #0097e0 20%, #004b73 100%);
}
#anotherSites .btns a.green {
	background-image: linear-gradient(90deg, #8dc556 20%, #406223 100%);
}
#anotherSites .btns a.gold {
	background-image: linear-gradient(90deg, #c1ac3d 20%, #5d530e 100%);
}
#anotherSites .btns a .logo {
	display: block;
	margin: 8px;
	border-top-left-radius: 32px;
	border-top-right-radius: 32px;
	background-color: #fff;
	padding: 12px 5px;
	overflow: hidden;
}
#anotherSites .btns a .logo img {
	height: 76px;
}
#anotherSites .btns a .ttl {
	position: relative;
	display: block;
	margin: 0 8px;
	font-size: 1.7rem;
}
#anotherSites .btns a .ttl img.blank {
	position: absolute;
	right: 0;
	width: 1.2em;
}
#anotherSites .btns a small {
	display: block;
	font-size: 1.4rem;
}
#anotherSites .btns.parallax > div {
	opacity: 1;
	transition: opacity 0.6s;
}
#anotherSites .btns.parallax > div a .logo img {
	opacity: 1;
	transition: opacity 0.3s;
}
#anotherSites .btns.parallax:not(.animated) > div,
#anotherSites .btns.parallax:not(.animated) > div a .logo img {
	opacity: 0;
}
#anotherSites .btns.parallax.animated > div:nth-child(2) {
	transition-delay: 0.2s;
}
#anotherSites .btns.parallax.animated > div:nth-child(3) {
	transition-delay: 0.4s;
}
#anotherSites .btns.parallax.animated > div a .logo img {
	transition-delay: 0.3s;
}
#anotherSites .btns.parallax.animated > div:nth-child(2) a .logo img {
	transition-delay: 0.5s;
}
#anotherSites .btns.parallax.animated > div:nth-child(3) a .logo img {
	transition-delay: 0.7s;
}
@media screen and (max-width: 940px) {
	#anotherSites .btns {
		justify-content: center;
		flex-wrap: wrap;
		width: calc(100% - 40px);
		max-width: 584px;
	}
	#anotherSites .btns > div {
		margin-right: 30px;
		width: calc((100% - 30px) / 2 - 0.1px);
	}
	#anotherSites .btns > div:nth-child(2n),
	#anotherSites .btns > div:last-child {
		margin-right: 0;
	}
	#anotherSites .btns > div:nth-child(n + 3) {
		margin-top: 34px;
	}
	#anotherSites .btns a .logo img {
		height: 66px;
	}
}
@media screen and (max-width: 767px) {
	#anotherSites h3 {
		font-size: 2.4rem;
	}
}
@media screen and (max-width: 640px) {
	#anotherSites h3 {
		font-size: 2rem;
	}
	#anotherSites .btns {
		width: 100%;
	}
	#anotherSites .btns > div:nth-child(n + 3) {
		margin-top: 28px;
	}
	#anotherSites .btns a {
		border-radius: 26px;
	}
	#anotherSites .btns a .logo {
		border-top-left-radius: 22px;
		border-top-right-radius: 22px;
	}
	#anotherSites .ctr img {
		width: 100%;
		max-width: 300px;
	}
}
@media screen and (max-width: 560px) {
	#anotherSites section:not(:last-child) {
		margin-bottom: 70px;
	}
	#anotherSites .btns {
		flex-direction: column;
		width: calc(100% - 40px);
		max-width: 340px;
	}
	#anotherSites .btns > div {
		margin-right: 0;
		width: 100%;
	}
	#anotherSites .btns > div:nth-child(n + 2) {
		margin-top: 28px;
	}
	#anotherSites .btns a .logo {
		padding: 6px 5px;
	}
	#anotherSites .btns a .logo img {
		height: 70px;
	}
}
@media screen and (max-width: 480px) {
	#anotherSites section:not(:last-child) {
		margin-bottom: 50px;
	}
	#anotherSites .ctr img {
		max-width: 230px;
	}
	#anotherSites .btns > div:nth-child(n + 2) {
		margin-top: 20px;
	}
}

#exam {
	position: relative;
	background-color: #feeba1;
}
#exam:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(/wp-content/uploads/2025/02/bg_ptn.png);
	background-size: 100% auto;
	background-position: top;
	background-repeat: no-repeat;
}
#exam:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);	
}
#exam .inr {
	position: relative;
	z-index: 1;
}
#exam .motomeru h3 {
	margin-bottom: 0;
	border-bottom: none;
	padding: 0;
	text-align: center;
}
#exam .motomeru h3 img {
	width: 100%;
	max-width: 370px;
}
#exam .motomeru h3 + p {
	margin-bottom: 40px;
	text-align: center;
	line-height: 180%;
}
#exam .motomeru .cols3 {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	margin-bottom: 80px;
}
#exam .motomeru .cols3 > div {
	box-sizing: border-box;
	width: calc((100% - 60px) / 3);
	background-color: #fff;
    background-position: top 20px center;
    background-size: 70%;
    background-repeat: no-repeat;
    text-align: center;
    padding: 20px 5px;
    border-radius: 12px;
}
#exam .motomeru .cols3 > div h4 {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
    background-position: top center;
    background-size: auto 100%;
    background-repeat: no-repeat;
	color: #0063a2;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 2.9rem;
    line-height: 100%;
}
#exam .motomeru .cols3 > div h4:before {
	content: "";
	display: block;
	width: 0;
	padding-top: 72%;
}
#exam .motomeru .cols3 > div p {
	margin-bottom: 0;
	line-height: 160%;
}
#exam .motomeru .cols3 > div.parallax {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.4s, transform 0.4s cubic-bezier(0, 0, 0.4, 1);
}
#exam .motomeru .cols3 > div.parallax:not(.animated) {
	opacity: 0;
	transform: translatey(40px);
}
#exam .motomeru .cols3 > div.parallax.animated {
	transition-delay: 0.2s;
}
#exam .motomeru .cols3 > div.parallax h4 {
	opacity: 0;
}
#exam .motomeru .cols3 > div.parallax.animated h4 {
	animation: 1s forwards blinkIn;
	animation-delay: 0.5s;
}
@keyframes blinkIn {
	0% { opacity: 0; }
	5% { opacity: 0.5; }
	10% { opacity: 0; }
	100% { opacity: 1; }
}
#exam .motomeru .cols3 > div.parallax h4 span {
	opacity: 1;
	transition: opacity 0.8s linear;
}
#exam .motomeru .cols3 > div.parallax:not(.animated) h4 span {
	opacity: 0;
}
#exam .motomeru .cols3 > div.parallax.animated h4 span {
	transition-delay: 0.9s;
}
#exam .motomeru .cols3 > div.parallax p {
	opacity: 1;
	transition: opacity 0.6s linear;
}
#exam .motomeru .cols3 > div.parallax:not(.animated) p {
	opacity: 0;
}
#exam .motomeru .cols3 > div.parallax.animated p {
	transition-delay: 1.2s;
}

#exam .motomeru .schedule a {
	position: relative;
	display: block;
	border-radius: 18px;
	background-color: #fff100;
	padding: 18px 0;
	text-align: center;
	color: #0063a2;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 100%;
}
#exam .motomeru .schedule a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 21px;
	display: block;
	border-top: 2px solid #0063a2;
	border-right: 2px solid #0063a2;
	width: 10px;
	height: 10px;
	transform: rotate(45deg) translatey(-50%);
}
#exam .motomeru .schedule a:hover {
	text-decoration: none;
	opacity: 0.8;
}
#exam .colorLinks > div:not(:last-child) {
	margin-bottom: 60px;
}
#exam .colorLinks h3 {
	position: relative;
	margin-bottom: 36px;
	font-size: 2.9rem;
	border-bottom: none;
	padding: 0 0 12px;
	text-align: center;
	font-weight: bold;
}
#exam .colorLinks h3:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 7em;
	height: 2px;
	background-color: #231815;
	transform: translatex(-50%);
}
#exam .colorLinks .btns {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: center;
	flex-wrap: wrap;
}
#exam a.more {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	margin-top: 0;
	margin-right: 30px;
	border: 0;
	border-radius: 100px;
	width: calc((100% - 60px) / 3);
	height: auto;
	padding: 18px 30px 19px;
	padding-right: 44px;
	text-align: left;
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: 1px;
	line-height: 120%;
}
#exam a.more:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 21px;
	display: block;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 8px;
	height: 8px;
	transform: rotate(45deg) translatey(-50%);
}
#exam a.more[target=_blank]:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 21px;
	display: block;
	border: none;
	width: 16px;
	height: 16px;
	background-image: url(/wp-content/uploads/2025/02/ic_blank.svg);
	transform: rotate(0) translatey(-50%);
}
#exam .colorLinks .btns a.more:last-child {
	margin-right: 0;
}
#exam a.more.red {
	background-color: #ec6d81;
}
#exam a.more.blue {
	background-color: #4694d1;
}
#exam a.more.lblue {
	background-color: #54c3f1;
}
#exam a.more.green {
	background-color: #26b7bc;
}
#exam .btns.ver2 > div {
	margin-right: 30px;
	width: calc((100% - 60px) / 3);
}
#exam .btns.ver2 > div a.more {
	margin: 0;
	width: 100%;
	height: 100%;
}
#exam .colorLinks .btns.ver2 > div:last-child {
	margin-right: 0;
}

#exam .colorLinks .btns.ver4 {
	margin-left: auto;
	margin-right: auto;
	max-width: 820px;
}
#exam .colorLinks .btns.ver4 a.more,
#exam .colorLinks .btns.ver4.ver2 > div {
	margin-right: 40px;
	width: calc((100% - 40px) / 2);
}
#exam .colorLinks .btns.ver4.ver2 > div a {
	margin: 0;
	width: 100%;
}
#exam .colorLinks .btns.ver4 a.more:nth-child(2n),
#exam .colorLinks .btns.ver4.ver2 > div:nth-child(2n) {
	margin-right: 0;
}
#exam .colorLinks .btns.ver4 a.more:nth-child(n + 3),
#exam .colorLinks .btns.ver4.ver2 > div:nth-child(n + 3) {
	margin-top: 32px;
}
#exam .colorLinks .parallax h3 {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.6s, transform 0.6s cubic-bezier(0, 0, 0.4, 1);
}
#exam .colorLinks .parallax:not(.animated) h3 {
	opacity: 0;
	transform: translatey(60px);
}
#exam .colorLinks .parallax .btns.ver2 > div {
	opacity: 1;
	transition: opacity 0.4s;
}
#exam .colorLinks .parallax:not(.animated) .btns.ver2 > div {
	opacity: 0;
}
#exam .colorLinks .parallax.animated .btns.ver2 > div {
	transition-delay: 0.3s;
}
#exam .colorLinks .parallax.animated .btns.ver2 > div:nth-child(2) {
	transition-delay: 0.4s;
}
#exam .colorLinks .parallax.animated .btns.ver2 > div:nth-child(3) {
	transition-delay: 0.5s;
}
#exam .colorLinks .parallax.animated .btns.ver2 > div:nth-child(4) {
	transition-delay: 0.6s;
}

#exam.detail h2 + p {
	margin-bottom: 34px;
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
}
#exam.detail section {
	background-color: rgba(255, 255, 255, 0.7);
	padding: 50px 60px;
	border-radius: 20px;
}
#exam.detail section:not(:last-child) {
	margin-bottom: 90px;
}
#exam.detail section .ctr {
	margin-bottom: 26px;
}
#exam.detail section .ctr a.more {
	align-items: center;
	margin-right: 0;
	text-align: center;
	width: 100%;
	max-width: 13em;
	padding-right: 33px;
	font-size: 1.8rem;
}
#exam.detail section h3 {
	border-bottom: none;
	padding: 0;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
}
#exam.detail section .jobs {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
}
#exam.detail section .jobs > div {
	box-sizing: border-box;
	border: solid 3px #f6bdc0;
	border-radius: 12px;
	margin-right: 24px;
	width: calc((100% - 72px) / 4);
	background-color: #fff;
	padding: 0px 20px 16px;
	text-align: center;
}
#exam.detail section .jobs.blue > div {
	border-color: #a2c9e8;
}
#exam.detail section .jobs.green > div {
	border-color: #92dbdd;
}
#exam.detail section .jobs > div:last-child {
	margin-right: 0;
}
#exam.detail section .jobs > div:nth-child(n + 5) {
	margin-top: 24px;
}
#exam.detail section .jobs > div figure {
	margin: 0 0 5px;
	padding-top: 100%;
	background-position: center;
	background-size: cover;
}
#exam.detail section .jobs > div p {
	margin-bottom: 0;
	font-size: 1.6rem;
	line-height: 120%;
}
#exam.detail section .jobs > div p small {
	display: block;
}
#exam.detail h2.parallax + p {
	opacity: 1;
	transition: opacity 0.4s;
}
#exam.detail h2.parallax:not(.animated) + p {
	opacity: 0;
}
#exam.detail h2.parallax.animated + p {
	transition-delay: 0.2s;
}
#exam.detail section.parallax {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.6s, transform 0.6s cubic-bezier(0, 0, 0.4, 1);
}
#exam.detail section.parallax:not(.animated) {
	opacity: 0;
	transform: translatey(40px);
}
#exam.detail section.parallax h3 {
	opacity: 1;
	transition: opacity 0.4s linear;
}
#exam.detail section.parallax:not(.animated) h3 {
	opacity: 0;
}
#exam.detail section.parallax.animated h3 {
	transition-delay: 0.4s;
}
#exam.detail section .jobs > div {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.4s, transform 0.4s cubic-bezier(0, 0, 0.4, 1);
}
#exam.detail section.parallax:not(.animated) .jobs > div {
	opacity: 0;
	transform: translatey(30px);
}
#exam.detail section.parallax.animated .jobs > div { transition-delay: 0.8s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(2) { transition-delay: 0.9s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(3) { transition-delay: 1.0s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(4) { transition-delay: 1.1s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(5) { transition-delay: 1.2s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(6) { transition-delay: 1.3s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(7) { transition-delay: 1.4s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(8) { transition-delay: 1.5s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(9) { transition-delay: 1.6s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(10) { transition-delay: 1.7s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(11) { transition-delay: 1.8s; }
#exam.detail section.parallax.animated .jobs > div:nth-child(12) { transition-delay: 1.9s; }
@media screen and (max-width: 940px) {
	#exam .motomeru .cols3 > div h4 {
	    font-size: 2.4rem;
	}
}
@media screen and (max-width: 880px) {
	#exam a.more,
	#exam .btns.ver2 > div {
		margin-right: 20px;
		width: calc((100% - 40px) / 3);
	}
}
@media screen and (min-width: 851px) {
	#exam .colorLinks .btns:not(.ver4) a.more:nth-child(3n),
	#exam .colorLinks .btns.ver2:not(.ver4) > div:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 850px) {
	#exam .colorLinks .btns {
		margin-left: auto;
		margin-right: auto;
		max-width: 660px;
	}
	#exam a.more,
	#exam .btns.ver2 > div {
		width: calc((100% - 20px) / 2);
	}
	#exam .colorLinks .btns:not(.ver4) a.more:nth-child(2n),
	#exam .colorLinks .btns.ver2:not(.ver4) > div:nth-child(2n) {
		margin-right: 0;
	}
	#exam .colorLinks .btns:not(.ver4) a.more:nth-child(n + 3),
	#exam .colorLinks .btns.ver2:not(.ver4) > div:nth-child(n + 3) {
		margin-top: 32px;
	}
	#exam .colorLinks .btns.ver4 a.more,
	#exam .colorLinks .btns.ver4.ver2 > div {
		margin-right: 20px;
		width: calc((100% - 20px) / 2);
	}
}
@media screen and (max-width: 840px) {
	#exam .motomeru .cols3 > div {
		width: calc((100% - 44px) / 3);
	}
	#exam.detail section .jobs > div {
		padding: 0px 6px 12px;
	}
	#exam.detail section .jobs > div figure {
		padding-top: 88%;
	}
}
@media screen and (max-width: 767px) {
	#exam .motomeru h3 img {
		max-width: 320px;
	}
	#exam .motomeru .cols3 {
		justify-content: center;
		flex-wrap: wrap;
		margin-left: auto;
		margin-right: auto;
		max-width: 610px;
	}
	#exam .motomeru .cols3 > div {
		margin-right: 24px;
		width: calc((100% - 24px) / 2 - 0.1px);
    }
	#exam .motomeru .cols3 > div:nth-child(2n),
	#exam .motomeru .cols3 > div:last-child {
		margin-right: 0;
    }
	#exam .motomeru .cols3 > div:nth-child(n + 3) {
		margin-top: 20px;
    }
	#exam .motomeru .schedule a {
		font-size: 1.9rem;
	}
	#exam .colorLinks h3 {
		font-size: 2.5rem;
	}
	#exam.detail section {
		padding: 44px 40px;
	}
	#exam.detail section .jobs > div {
		margin-right: 17px;
		width: calc((100% - 51px) / 4);
	}
	#exam.detail section:not(:last-child) {
		margin-bottom: 74px;
	}
}
@media screen and (min-width: 641px) {
	#exam.detail section .jobs > div:nth-child(4n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 640px) {
	#exam .motomeru h3 + p {
		margin-bottom: 24px;
	}
	#exam .motomeru .cols3 {
		margin-bottom: 60px;
	}
	#exam .motomeru .schedule a {
		padding: 14px 30px;
		font-size: 1.7rem;
		line-height: 140%;
	}
	#exam .colorLinks h3 {
		font-size: 2.3rem;
	}
	#exam.detail section {
		border-radius: 12px;
		padding: 36px 24px;
	}
	#exam.detail section .ctr a.more {
		padding: 15px 30px 16px;
		font-size: 1.6rem;
	}
	#exam.detail section .jobs > div {
		width: calc((100% - 34px) / 3);
	}
	#exam.detail section .jobs {
		justify-content: center;
	}
	#exam.detail section .jobs > div:nth-child(3n) {
		margin-right: 0;
	}
	#exam.detail section .jobs > div:nth-child(n + 4) {
		margin-top: 24px;
	}
}
@media screen and (max-width: 600px) {
	#exam .motomeru h3 img {
		max-width: 280px;
	}
}
@media screen and (max-width: 580px) {
	#exam .colorLinks .btns {
		max-width: 460px !important;
	}
	#exam a.more,
	#exam .colorLinks .btns.ver4 a.more,
	#exam .colorLinks .btns.ver2 > div,
	#exam .colorLinks .btns.ver4.ver2 > div {
		margin-right: 0;
        width: 100%;
    }
	#exam .colorLinks .btns a.more:nth-child(n + 2),
	#exam .colorLinks .btns.ver2 > div:nth-child(n + 2) {
		margin-top: 26px !important;
	}
}
@media screen and (max-width: 540px) {
	#exam .motomeru .cols3 {
		max-width: 340px;
	}
	#exam .motomeru .cols3 > div {
		margin-right: 0;
		width: 100%;
	}
	#exam .motomeru .cols3 > div:nth-child(n + 2) {
		margin-top: 16px;
	}
	#exam .motomeru .cols3 {
		margin-bottom: 50px;
	}
	#exam .colorLinks h3 {
		font-size: 2.1rem;
		line-height: 130%;
	}
	#exam.detail section {
		padding: 30px 16px;
	}
	#exam.detail section:not(:last-child) {
		margin-bottom: 56px;
	}
}
@media screen and (max-width: 480px) {
	#exam .motomeru h3 img {
		max-width: 240px;
	}
	#exam .motomeru .cols3 > div {
		background-size: 56%;
	}
	#exam .motomeru .cols3 > div h4:before {
		padding-top: 57%;
	}
	#exam .motomeru .schedule a {
		border-radius: 12px;
	}
	#exam .colorLinks h3 {
		margin-bottom: 30px;
	}
	#exam .colorLinks .btns a.more:nth-child(n + 2),
	#exam .colorLinks .btns.ver2 > div:nth-child(n + 2) {
		margin-top: 20px !important;
	}
	#exam.detail h2 + p {
		margin-bottom: 24px;
	}
	#exam.detail section .jobs > div {
		margin-right: 10px;
		width: calc((100% - 20px) / 3);
		padding: 0px 3px 12px;
	}
	#exam.detail section .jobs > div:nth-child(n + 4) {
		margin-top: 14px;
	}
	#exam.detail section .jobs > div p {
		font-size: 1.5rem;
	}
}

#organization {
	position: relative;
	background-color: #c1e0f4;
}
#organization:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/wp-content/uploads/2025/02/bg_ptn.png);
    background-size: 100% auto;
    background-position: top;
    background-repeat: no-repeat;
}
#organization:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);	
}
#organization .inr {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#organization section:not(:last-child) {
	margin-bottom: 80px;
}
#organization h3 {
	border: none;
	padding: 0;
	text-align: center;
	font-weight: bold;
}
#organization h3 a {
	color: #000;
}
#organization figure {
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 560px;
	background-size: 100% auto;
	background-repeat: no-repeat;
}
#organization section.chiji figure {
	background-position: center 11.8%;
}
#organization section figure > div {
	position: absolute;
	left: 0;
	width: 100%;
}
#organization section figure .boxed {
	border: 2px solid #fff;
	border-radius: 21px;
	padding: 3% 3.3%;
}
#organization section figure .boxed h4 {
	margin-bottom: 20px;
	text-align: center;
	font-size: 1.8rem;
}
#organization section figure .boxed h4 a {
	color: #000;
}
#organization section figure .boxed div:not(:last-child) {
	margin-bottom: 5.5%;
}
#organization section figure .boxed div a {
	display: block;
	background-color: #fff;
	padding: 6px 3px 7px;
	text-align: center;
	color: #000;
	font-size: 1.6rem;
}
#organization section figure .boxed div a:hover {
	text-decoration: none;
}
#organization section figure .boxed div a small {
	margin-left: 2px;
	font-size: 9.2pt;
	vertical-align: 1px;
}
#organization section figure .brd {
	box-sizing: border-box;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	border-radius: 12px;
	padding: 7px 4px 8px;
	width: 28.2%;
	text-align: center;
	color: #000;
	font-size: 1.8rem;
	line-height: 100%;
	overflow: hidden;
}
#organization section figure .brd.sml {
	padding-top: 9px;
	font-size: 1.4rem;
	line-height: 120%;
}
#organization section figure .brd small {
	margin-left: 2px;
	font-size: 9.2pt;
	vertical-align: 1px;
}
#organization section figure a.brd:hover {
	opacity: 1;
	text-decoration: none;
	filter: brightness(1.05);
}
#organization section.chiji figure:before {
	content: "";
	display: block;
	padding-top: 138%;
}
#organization section.chiji figure .level1 {
	top: 0.2%;
}
#organization section.chiji figure .level1 .brd {
	margin-left: 36%;
	background-color: #0063a2;
	color: #fff;
}
#organization section.chiji figure .level2 {
	top: 5.1%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	padding: 0 3.5%;
}
#organization section.chiji figure .level2 .brd {
	width: 30.5%;
	background-color: #54c3f1;
	color: #fff;
}
#organization section.chiji figure .level3 {
	top: 12.3%;
	left: 3.5%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
}
#organization section.chiji figure .level3 .brd {
	background-color: #bce1df;
}
#organization section.chiji figure .level3 .brd:not(:last-child) {
	margin-bottom: 2.8%;
}
#organization section.chiji figure .level4 {
	top: 19.9%;
	width: 67.5%;
	background-color: #bce1df;
}
#organization section.chiji figure .level5 {
	position: static;
	background-color: #c7e8fa;
	padding-top: 4%;
}
#organization section.chiji figure .level5.boxed div:not(:last-child) {
	margin-bottom: 3.8%;
}
#organization section.chiji figure .level5 .map {
	text-align: center;
}
#organization section.chiji figure .level5 .map img {
	width: 100%;
	max-width: 452px;
}
#organization section.kyoiku figure {
    background-position: center 64%;
}
#organization section.kyoiku figure:before {
	content: "";
	display: block;
	padding-top: 20.7%;
}
#organization section.kyoiku figure .level1 {
	top: 0.2%;
}
#organization section.kyoiku figure .level1 .brd {
	margin-left: 36%;
	background-color: #00a8b5;
	color: #fff;
}
#organization section.kyoiku figure .level2 {
	top: 61.5%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	padding: 0 3.5%;
}
#organization section.kyoiku figure .level2 .brd {
	width: 30.5%;
	background-color: #b0dcd5;
}
#organization section.keisatsu figure {
    background-position: center 51%;
}
#organization section.keisatsu figure:before {
	content: "";
	display: block;
	padding-top: 20.3%;
}
#organization section.keisatsu figure .level1 {
	top: 0.2%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	padding: 0 3.5%;
}
#organization section.keisatsu figure .level1 .brd {
	width: 30.5%;
	background-color: #ddd9ec;
}
#organization section.keisatsu figure .level1 .brd:first-child {
	background-color: #8f82bc;
	color: #fff;
}
#organization section.keisatsu figure .level2 {
	top: 64.5%;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	padding: 0 3.5%;
}
#organization section.keisatsu figure .level2 .brd {
	width: 30.5%;
	background-color: #ddd9ec;
}
#organization section.iinkai figure .boxed {
	position: static;
	background-color: #c7e8fa;
}
#organization section.iinkai figure .boxed div:not(:last-child) {
	margin-bottom: 24px;
}
#organization section.iinkai figure .boxed .cols3 {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
}
#organization section.iinkai figure .boxed .cols3 div {
	margin-right: 24px;
	margin-bottom: 0 !important;
    width: calc((100% - 48px) / 3 - 0.1px);
}
#organization section.iinkai figure .boxed .cols3 div:last-child {
	margin-right: 0;
}
#organization section.iinkai figure .boxed .cols3 div:nth-child(n + 4) {
	margin-top: 24px;
}
#organization figure img.sample {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0.5;
	pointer-events: none;
}
#organization section.parallax h3 {
	opacity: 1;
	transition: opacity 0.4s linear;
}
#organization section.parallax:not(.animated) h3 {
	opacity: 0;
}
#organization section.parallax.animated h3 {
	transition-delay: 0.2s;
}
#organization section.parallax figure {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 1.1s, transform 1.1s cubic-bezier(0, 0, 0.2, 1);
}
#organization section.parallax:not(.animated) figure {
	opacity: 0;
	transform: translatey(60px);
}
#organization section.parallax.animated figure {
	transition-delay: 0.5s;
}
#organization section figure .level4.boxed.parallax div {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.4s, transform 0.4s cubic-bezier(0, 0, 0.2, 1);
}
#organization section figure .level4.boxed.parallax:not(.animated) div {
	opacity: 0;
	transform: translatey(20px);
}
#organization section figure .level4.boxed.parallax.animated div:nth-child(2) { transition-delay: 0.08s; }
#organization section figure .level4.boxed.parallax.animated div:nth-child(3) { transition-delay: 0.16s; }
#organization section figure .level4.boxed.parallax.animated div:nth-child(4) { transition-delay: 0.24s; }
#organization section figure .level4.boxed.parallax.animated div:nth-child(5) { transition-delay: 0.32s; }
#organization section figure .level4.boxed.parallax.animated div:nth-child(6) { transition-delay: 0.4s; }
#organization section figure .level4.boxed.parallax.animated div:nth-child(7) { transition-delay: 0.48s; }
#organization section figure .level4.boxed.parallax.animated div:nth-child(8) { transition-delay: 0.56s; }
#organization section figure .level5.boxed.parallax h4 {
	opacity: 1;
	transition: opacity 0.4s;
}
#organization section figure .level5.boxed.parallax:not(.animated) h4 {
	opacity: 0;
}
#organization section figure .level5.boxed.parallax div {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.4s, transform 0.4s cubic-bezier(0, 0, 0.2, 1);
}
#organization section figure .level5.boxed.parallax div.map {
	transition: opacity 0.7s, transform 0.7s cubic-bezier(0, 0, 0.2, 1);
}
#organization section figure .level5.boxed.parallax:not(.animated) div {
	opacity: 0;
	transform: translatey(20px);
}
#organization section figure .level5.boxed.parallax.animated div:nth-child(2) { transition-delay: 0.08s; }
#organization section figure .level5.boxed.parallax.animated div:nth-child(3) { transition-delay: 0.16s; }
#organization section figure .level5.boxed.parallax.animated div:nth-child(4) { transition-delay: 0.24s; }
#organization section figure .level5.boxed.parallax.animated div:nth-child(5) { transition-delay: 0.32s; }
#organization section figure .level5.boxed.parallax.animated div:nth-child(6) { transition-delay: 0.4s; }
#organization section figure .level5.boxed.parallax.animated div:nth-child(7) { transition-delay: 0.48s; }
#organization section figure .level5.boxed.parallax.animated div.map { transition-delay: 0.56s; }
#organization section.iinkai figure .boxed.parallax {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.6s, transform 0.6s cubic-bezier(0, 0, 0.4, 1);
}
#organization section.iinkai figure .boxed.parallax:not(.animated) {
	opacity: 0;
	transform: translatey(60px);
}
#organization section.iinkai figure .boxed.parallax h4 {
	opacity: 1;
	transition: opacity 0.4s;
}
#organization section.iinkai figure .boxed.parallax:not(.animated) h4 {
	opacity: 0;
}
#organization section.iinkai figure .boxed.parallax.animated h4 {
	transition-delay: 0.4s;
}
#organization section.iinkai figure .boxed.parallax .cols3 div,
#organization section.iinkai figure .boxed.parallax > div:not(.cols3) {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.4s, transform 0.4s cubic-bezier(0, 0, 0.4, 1);
}
#organization section.iinkai figure .boxed.parallax:not(.animated) .cols3 div,
#organization section.iinkai figure .boxed.parallax:not(.animated) > div:not(.cols3) {
	opacity: 0;
	transform: translatey(20px);
}
#organization section.iinkai figure .boxed.parallax.animated .cols3 div { transition-delay: 0.6s; }
#organization section.iinkai figure .boxed.parallax.animated .cols3 div:nth-child(2) { transition-delay: 0.68s; }
#organization section.iinkai figure .boxed.parallax.animated .cols3 div:nth-child(3) { transition-delay: 0.76s; }
#organization section.iinkai figure .boxed.parallax.animated .cols3 div:nth-child(4) { transition-delay: 0.84s; }
#organization section.iinkai figure .boxed.parallax.animated .cols3 div:nth-child(5) { transition-delay: 0.92s; }
#organization section.iinkai figure .boxed.parallax.animated .cols3 div:nth-child(6) { transition-delay: 1s; }
#organization section.iinkai figure .boxed.parallax.animated .cols3 div:nth-child(7) { transition-delay: 1.08s; }
#organization section.iinkai figure .boxed.parallax.animated .cols3 div:nth-child(8) { transition-delay: 1.16s; }
#organization section.iinkai figure .boxed.parallax.animated > div:not(.cols3):nth-child(3) { transition-delay: 1.3s; }
#organization section.iinkai figure .boxed.parallax.animated > div:not(.cols3):nth-child(4) { transition-delay: 1.4s; }
#organization section.iinkai figure .boxed.parallax.animated > div:not(.cols3):nth-child(5) { transition-delay: 1.5s; }

@media screen and (max-width: 640px) {
	#organization figure {
		background-size: contain;
	}
	#organization section.iinkai figure .boxed div:not(:last-child) {
		margin-bottom: 18px;
	}
	#organization section.iinkai figure .boxed .cols3 div:nth-child(n + 4) {
		margin-top: 18px;
	}
}
@media screen and (max-width: 590px) {
	#organization section.chiji figure:before {
		padding-top: 142%;
	}
	#organization section figure .brd small {
		display: block;
		margin-top: 2px;
		margin-left: 0;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 570px) {
	#organization section figure .brd {
		padding: 7px 4px;
		font-size: 1.5rem;
	}
	#organization section figure .brd.sml {
		padding-top: 7px;
	}
	#organization section.chiji figure {
		background-position: center 7.8%;
	}
	#organization section.chiji figure:before {
		padding-top: 160%;
	}
	#organization section.chiji figure .level2 {
		top: 4.6%;
	}
	#organization section.chiji figure .level3 {
		top: 11%;
	}
	#organization section.chiji figure .level3 .brd:not(:last-child) {
		margin-bottom: 2%;
	}
	#organization section.chiji figure .level4 {
		top: 18%;
		width: 74%;
	}
	#organization section figure .boxed a small {
		display: block;
		margin-top: 2px;
		margin-left: 0 !important;
		letter-spacing: 0;
	}
	#organization section.chiji figure .level5 {
		top: 61%;
	}
	#organization section.iinkai figure .boxed .cols3 div {
		margin-right: 16px;
		margin-bottom: 0;
		width: calc((100% - 32px) / 3 - 0.1px);
	}
}
@media screen and (min-width: 541px) {
	#organization section.iinkai figure .boxed .cols3 div:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 540px) {
	#organization section:not(:last-child) {
		margin-bottom: 70px;
	}
	#organization section.chiji figure:before {
		padding-top: 168%;
	}
	#organization section.iinkai figure .boxed .cols3 div {
        width: calc((100% - 16px) / 2 - 0.1px);
    }
	#organization section.iinkai figure .boxed .cols3 div:nth-child(even) {
		margin-right: 0;
	}
	#organization section.iinkai figure .boxed .cols3 div:nth-child(n + 3) {
		margin-top: 18px;
	}
}
@media screen and (max-width: 530px) {
	#organization section.keisatsu figure .level2 {
		top: 53%;
	}
}
@media screen and (max-width: 510px) {
	#organization section.chiji figure:before {
        padding-top: 174%;
    }
}
@media screen and (max-width: 480px) {
	#organization h3 {
		font-size: 15pt;
	}
	#organization section.chiji figure:before {
		padding-top: 166%;
	}
	#organization section figure .boxed h4 {
		margin-bottom: 16px;
	}
	#organization section.iinkai figure .boxed div:not(:last-child) {
		margin-bottom: 14px;
	}
	#organization section.iinkai figure .boxed .cols3 div:nth-child(n + 3) {
		margin-top: 14px;
	}
}
@media screen and (max-width: 460px) {
	#organization section.chiji figure:before {
        padding-top: 174%;
    }
}
@media screen and (max-width: 440px) {
	#organization section.chiji figure {
		background-position: center 7%;
	}
	#organization section figure .brd {
		padding: 5px 0 6px;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 430px) {
	#organization section.chiji figure:before {
        padding-top: 180%;
    }
}
@media screen and (max-width: 420px) {
	#organization section.chiji figure:before {
        padding-top: 184%;
    }
}
@media screen and (max-width: 400px) {
	#organization section figure .boxed div a small {
		margin-top: 4px;
		font-size: 8.6pt;
		line-height: 100%;
	}
}

#concept.wr {
	background-position: center;
	background-size: cover;
}
#concept .cols2 {
	align-items: stretch;
	justify-content: space-between;
}
#concept .cols2 > div {
	box-sizing: border-box;
}
#concept .cols2 > div:first-child {
	width: 54%;
	padding-right: 44px;
}
#concept .cols2 > div:first-child p {
	margin-bottom: 1.4em;
    font-size: 2.3rem;
	font-weight: bold;
}
#concept .cols2 > div:first-child p:last-child {
	margin-bottom: 0;
}
#concept .cols2 > div:last-child {
	background-color: #00000060;
	width: 46%;
	padding: 32px 44px 40px;
}
#concept .cols2 h4 {
	margin-bottom: 34px;
	font-size: 3.9rem;
	line-height: 150%;
}
#concept .cols2 h5 {
	margin-bottom: 28px;
	text-align: center;
	font-size: 2.4rem;
	line-height: 130%;
}
#concept .cols2 h6 {
	margin-bottom: 6px;
	font-size: 1.6rem;
	line-height: 140%;
}
#concept .cols2 ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#concept .cols2 ul li:not(:last-child) {
	margin-bottom: 44px;
}
#concept .cols2 ul li p {
	margin: 0;
	font-size: 10.5pt;
}
@media screen and (max-width: 1180px) {
	#concept .cols2 h4 {
		font-size: 3.5rem;
	}
	#concept .cols2 > div:last-child {
		padding-left: 38px;
		padding-right: 38px;
	}
}
@media screen and (max-width: 1100px) {
	#concept .cols2 {
		display: block;
	}
	#concept .cols2 > div:first-child {
		margin-bottom: 80px;
		width: 100%;
		padding-right: 0;
	}
	#concept .cols2 h4 {
		text-align: center;
	}
	#concept .cols2 > div:first-child p {
		font-size: 1.9rem;
	}
	#concept .cols2 > div:last-child {
		margin: 0 auto;
		width: 100%;
		max-width: 840px;
	}
}
@media screen and (max-width: 860px) {
	#concept .cols2 h4 {
		font-size: 3rem;
	}
	#concept .cols2 > div:first-child p {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 640px) {
	#concept .cols2 h4 {
		font-size: 2.7rem;
	}
	#concept .cols2 > div:last-child {
		padding: 44px 32px;
	}
}
@media screen and (max-width: 540px) {
	#concept .cols2 > div:first-child {
		margin-bottom: 60px;
	}
	#concept .cols2 h4 {
		font-size: 2.5rem;
	}
	#concept .cols2 h5 {
		margin-bottom: 34px;
	}
}
@media screen and (max-width: 480px) {
	#concept .cols2 > div:first-child p {
		margin-bottom: 1.6em;
	}
	#concept .cols2 > div:last-child {
		padding: 36px 20px;
	}
	#concept .cols2 h5 {
		margin-bottom: 34px;
		font-size: 2.3rem;
	}
}

#access.wr {
	padding-bottom: 0;
	background-position: center;
	background-size: cover;
}
#access figure {
	position: relative;
	margin: 0;
}
#access figure img {
	width: 100%;
}
#access figure .slideme {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: #ffffffa0;
	opacity: 1;
	transition: opacity 0.6s;
	z-index: 8;
	pointer-events: none;
}
#access figure .slideme > div {
	position: relative;
	width: 70%;
	max-width: 190px;
}
#access figure .slideme img {
	display: block;
	width: 100%;
}
#access figure .slideme .txt {
	position: absolute;
	top: 11.6%;
	left: 0;
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 10.5pt;
	font-weight: bold;
	line-height: 100%;
}
#access .sl {
	margin-bottom: 20px;
}
#access .slick-initialized .slick-slide {
	padding: 0;
}
#access .tabs {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: center;
	margin-bottom: 72px;
}
#access .tabs a {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background-color: #555;
	width: 3.4em;
	color: #eee;
	cursor: pointer;
}
#access .tabs a:before {
	content: "";
	display: block;
	width: 0;
	padding-top: 100%;
}
#access .tabs a:not(.active):hover {
	opacity: 1;
	background-color: #bbb;
}
#access .tabs a.active {
	background-color: #fff;
	color: #000;
	font-weight: bold;
	pointer-events: none;
}
#access .tabs a:not(:last-child) {
	margin-right: 16px;
}
#access .toParking {
	position: relative;
	padding: 44px 10px;
	text-align: center;
	background-position: center;
	background-size: cover;
}
#access .toParking:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #00000045;
}
#access .toParking a.more {
	position: relative;
	margin-top: 0;
	max-width: 420px;
}
@media screen and (min-width: 741px) {
	#access .scrollAtt {
		display: none;
	}
	#access figure .slideme {
		display: none;
	}
}
@media screen and (max-width: 740px) {
	#access figure {
		width: 100%;
		padding-bottom: 12px;
		overflow-x: scroll;
	}
	#access figure img {
		width: 840px;
		max-width: none;
	}
	#access .scrollAtt {
		text-align: center;
		color: #fff;
		font-size: 10pt;
	}
}
@media screen and (max-width: 480px) {
	#access .tabs {
		margin-bottom: 34px;
	}
	#access .toParking {
		padding: 28px 10px;
	}
}

#topGallery .inr {
	max-width: none;
}
#topGallery .gallery {
	margin-bottom: 0;
}
#topGallery .gallery .slick-slide > div {
	margin: 0 8px;
}
#topGallery .gallery a {
	display: block;
	margin: 0;
	padding-top: 72%;
	background-position: center;
	background-size: cover;
}

#trainers .inr > ul {
	list-style: none;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
#trainers .inr > ul li {
	box-sizing: border-box;
	margin-right: 40px;
	width: calc((100% - 120px) / 4 - 0.1px);
	background-color: #01609a;
	padding: 19px 18px 32px;
	color: #fff;
	cursor: pointer;
}
#trainers .inr > ul li:hover {
	opacity: 0.9;
}
#trainers .inr > ul li:last-child {
	margin-right: 0;
}
#trainers .inr > ul li:nth-child(n + 5) {
	margin-top: 60px;
}
#trainers .inr > ul li figure {
	margin: 0 0 16px;
	padding-top: 100%;
	background-color: #484848;
	background-position: center;
	background-size: cover;
}
#trainers .inr > ul li figure.logo {
	background-color: #fff;
	background-size: 68% auto;
	background-repeat: no-repeat;
}
#trainers .inr > ul li h4 {
	font-size: 1.8rem;
}
#trainers .inr > ul li h4 .job {
	display: inline-block;
	margin-bottom: 1px;
	color: #eef3f7;
	font-family: "Sofia Sans Condensed", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 12.5pt;
}
#trainers .inr > ul li h4 small {
	display: block;
	margin-top: 11px;
	font-family: "Sofia Sans Condensed", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 1.7rem;
}
#trainers .inr > ul li .popup {
	display: none;
}
#trainers .inr > ul li p {
	margin: 0;
	font-size: 1.3rem;
	line-height: 160%;
}
#trainers .att {
	margin-top: 64px;
}
#trainers .att h4 {
	margin-bottom: 16px;
	font-size: 1.7rem;
	text-indent: 2px;
}
#trainers .att ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 10.5pt;
	line-height: 160%;
}
#trainers .att ul li {
	position: relative;
	padding-left: 1.2em;
}
#trainers .att ul li:not(:last-child) {
	margin-bottom: 8px;
}
#trainers .att ul li:before {
	content: "-";
	position: absolute;
	left: 0.35em;
}
#trainers .att p {
	margin-bottom: 0;
	font-size: 1.4rem;
	line-height: 150%;
}
@media screen and (max-width: 1081px) {
	#trainers .inr > ul li:nth-child(4n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 1080px) {
	#trainers .inr > ul li {
		margin-right: 30px;
		width: calc((100% - 60px) / 3 - 0.1px);
	}
	#trainers .inr > ul li:nth-child(n + 4) {
		margin-top: 40px;
	}
}
@media screen and (max-width: 1080px) and (min-width: 741px){
	#trainers .inr > ul li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 740px) {
	#trainers .inr > ul li {
		width: calc((100% - 30px) / 2 - 0.1px);
	}
	#trainers .inr > ul li:nth-child(2n) {
		margin-right: 0;
	}
	#trainers .inr > ul li:nth-child(n + 3) {
		margin-top: 40px;
	}
}
@media screen and (max-width: 640px) {
	#trainers .inr > ul li {
		margin-right: 24px;
		width: calc((100% - 24px) / 2 - 0.1px);
	}
	#trainers .inr > ul li:nth-child(n + 3) {
		margin-top: 32px;
	}
}
@media screen and (max-width: 480px) {
	#trainers .inr > ul li {
		margin-right: 18px;
		width: calc((100% - 18px) / 2 - 0.1px);
		padding: 15px 12px 20px;
	}
	#trainers .inr > ul li:nth-child(n + 3) {
		margin-top: 28px;
	}
	#trainers .inr > ul li h4 {
		margin-bottom: 4px;
	}
	#trainers .inr > ul li h4 small {
		margin-top: 8px;
	}
	#trainers .att {
		margin-top: 48px;
	}
	#trainers .att h4 {
		margin-bottom: 12px;
	}
}

#system.wr {
	background-position: center;
	background-size: cover;
}
#system h4 {
	margin-bottom: 36px;
	font-size: 3.3rem;
}
#system ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#system ul li {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	border-bottom: 2px solid #fff;
	padding: 0 10px 40px;
}
#system ul li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
#system ul li.single {
	align-items: flex-end;
}
#system ul li.single:not(.ver2) {
	margin-bottom: 40px;
	border-bottom: none;
	padding-bottom: 0;
}
#system ul li.single.ver2 {
	align-items: baseline;
}
#system ul li.multi {
	display: block;
}
#system ul li:not(:last-child) {
	margin-bottom: 50px;
}
#system ul li h5 {
	font-size: 1.5rem;
	margin-bottom: 0;
}
#system ul li.multi h5 {
	margin-bottom: 46px;
}
#system ul li h5 big {
	display: inline-block;
	margin-right: 14px;
	font-size: 2.6rem;
}
#system ul li h5 small {
	display: inline-block;
	margin-top: 9px;
	font-size: 1.4rem;
}
#system ul li.multi ul li {
	border-bottom: none;
	padding: 0;
}
#system ul li.multi ul li:not(:last-child) {
	margin-bottom: 24px;
}
#system ul li.multi ul li h6 {
	margin-bottom: 0;
	font-size: 1.9rem;
}
#system ul li.multi ul li h6 small {
	display: inline-block;
	margin-left: 11px;
}
#system ul li .rgt {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: flex-end;
	padding-left: 0.7em;
	font-size: 1.4rem;
	line-height: 100%;
}
#system ul li .rgt:not(:last-child) {
	margin-bottom: 26px;
}
#system ul li .rgt > *:not(:first-child) {
	margin-left: 44px;
}
#system ul li .rgt h5 {
	flex-grow: 1;
	margin-bottom: 0;
	font-size: 1.8rem;
	line-height: 100%;
}
#system ul li .rgt number {
	display: inline-block;
	margin-right: 5px;
	min-width: 3.2em;
	text-align: right;
	font-size: 130%;
}
#system ul li .rgt .time {
	text-align: right;
}
#system ul li .rgt > .btn {
	margin-left: 84px;
	padding: 0;
	padding-right: 4px;
}
#system ul li .rgt > .btn a {
	position: relative;
	display: inline-block;
	border: 2px solid #fff;
	padding: 7px 39px 8px;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
}
#system ul li .rgt .btn a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	display: block;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 8px;
	height: 8px;
	transform: rotate(45deg) translatey(-60%);
	transition: right 0.1s cubic-bezier(0, 0, 0.2, 1);
}
#system ul li .rgt .btn a:hover {
	text-decoration: none;
}
#system ul li .rgt .btn a:hover:after {
	right: 13px;
}
@media screen and (max-width: 1080px) {
	#system ul li {
		display: block;
	}
	#system ul li h5 {
		margin-bottom: 6px;
	}
	#system ul li h5 small {
		margin-top: 7px;
	}
	#system ul li.multi ul li:not(:last-child) {
		margin-bottom: 30px;
		border-bottom: 1px solid #ddd;
		padding-bottom: 30px;
	}
	#system ul li.multi ul li h6 {
		margin-bottom: 12px;
	}
}
@media screen and (max-width: 960px) {
	#system h4 {
		margin-bottom: 30px;
		font-size: 3.2rem;
	}
}
@media screen and (max-width: 767px) {
	#system ul li .rgt > .btn {
		margin-left: 40px;
	}
}
@media screen and (max-width: 640px) {
	#system h4 {
		margin-bottom: 23px;
		font-size: 3rem;
	}
	#system ul li h5 {
		margin-bottom: 12px;
	}
	#system ul li.multi h5 {
		margin-bottom: 28px;
	}
}
@media screen and (max-width: 540px) {
	#system h4 {
		font-size: 2.8rem;
	}
	#system ul li h5 big {
		font-size: 2.4rem;
	}
	#system ul li.multi ul li h6 small {
		display: block;
		margin-top: 4px;
		margin-left: 0;
		text-indent: -0.5em;
		font-size: 10.5pt;
	}
	#system ul li .rgt {
		flex-wrap: wrap;
	}
	#system ul li .rgt > .btn {
		margin: 22px 0 0;
		width: 100%;
		padding: 0;
	}
	#system ul li .rgt > .btn a {
		padding-left: 64px;
		padding-right: 64px;
	}
}
@media screen and (max-width: 480px) {
	#system h4 {
		font-size: 2.4rem;
	}
	#system ul li .rgt > *:not(:first-child) {
		margin-left: 22px;
	}
}

#reserve .inr {
	max-width: 870px;
}
#reserve p {
	margin-bottom: 30px;
}
#reserve ul.att {
	list-style: none;
	margin: 0 0 80px;
	padding: 0;
	font-size: 10.5pt;
	line-height: 160%;
}
#reserve ul.att li {
	position: relative;
	padding-left: 1.2em;
}
#reserve ul.att li:not(:last-child) {
	margin-bottom: 8px;
}
#reserve ul.att li:before {
	content: "\203B";
	position: absolute;
	left: 0;
}
#reserve a.more.ver2:first-child {
	margin-right: 60px;
}
@media screen and (max-width: 940px) {
	#reserve ul.att {
		margin-bottom: 60px;
	}
	#reserve a.more.ver2:first-child {
		margin-right: 40px;
	}
}
@media screen and (min-width: 841px) {
	#reserve a.more.ver2:nth-child(n + 3) {
		margin-top: 60px;
		max-width: 400px;
	}
}
@media screen and (max-width: 840px) {
	#reserve .ctr {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
	}
	#reserve a.more.ver2 {
		max-width: 400px;
	}
	#reserve a.more.ver2:first-child {
		margin-right: 0;
	}
}
@media screen and (max-width: 640px) {
	#reserve ul.att {
		margin-bottom: 44px;
	}
}
@media screen and (max-width: 480px) {
	#reserve ul.att {
		margin-bottom: 38px;
	}
}

.parallax.floatUp {
	opacity: 1;
	transform: translatey(0px);
	transition: opacity 0.6s, transform 0.6s cubic-bezier(0, 0, 0.4, 1);
}
.parallax.floatUp:not(.animated) {
	opacity: 0;
	transform: translatey(60px);
}
.parallax.fadeIn {
	opacity: 1;
	transition: opacity 0.6s;
}
.parallax.fadeIn:not(.animated) {
	opacity: 0;
}

.mapwrap {
	position: relative;
	padding-top: 34%;
	overflow: hidden;
}
.mapwrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 1400px) {
	.mapwrap {
		padding-top: 460px;
	}
}
@media screen and (max-width: 840px) {
	.mapwrap {
		padding-top: 266px;
	}
}
@media screen and (max-width: 640px) {
	.mapwrap {
		padding-top: 220px;
	}
}
@media screen and (max-width: 480px) {
	.mapwrap {
		padding-top: 180px;
	}
}

/* form */
/* reset default form styles */
form section {
	display: block;
	margin-bottom: 50px !important;
	border-top: 1px solid #b0b0b0;
}
form section > div {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 40px 0;
	border-bottom: 1px solid #b0b0b0;
}
form section div > h4 {
	box-sizing: border-box;
	float: left;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	width: 120px;
	text-align: justify;
	font-size: 10.5pt;
	font-weight: bold;
	letter-spacing: 0.5px;
	line-height: 140%;
	clear: left;
}
form section div > h4.text {
	padding-top: 0.8em;
}
form section div > h4.select {
	padding-top: 0.3em;
}
form section div > div {
	display: block;
	margin-left: 0;
	width: calc(100% - 190px);
	padding: 0;
}
form section div > div p {
	margin: 0;
}
form section div > div h5 {
	margin: 0 0 5px;
	font-size: 11pt;;
}
form section div > div h5:not(:first-child) {
	margin-top: 20px;
}
form section div > div.full {
	width: 100%;
}
form section div > div.twofield {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
}
form section div > div.twofield label {
	width: calc(50% - 12px);
	display: flex;
	margin-right: 0;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	white-space: nowrap;
}
form section div > div.twofield label span {
	box-sizing: border-box;
	min-width: 2.7em;
	padding-right: 0.7em;
	text-align: right;
}
form section div > div.birth p {
	display: inline-block;
}
form section div > div.birth p:empty {
	display: none;
} 
form section div > div.multiInput > div {
	width: 100%;
}
form section div > div.multiInput > div:not(:last-child) {
	margin-bottom: 6px;
}
form section div > div.multiInput label {
	display: flex;
	margin-right: 0;
	margin-bottom: 10px;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	white-space: nowrap;
}
form section div > div.multiInput label:last-child {
	margin-bottom: 0;
}
form section div > div.multiInput label span {
	box-sizing: border-box;
	min-width: 4.8em;
	padding-right: 0.7em;
	text-align: right;
}
form section div > div label {
	margin-right: 15px;
	font-size: 1.4rem;
}
form section div > div > label:last-child {
	margin-right: 0;
}

#contact.wr .inr {
	max-width: 940px;
}
#contact .inr > p:first-child {
	margin-bottom: 20px;
}
#contact .inr > p.att {
	position: relative;
	margin-bottom: 90px;
	padding-left: 1.2em;
	font-size: 10.5pt;
	line-height: 160%;
}
#contact .inr > p.att:before {
	content: "\203B";
	position: absolute;
	left: 0;
}
#contact .inr > p.att a {
	color: #539dca;
}
#contact form section {
	border-top: none;
}
#contact form section > div {
	border-bottom-color: #d4d4d4;
}
#contact form section > div:first-child {
	padding-top: 0;
}
#contact form section div > h4 {
	width: 136px;
}
@media screen and (max-width: 740px) {
	#contact .inr > p.att {
		margin-bottom: 80px;
	}
}
@media screen and (max-width: 640px) {
	#contact .inr > p.att {
		margin-bottom: 70px;
	}
}
@media screen and (max-width: 540px) {
	#contact .inr > p.att {
		margin-bottom: 60px;
	}
}

form .acceptance {
	margin-bottom: 40px;
	padding: 8px 0;
	text-align: center;
}
form .acceptance label {
	margin: 0;
}
form .acceptance a {
	color: #fff;
	text-decoration: underline;
}
.wpcf7 form .wpcf7-response-output {
	margin: 0 0 40px;
}
.wpcf7 form.invalid .wpcf7-response-output {
	border-color: #d00;
	color: #d00;
}
input:not([type="checkbox"]), button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="text"], input[type="tel"], input[type="email"], textarea {
	box-sizing: border-box;
	font-size: 12pt;
	line-height: 160%;
	border: solid 1px #b7b7b7;
	border-radius: 5px;
	padding: 6px 12px;
	margin: 0;
	width: 100%;
	background-color: #fff;
}
input[name=zip] {
	max-width: 8em;
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus,
textarea:focus, input[type="radio"]:focus, input[type="checkbox"] {
	background: #fff;
	border: 1px solid #f2b2b2;
}
select {
	position: relative;
	font-family: monospace;
	font-size: 12pt;
	line-height: 160%;
	border: solid 1px #b7b7b7;
	border-radius: 5px;
	background-color: #fff;
	padding: 6px 12px;
	padding-right: calc(12px + 1.5em);
	margin: 0;
	color: #333;
	cursor: pointer;
}
select::-ms-expand {
    display: none;
}

.selwrap {
	position: relative;
	display: inline-block;
	width: auto;
}
.selwrap:after {
	content: "\25BD";
	position: absolute;
	top: 0;
	right: 10px;
	height: 100%;
	font-size: 1.2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	line-height: 100%;
	transform: translatey(0px);
	pointer-events: none;
}

input[type=radio], input[type=checkbox] {
	display: none;
}
input[type=radio] + label, input[type=checkbox] + label, input[type=checkbox] + .wpcf7-list-item-label {
	position: relative;
	padding-left: 1.5em;
	font-size: 1.4rem;
}
input[type=radio] + label:after, input[type=radio] + label:before,
input[type=checkbox] + label:after, input[type=checkbox] + label:before,
input[type=checkbox] + .wpcf7-list-item-label:after, input[type=checkbox] + .wpcf7-list-item-label:before {
	position: absolute;
	content: "";
	display: block;
	top: 50%;
}
input[type=radio] + label:after {
	left: 0;
	margin-top: -8px;
	width: 16px;
	height: 16px;
	border: 1px solid #b7b7b7;
	border-radius: 50%;
}
input[type=radio] + label:before {
	left: 4px;
	margin-top: -4px;
	width: 10px;
	height: 10px;
	background: #827e5e;
	border-radius: 50%;
	opacity: 0;
}
input[type=radio]:checked + label:before {
	opacity: 1;
}
input[type=radio]:checked + label:hover:after {
	border-color: #0171bd;
}
input[type=checkbox] + label:after,
input[type=checkbox] + .wpcf7-list-item-label:after {
	left: 0;
	margin-top: -8px;
	width: 15px;
	height: 15px;
	border: 1px solid #b7b7b7;
	border-radius: 3px;
}
input[type=checkbox] + label:before,
input[type=checkbox] + .wpcf7-list-item-label:before {
	top: 52%;
	left: 2px;
	margin-top: -4px;
	width: 11px;
	height: 4px;
	opacity: 0;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-55deg);
	z-index: 1;
}
input[type=checkbox]:checked + label:before,
input[type=checkbox]:checked + .wpcf7-list-item-label:before {
	opacity: 1;
}
input[type=checkbox]:checked + label:after,
input[type=checkbox]:checked + .wpcf7-list-item-label:after {
	/*border-color: #827e5e;
	background-color: #827e5e;*/
	background-color: #2e3138;
}

input[type="reset"] {
	color: #fff;
	font-size: 11pt;
	font-weight: bold;
	letter-spacing: 0.5px;
	background: #d5d3bd;
	text-align: center;
	padding: 16px 0;
	box-sizing: border-box;
	border-radius: 4px;
	cursor: pointer;
}
input[type="reset"]:hover {
	opacity: 0.8;
}
input[type="submit"] {
	color: #fff;
	font-size: 11pt;
	letter-spacing: 0.5px;
	background: #827e5e;
	text-align: center;
	padding: 16px 0;
	box-sizing: border-box;
	border-radius: 3px;
	cursor: pointer;
}
input[type="submit"]:hover {
	opacity: 0.8;
}
form .btns {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: center;
}
form .btns p {
	margin-bottom: 0;
	width: 100%;
	text-align: center;
}
form .btns input[type="reset"] {
	width: 30%;
}
form .btns input[type="submit"] {
	display: inline-block;
	border: 2px solid #fff;
	border-radius: 0;
	width: 100%;
	max-width: 340px;
	background-color: transparent;
	padding: 19px 0 20px;
	font-size: 1.6rem;
	box-shadow: none;
}
form .btns .submitwrap {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 480px;
}
form .btns .submitwrap:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	display: inline-block;
	width: 0.55em;
	height: 0.55em;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg) translateY(-75%);
}
form .wpcf7-spinner {
	display: block;
	margin: 10px auto 0;
}
form .must {
	float: right;
	margin-left: 12px;
	border-radius: 3px;
	background: #e00;
	padding: 4px 5px 3px 6px;
	color: #fff;
	font-size: 8pt;
	line-height: 100%;
	font-weight: bold;
}
@media screen and (max-width: 820px) and (min-width: 681px) {
	form section div > div.twofield {
		display: block;
	}
	form section div > div.twofield label {
		width: 100%;
	}
	form section div > div.twofield label:first-child {
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 680px) {
	form section div > h4 {
		display: block;
		margin-bottom: 14px;
		width: 100%;
		font-weight: bold;
	}
	form section div > h4 br {
		display: none;
	}
	form section div > h4.text, form section div > h4.select {
		padding-top: 0;
	}
	form section div > div {
		width: 100%;
	}
	form .must {
		float: none;
		display: inline-block;
		vertical-align: baseline;
		margin-left: 10px;
	}
}
@media screen and (max-width: 520px) {
	form section div > div.twofield {
		display: block;
	}
	form section div > div.twofield label {
		width: 100%;
	}
	form section div > div.twofield label:first-child {
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 480px) {
	form section {
		margin-bottom: 30px !important;
	}
	form section > div {
		padding-top: 18px;
		padding-bottom: 18px;
	}
	form section div > h4 {
		margin-bottom: 12px;
	}
	form .btns .submitwrap {
		width: calc(70% - 10px);
	}
	input[type=checkbox] + .wpcf7-list-item-label {
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 434px) {
	form dl dt, form dl dd {
		padding-left: 0;
	}
}

#privacyPolicy.wr {
	max-width: 980px;
}
#privacyPolicy h3 {
	margin-bottom: 60px;
	border-bottom-color: #ddd;
	padding-bottom: 8px;
	font-weight: bold;
}
#privacyPolicy h4 {
	margin-bottom: 24px;
	font-size: 2.3rem;
	line-height: 160%;
}
#privacyPolicy section {
	font-size: 1.6rem;
}
#privacyPolicy section:not(:last-child) {
	margin-bottom: 70px;
}
#privacyPolicy section p:last-child {
	margin-bottom: 0;
}
#privacyPolicy section a {
	color: #539dca;
}
@media screen and (max-width: 640px) {
	#privacyPolicy h4 {
		font-size: 2.1rem;
	}
}
@media screen and (max-width: 480px) {
	#privacyPolicy h3 {
		margin-bottom: 44px;
	}
	#privacyPolicy h4 {
		margin-bottom: 18px;
		font-size: 1.8rem;
	}
	#privacyPolicy section {
		font-size: 1.5rem;
	}
	#privacyPolicy section:not(:last-child) {
		margin-bottom: 50px;
	}
}


#popup {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.75);
	overflow: hidden;
	opacity: 0;
	z-index: 9999;
	transition: opacity 0.4s ease;
}
#popup .inner {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	width: calc(100% - 40px);
	max-width: 960px;
	max-height: calc(100% - 60px);
	background-color: #fff;
	padding: 30px;
	color: #000;
	transform: scale(0.8);
	transition: transform 0.4s ease;
}
#popup .inner figure {
	margin: 0;
	width: 30%;
	height: 100%;
	max-height: 360px;
	background-color: #484848;
	background-position: center;
	background-size: cover;
}
#popup .inner figure.logo {
	background-color: #fff;
	background-size: 90% auto;
	background-repeat: no-repeat;
}
#popup .inner figure:before {
	content: "";
	display: block;
	padding-top: 130%;
}
#popup .inner .rgt {
	box-sizing: border-box;
	width: 70%;
	padding: 5px 40px;
	padding-right: 0;
}
#popup .inner .rgt h4 {
	margin-bottom: 13px;
	border-bottom: 3px solid #222;
	padding-top: 10px;
	padding-left: 3px;
	padding-bottom: 6px;
	font-size: 3.8rem;
	line-height: 78%;
}
#popup .inner .rgt h4 small {
	display: inline-block;
	color: #01609a;
	font-family: "Sofia Sans Condensed", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 2.3rem;
	line-height: 140%;
	vertical-align: -4px;
}
#popup .inner .rgt h5 {
	margin-bottom: 7px;
	font-size: 1.5rem;
	text-indent: -0.4em;
}
#popup .inner .rgt p {
	margin-bottom: 0;
	font-size: 1.5rem;
	line-height: 160%;
}
#popup .inner .rgt dl.history {
	font-size: 1.4rem;
	line-height: 160%;
}
#popup .inner .rgt dl.history dt {
	width: 4.4em;
}
#popup .inner .rgt dl.history dd {
	margin-bottom: 5px;
	padding-left: 4.4em;
}
#popup .closer {
	position: absolute;
	top: 0;
	right: 0;
	width: 32px;
	height: 32px;
	cursor: pointer;
}
#popup .closer:before, #popup .closer:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px;
	height: 40%;
	background: #888;
}
#popup .closer:before {
	transform: translate(-50%,-50%) rotate(45deg);
}
#popup .closer:after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

#popup.active {
	opacity: 1;
	transition: opacity 0.3s ease;
}
#popup.active .inner {
	transform: scale(1);
	transition: transform 0.3s ease;
	border-radius: 2px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

#popup .inner .box {
	position: relative;
	box-sizing: border-box;
	padding: 24px 10px;
}
#popup .inner .box p:empty {
	display: none;
}
#popup .inner .box h3 {
	margin: 0 0 12px;
	font-size: 1.5rem;
	letter-spacing: 1px;
}
html[lang=ja] #popup .inner .box h3,
html[lang=zh-cmn-Hans] #popup .inner .box h3,
html[lang=zh-cmn-Hant] #popup .inner .box h3 {
	margin-bottom: 14px;
	font-size: 1.6rem;
}
#popup .inner .box img.mainph {
	display: block;
	margin: 0 auto;
	width: 100%;

}
#popup .inner .box .guide {
	margin-bottom: 1.5em;
	text-align: justify;
	font-size: 10.5pt;
	line-height: 160%;
}
#popup .inner .box .videowrap {
	position: relative;
	width: 100%;
	padding: 28.2%;
}
#popup .inner .box .videowrap > iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#popupContents {
	display: none;
}
@media screen and (max-width: 840px) {
	#popup .inner figure {
		flex-shrink: 0;
		width: 220px;
	}
	#popup .inner .rgt {
		padding-left: 28px;
	}
}
@media screen and (max-width: 767px) {
	#popup .inner {
		padding: 20px;
	}
	#popup .inner .rgt h4 {
		padding-top: 4px;
		padding-bottom: 2px;
		font-size: 3.2rem;
	}
	#popup .inner .rgt h4 small {
		font-size: 2.1rem;
	}
}
@media screen and (max-width: 640px) {
	#popup .inner {
		flex-direction: column;
	}
	#popup .inner figure {
		margin-bottom: 16px;
		width: 100%;
		height: auto;
	}
	#popup .inner figure.logo {
		background-size: 300px auto;
	}
	#popup .inner figure:before {
		padding-top: 60%;
	}
	#popup .inner .rgt {
		width: 100%;
		padding: 0;
	}
	#popup .closer {
		width: 22px;
		height: 22px;
	}
}
@media screen and (max-width: 520px) {
	#popup .inner figure.logo {
		background-size: auto 100%;
	}
}
@media screen and (max-width: 480px) {
	#popup .inner {
		width: calc(100% - 20px);
	}
	#popup .inner .box {
		padding: 16px 10px 20px;
	}
	#popup .inner .box h3 {
		margin-bottom: 14px;
		font-size: 14pt;
	}
	#popup .inner .box img.mainph {
		margin-bottom: 20px;
	}
	#popup .inner .box .osusume {
		padding: 10px;
		font-size: 11pt;
	}
	#popup .inner .rgt h4 {
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 420px) {
	#if1, #if2, #if3, #if4, #if5, #if6 {
		padding: 20px 10px;
	}
}
@media screen and (max-height: 480px) {
	#popup .inner {
		max-height: calc(100% - 80px);
	}
}

#pcReserve {
	writing-mode: vertical-lr;
	position: fixed;
	right: 0;
	top: 50%;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
	width: 58px;
	background-color: #01609a;
	padding: 0;
	text-align: center;
	letter-spacing: 3px;
	z-index: 119;
	transform: translateY(-50%);
}
#pcReserve a {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 22px 0;
	color: #fff;
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 100%;
}
#pcReserve a:hover {
	text-decoration: none;
}
#spReserve {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: #111;
	padding: 0;
	text-align: center;
	z-index: 119;
}
#spReserve a {
	position: relative;
	display: block;
	width: 100%;
	padding: 22px 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 100%;
}
#spReserve a:hover {
	text-decoration: none;
}
@media screen and (min-width: 1101px) {
	#spReserve {
		display: none;
	}
}
@media screen and (max-width: 1100px) {
	#pcReserve {
		display: none;
	}
}
@media screen and (max-width: 640px) {
	#spReserve a {
		padding: 18px 0;
	}
}

#qanda.wr {
	max-width: 980px;
}
#qanda h3 {
	margin-bottom: 64px;
	border-bottom-color: #ddd;
	padding-bottom: 16px;
	font-weight: bold;
}
#qanda dl:not(:last-child) {
	margin-bottom: 160px;
}
#qanda dl dt {
	float: none;
	position: relative;
	margin-bottom: 44px;
	padding-top: 0.2em;
	padding-left: 2.1em;
	font-size: 2.3rem;
}
#qanda dl dt:before {
	content: "Q.";
	position: absolute;
	top: 0;
	left: 0;
	font-family: "Sofia Sans Condensed", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 5.4rem;
}
#qanda dl dd {
	position: relative;
	margin-left: 6.3em;
	margin-bottom: 120px;
	padding-top: 0.4em;
	padding-left: 2.7em;
	font-size: 1.6rem;
}
#qanda dl dd.withLinks {
	margin-bottom: 0;
}
#qanda dl dd:last-child {
	margin-bottom: 0;
}
#qanda dl dd:before {
	content: "A.";
	position: absolute;
	top: 0;
	left: 0;
	font-family: "Sofia Sans Condensed", sans-serif;
	font-style: italic;
	font-weight: bold;
	font-size: 4.4rem;
}
#qanda dl dd p {
	margin-bottom: 10px;
}
#qanda .att {
	position: relative;
	padding-left: 1.2em;
	font-size: 1.3rem;
}
#qanda .att:before {
	content: "\203B";
	position: absolute;
	left: 0;
}
#qanda .links {
	margin-top: 34px;
	margin-bottom: 120px;
	text-align: center;
}
#qanda .links a {
    position: relative;
    display: inline-block;
    border: 2px solid #fff;
    padding: 7px 60px 8px;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
}
#qanda .links a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    display: block;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 8px;
    height: 8px;
    transform: rotate(45deg) translatey(-60%);
    transition: right 0.1s cubic-bezier(0, 0, 0.2, 1);
}
#qanda .links a:hover {
    text-decoration: none;
}
#qanda .links a:hover:after {
    right: 13px;
}
#qanda .links a:not(:first-child) {
	margin-left: 60px;
}
@media screen and (max-width: 980px) {
	#qanda dl dd {
		margin-left: 4.2em;
	}
}
@media screen and (max-width: 767px) {
	#qanda h3 {
		margin-bottom: 50px;
	}
	#qanda dl dd, #qanda .links {
		margin-bottom: 70px;
	}
	#qanda .links a:not(:first-child) {
		margin-left: 40px;
	}
}
@media screen and (max-width: 740px) {
	#qanda .links {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
	}
	#qanda .links a:not(:first-child) {
		margin-top: 20px;
		margin-left: 0;
	}
}
@media screen and (max-width: 640px) {
	#qanda dl:not(:last-child) {
		margin-bottom: 110px;
	}
	#qanda dl dt {
		font-size: 2.1rem;
	}
	#qanda dl dt:before {
		font-size: 4.7rem;
	}
	#qanda dl dd {
		margin-left: 2.2em;
		padding-left: 2.3em;
	}
	#qanda dl dd:before {
		font-size: 3.8rem;
	}
}
@media screen and (max-width: 540px) {
	#qanda dl dt {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 480px) {
	#qanda dl:not(:last-child) {
		margin-bottom: 90px;
	}
	#qanda h3 {
		margin-bottom: 40px;
	}
	#qanda dl dt {
		padding-top: 0.1em;
		font-size: 1.8rem;
	}
	#qanda dl dt:before {
		font-size: 3.8rem;
	}
	#qanda dl dd {
		padding-top: 0.3em;
		padding-left: 2.3em;
		font-size: 1.5rem;
	}
	#qanda dl dd:before {
		font-size: 3.1rem;
	}
}

#qanda .firstTime {
	position: relative;
	margin-bottom: 160px;
}
#qanda .firstTime h3 {
	margin-bottom: 40px;
}
#qanda .firstTime ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
#qanda .firstTime ol li {
	position: relative;
	padding-left: 1.4em;
	font-size: 1.6rem;
}
#qanda .firstTime ol li:before {
	position: absolute;
	left: 0;
}
#qanda .firstTime ol li:nth-child(1):before {
	content: "\2460";
}
#qanda .firstTime ol li:nth-child(2):before {
	content: "\2461";
}
#qanda .firstTime ol li:nth-child(3):before {
	content: "\2462";
}
#qanda .firstTime ol li:nth-child(4):before {
	content: "\2463";
}
#qanda .firstTime ol li:not(:last-child) {
	margin-bottom: 80px;
}
#qanda .firstTime ol li p {
	margin: 0;
}
#qanda .firstTime ol li figure {
	margin: 24px auto 0;
	max-width: 680px;
}
#qanda .firstTime ol li figure img {
	display: block;
	width: 100%;
}
#qanda .firstTime p.att {
	margin-top: 26px;
	margin-bottom: 0;
}
@media screen and (max-width: 640px) {
	#qanda .firstTime {
		margin-bottom: 110px;
	}
}
@media screen and (max-width: 540px) {
	#qanda .firstTime ol li:not(:last-child) {
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 480px) {
	#qanda .firstTime {
		margin-bottom: 90px;
	}
	#qanda .firstTime h3 {
		margin-bottom: 28px;
	}
	#qanda .firstTime ol li {
		font-size: 1.5rem;
	}
	#qanda .firstTime ol li p {
		line-height: 160%;
	}
	#qanda .firstTime ol li figure {
		margin-top: 14px;
	}
}

#tradelaw h3 {
	margin-bottom: 64px;
	border-bottom-color: #ddd;
	padding-bottom: 16px;
	font-weight: bold;
}
#tradelaw dl {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
}
#tradelaw dl dt, #tradelaw dl dd {
	padding: 0 12px 40px;
	border-bottom: 1px solid #909090;
}
#tradelaw dl dt {
	flex-shrink: 0;
	float: none;
	margin-right: 60px;
	width: 310px;
}
#tradelaw dl dd {
	margin-bottom: 0;
	width: calc(100% - 370px);
}
#tradelaw dl dd a {
	color: #fff;
}
@media screen and (max-width: 960px) {
	#tradelaw dl dt {
		margin-right: 40px;
		width: 270px;
	}
	#tradelaw dl dd {
		width: calc(100% - 310px);
	}
}
@media screen and (max-width: 767px) {
	#tradelaw h3 {
		margin-bottom: 50px;
	}
	#tradelaw dl dt {
		margin-right: 30px;
		width: 240px;
	}
	#tradelaw dl dd {
		width: calc(100% - 270px);
	}
}
@media screen and (max-width: 640px) {
	#tradelaw dl dt {
		width: 200px;
	}
	#tradelaw dl dd {
		width: calc(100% - 230px);
	}
}
@media screen and (min-width: 561px) {
	#tradelaw dl > *:nth-child(n + 3) {
		margin-top: 40px;
	}
}
@media screen and (max-width: 560px) {
	#tradelaw dl {
		display: block;
	}
	#tradelaw dl dt,
	#tradelaw dl dd {
		width: 100%;
	}
	#tradelaw dl dt {
		margin-right: 0;
		border-bottom: none;
		padding-bottom: 0;
		font-size: 10.5pt;
	}
	#tradelaw dl dd {
		margin-top: 0;
		margin-bottom: 40px;
		padding-bottom: 26px;
	}
	#tradelaw dl dd:last-child {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 480px) {
	#tradelaw h3 {
		margin-bottom: 40px;
	}
	#tradelaw dl dt {
		margin-bottom: 6px;
	}
	#tradelaw dl dd {
		font-size: 1.6rem;
	}
}
