/*!
Theme Name: lucas
Theme URI: http://underscores.me/
Author: Crossroad.Inc
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: lucas
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

lucas is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
@charset "utf-8";
:root{
  /*--fontawesome:"Font Awesome 7 Free","Font Awesome 7 Brands";*/
  --fontawesome:"Font Awesome 5 Free","Font Awesome 5 Brands";
	--enfont:"Oswald", sans-serif;
	--black1:#3e4646;
	--gray1:#464B4B;
	--gray2:#a6acac;
	--gray3:#E5E7EB;
	--pale1:#EFF1F4;
}
html{
	-webkit-text-size-adjust: 100%;
}
body{
	margin: 0;
}
main{
	display: block;
}
hr{
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre{
	font-family: monospace, monospace;
	font-size: 1em;
}
a{
	background-color: transparent;
	transition:all .3s;
}
abbr[title]{
	border-bottom:none;
	text-decoration:underline;
	text-decoration:underline dotted;
}
b,strong{
	font-weight: bolder;
}
code,kbd,samp{
	font-family:monospace, monospace;
	font-size:1em;
}
small{
	font-size: 80%;
}
sub,sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub{
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
img{
	height:auto;
	max-width:100%;
	border-style:none;
}
.imgarea{
	text-align:center;
	margin-bottom:1rem;
}
button,input,optgroup,select,textarea{
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,input{
	overflow: visible;
}
button,select{
	text-transform: none;
}
button,[type="button"],[type="reset"],[type="submit"] {
	-webkit-appearance: button;
	appearance: button;
}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
legend{
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"]{
	-webkit-appearance: textfield;
	appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
details{
	display: block;
}
summary{
	display: list-item;
}
template {
	display: none;
}
[hidden] {
	display:none;
}
*,*::before,*::after {
	box-sizing: inherit;
}
html{
	box-sizing:border-box;
}
body,p{
	color:var(--black1);
	font-family:游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", Arial, Helvetica, sans-serif;
	font-size:17px;
	line-height:1.7;
}
@media(min-width:992px){
	body,p{
		font-weight:500;
	}
}
h1,h2,h3,h4,h5,h6{
	clear:both;
	margin:0;
}
p{
	margin: 0;
}
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;
	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;
}
abbr,acronym{
	border-bottom: 1px dotted #666;
	cursor: help;
}
mark,ins{
	background: #fff9c0;
	text-decoration: none;
}
big{
	font-size: 125%;
}
body {
	background: #fff;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}
ul,ol{
	padding-inline-start:20px;
	margin-bottom:0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
dt {
	font-weight: 700;
}
dd {
	margin-bottom:1.5em;
}
embed,iframe,object {
	max-width: 100%;
}
figure {
	margin: 1em 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
    border-collapse: collapse;
}
/* Links
------------------*/
a {
	text-decoration: none;
	color: #4169e1;
}
a:focus, a:hover {
	text-decoration: none;
}
/* Forms
-------------------*/
button,input[type="button"],input[type="reset"],input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}
button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}
select {
	border: 1px solid #ccc;
}
textarea {
	width: 100%;
}

/* Navigation
---------------------------*/
.main-navigation {
	display: block;
	width: 100%;
}
.main-navigation ul {
	display: none;
	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: 100%;
	left: -999em;
	z-index:100;
}
.main-navigation ul li.menu-item-has-children:hover>ul,.main-navigation ul li.focus>ul{
	display:block;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
}
.main-navigation ul ul a {
	width: 100%;
	padding:10px 5px;
}
.main-navigation li {
	position: relative;
}
.main-navigation a {
	display: block;
	text-decoration: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}
@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}
.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}
/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}
.updated:not(.published) {
	display: none;
}
.page-content,
.entry-content,
.entry-summary {
	margin:0 auto;
}
.page-links {
	clear: both;
	margin: 0 0 1.5em;
}
/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}
.bypostauthor {
	display: block;
}
/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}
.widget select {
	max-width: 100%;
}
/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}
/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}
/* Captions
--------------------------------------------- */
.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;
}
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}
.infinity-end.neverending .site-footer {
	display: block;
}
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.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;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
#primary[tabindex="-1"]:focus {
	outline: 0;
}
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.gmap-wrap {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-bottom:100%;
}
.gmap-wrap iframe, .gmap-wrap object, .gmap-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
a.tellink {
  transition: all .3s;
}
.entry-body img {
  display: inline;
}
.wp-block-image img {
	object-fit: contain;
}
.entry-body a {
	transition: all .3s;
}
.entry-body a:hover {
	text-decoration: underline;
	opacity: 0.8;
}
.tb-inline,.tb-block,.tb-flex,.pc-inline,.pc-block,.pc-flex{
  display: none;
}
@media(min-width:768px){
  .tb-inline {
    display: inline!important;
  }
  .tb-block {
    display: block!important;
  }
  .tb-flex {
    display: flex!important;
  }
}
@media(min-width:992px){
  .pc-inline {
    display: inline!important;
  }
  .pc-block {
    display: block!important;
  }
  .pc-flex {
    display: flex!important;
  }
}
@media(min-width:768px){
  .gmap-wrap {
    padding-bottom:75%;
  }
  a.tellink {
    pointer-events: none;
  }
}
@media(min-width:992px){
  .gmap-wrap {
    padding-bottom:56.25%;
  }
}
/* title,font
_____________________________*/
h1{
  font-size:24px;
}
h2{
  font-size:22px;
  margin-bottom:20px;
}
h3{
  font-size:20px;
  margin-bottom:20px;
}
h4{
  font-size:18px;
  margin-bottom:15px;
}
.jp_en_ttl{
	display:flex;
	flex-direction:column;
	color:var(--black1);
	margin-bottom:2rem;
}
.jp_en_ttl span{
	font-size:32px;
	font-family:var(--enfont);
	color:var(--gray1);
	letter-spacing:2px;
}
.jp_en_ttl h2{
	font-size:18px;
	font-weight:500;
	margin-bottom:0;
}
.jp_en_ttl.wh,.jp_en_ttl.wh span{
	color:#fff;
}
@media(min-width:768px){
	h1{
		font-size:26px;
	}
	h2{
		font-size:24px;
	}
	h3{
		font-size:22px;
	}
	h4{
		font-size:20px;
	}
	.jp_en_ttl{
		flex-direction:row;
		align-items:center;
	}
	.jp_en_ttl span,.jp_en_ttl h2{
		line-height:1.2;
	}
	.jp_en_ttl span{
		font-size:40px;
		padding-right:16px;
		margin-right:24px;
		position:relative;
		letter-spacing:4px;
	}
	.jp_en_ttl span::after{
		content:'';
		position:absolute;
		top:50%;
		right:0;
		transform:rotate(20deg) translateY(-50%);
		background:var(--gray1);
		width:1px;
		height:26px;
	}
	.jp_en_ttl.wh span::after{
		background:#fff;
	}
}
@media(min-width:992px){
	h1{
		font-size:28px;
	}
	h2{
		font-size:26px;
	}
	h3{
		font-size:24px;
	}
}
.entry-header{
	display:flex;
	width:100%;
	align-items:center;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	position:relative;
	padding:40px 0;
}/*
.entry-header:before{
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:rgba(188, 188, 188, 0.5);
}*/
.entry-header .container{
	position:relative;
}
.entry-ttl{
	position:relative;
	line-height:1.6;
	padding:0;
	border:0;
	margin:0 auto;
	color:var(--gray1);
	text-align:center;
}
.entry-ttl span{
	display:block;
}
.entry-ttl .en{
	font-size:17px;
	margin:0 auto;
	font-family:var(--enfont);
	font-weight:500;
}
.entry-ttl .jp{
	font-size:24px;
	margin:0 auto;
	font-weight:bold;
}
@media(min-width:768px){
	.entry-header .container {
		margin-left:auto;
	}
	.entry-ttl .en{
		font-size:22px;
	}
	.entry-ttl .jp{
		font-size:36px;
	}
}
@media(min-width:992px){
	.entry-ttl .jp{
		font-size:40px;
	}
}
/* #404 page */
.notfound-siteContent .site-main p {
	margin-bottom:2rem;
}
/* #header */
.site-header,.header-contents{
	height:60px;
}
.header-contents{
	display: flex;
	position: relative;
	background:var(--gray1);
}
.scrolled .header-contents{
	position: fixed;
	width:100%;
	z-index:2;
	top:0;
	left:0;
}
.header-contents .container {
	display: flex;
	justify-content: center;
	align-items: center;
}
.site-title{
	margin:0;
	overflow:hidden;
	padding-right:29px;
	max-height:100%;
	position:relative;
}
.custonlogoWrap{
	display:flex;
	justify-content:center;
	align-items:center;
	background:#fff;
	padding:0 12px;
	height:100%;
}
.site-title::after{
	content:'';
  position:absolute;
  top:-2px;
  right:0px;
  width:30px;
  height:calc(100% + 4px);
  background:#fff;
  clip-path:polygon(0 0, 0% 100%, 100% 100%);
}
.site-title span {
	font-size:30px;
	font-weight:bold;
}
.custom-logo-link img{
	width:200px;
	object-fit:contain;
}
#mobile-button{
	position:fixed;
	top:6px;
	right:10px;
	width:45px;
	height:45px;
	z-index:5;
	cursor:pointer;
	background:transparent;
	padding:0;
	border-radius:0;
	border:none;
}
#mobile-button span{
	display:block;
	position:absolute;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	width:40px;
	height:2px;
	background-color:#fff;
	transition: all 0.5s;
	border-radius:4px;
}
#mobile-button span:nth-child(1){
	top:30%;
}
#mobile-button span:nth-child(2){
	top:50%;
}
#mobile-button span:nth-child(3) {
	top:70%;
}
.scrolled #mobile-button {
	position:fixed;
}
.open #mobile-button{
	background:var(--black1);
}
.open #mobile-button span:nth-child(1){
	-webkit-transform:translate(-50%,9px) rotate(-140deg);
	transform:translate(-50%,9px) rotate(-140deg);
}
.open #mobile-button span:nth-child(2) {
	opacity: 0;
}
.open #mobile-button span:nth-child(3){
	-webkit-transform: translate(-50%,-10px) rotate(140deg);
	transform:translate(-50%,-10px) rotate(140deg);
}
#mobile-menu{
	display:block;
	background:var(--gray1);
	position:fixed;
	top:0;
	left:-110%;
	width:80%;
	height:100vh;
	transition:all 0.5s;
	padding:50px 20px 40px;
	z-index:3;
}
.site-mobile-menu{
	padding-left:0;
	list-style:none;
}
.site-mobile-menu li{
	opacity:0;
	-webkit-transform:translateX(-10px);
	transform:translateX(-10px);
	transition:all .8s ease-out;
	border-bottom:1px solid #BBC0C9;
}
.site-mobile-menu li:nth-child(1){
	transition-delay:0.4s;
}
.site-mobile-menu li:nth-child(2){
	transition-delay:0.5s;
}
.site-mobile-menu li:nth-child(3){
	transition-delay:0.6s;
}
.site-mobile-menu li:nth-child(4){
	transition-delay:0.7s;
}
.site-mobile-menu li:nth-child(5){
	transition-delay:0.8s;
}
#mobile-menu .gtranslate_wrapper{
	opacity:0;
	transition:all .8s ease-out;
	transition-delay:0.9s;
}
.open #mobile-menu .gtranslate_wrapper{
	opacity:1;
}
.open .site-mobile-menu li{
	opacity:1;
	-webkit-transform:translateX(0);
	transform:translateX(0);
}
.site-mobile-menu{
	margin-bottom:20px;
}
.site-mobile-menu li a{
	color:#fff;
	font-weight:600;
	display:block;
	padding:12px 1rem;
	transition:all .3s ease;
}
#site-navigation{
	display: none;
}
.open #mobile-menu{
	left:0;
}
#page-mask{
	z-index:2;
	position:fixed;
	display:none;
	width:100vw;
	height:100vh;
	top:0;
	left:0;
	background:rgba(255, 255, 255, 0.7);
	transition:all .3s;
}
.open #page-mask{
	cursor:pointer;
}
.pc_trans{
	display:none;
}
.gt_float_switcher .gt_options{
	max-width:100%!important;
	background:#fff;
}
@media(min-width:768px){
	.pc_trans{
		margin-right:80px;
		margin-left:auto;
		padding:10px 20px 10px 0;
		display:block;
		width:280px;
	}
	.custonlogoWrap{
		padding:0 24px 0 20px;
	}
}
@media(min-width:1200px){
	.site-header,.header-contents{
		height:70px;
	}
	.header-contents{
		justify-content:space-between;
	}
	#mobile-menu,#mobile-button{
		display: none;
	}
	.custom-logo-link img{
		width:230px;
	}
	#site-navigation{
		display:flex;
		align-items:center;
		width:fit-content;
	}
	#pc-nav{
		display:flex;
		padding-left:30px;
		align-items: center;
		justify-content: flex-end;
	}
	#pc-nav>li{
		text-align:center;
		margin-right:12px;
	}
	#pc-nav>li:last-child{
		margin-right:0;
	}
	#pc-nav>li>a{
		font-weight:500;
		display:block;
		padding:5px 10px;
		color:#fff;
	}
	#pc-nav>li>a:hover,#pc-nav>li>a:focus{
		opacity:0.8;
	}
	#pc-nav>li>a::after{
		content:'';
		position:absolute;
		bottom:2px;
		left:0;
		width:100%;
		height:1px;
		background:rgba(255, 255, 255, 0.8);
		transition:all .3s;
		-webkit-transform:scaleX(0);
		transform:scaleX(0);
		transform-origin:center;
	}
	#pc-nav>li>a:hover::after,#pc-nav>li>a:focus::after{
		-webkit-transform:scaleX(1);
		transform:scaleX(1);
	}
	.pc_trans{
		margin:0;
		padding-top:16px;
	}
}
@media(min-width:1320px){
	.custonlogoWrap{
		padding-right:40px;
	}
}
body.no-sidebar #sidebar{
  display: none;
}
.notfound-siteContent .entry-content{
  padding-top:40px;
  padding-bottom:40px;
}
#breadcrumb {
	padding:10px 0;
	background:#fff;
}
#breadcrumb ul {
	display: flex;
	padding-inline-start: 15px;
	flex-wrap: wrap;
}
#breadcrumb ul li{
	list-style-type: none;
	padding:0 10px;
	position:relative;
}
#breadcrumb a, #breadcrumb ul li,#breadcrumb ul li:after{
  font-size: 13px;
  line-height:1.3;
}
#breadcrumb ul li:after {
	content:'>';
	position:absolute;
	right:-6px;
	top:0;
}
#breadcrumb ul li:last-child::after {
	display: none;
}
#breadcrumb a {
	color:#404040;
}
.page-section{
	padding:50px 0;
}
@media(min-width:768px){
	#breadcrumb ul {
		padding-inline-start: 40px;
	}
	.page-section{
		padding:66px 0;
	}
}
/*---- appear animation ----*/
.transanim-wrap{
	width:fit-content;
	overflow:hidden;
	-webkit-transform:translateX(-105%);
	transform:translateX(-105%);
	transition:all cubic-bezier(0.215, 0.61, 0.355, 1) 0.7s;
}
.transanim{
	opacity:0;
	-webkit-transform:translateX(105%);
	transform:translateX(105%);
	transition:all cubic-bezier(0.215, 0.61, 0.355, 1) 0.7s;
}
.transanim-wrap.active{
	-webkit-transform:translateX(0);
	transform:translateX(0);
}
.transanim-wrap.active .transanim{
	opacity:1;
	-webkit-transform:translateX(0);
	transform:translateX(0);
}
@media(max-width:767px){
	.jp_en_ttl.transanim-wrap,.jp_en_ttl .transanim{
		transition-duration:0.5s;
	}
}
.fade-in,.load-in,.fade-in .fadeUp,.fade-in .fadeRight>li{
	opacity:0;
	transition-duration:0.7s;
	transition-property:opacity, transform;
}
.fade-in{
	transition-delay:0.2s;
}
.fade-in .fadeUp,.fade-in ol.fadeRight>li:nth-child(1){
	transition-delay:0.2s;
}
.fade-in ol.fadeRight>li:nth-child(2){
	transition-delay:0.3s;
}
.fade-in ol.fadeRight>li:nth-child(3){
	transition-delay:0.4s;
}
.fade-in ol.fadeRight>li:nth-child(4){
	transition-delay:0.5s;
}
.fade-in ol.fadeRight>li:nth-child(5){
	transition-delay:0.6s;
}
.fade-in ol.fadeRight>li{
  -webkit-transform: translate(-30px,0);
  transform: translate(-30px,0);
}
.fade-in.fade-in-up,.load-in.fade-in-up,.fade-in .fadeUp{
  -webkit-transform: translate(0,30px);
  transform: translate(0,30px);
}
.fade-in.scroll-in,.load-in.scroll-in,.fade-in ol.fadeRight.scroll-in>li,.fade-in .fadeUp.scroll-in{
	opacity: 1!important;
  -webkit-transform: translate(0,0)!important;
  transform: translate(0,0)!important;
}
/*---- #information ----*/
.singlehead {
	padding-bottom:2rem;
}
.pagination {
	justify-content: center;
}
.nav-links{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items: center;
}
.nav-links span,.nav-links a {
	display: block;
	padding:10px 18px;
	margin:0 5px;
	text-align: center;
	font-weight:bold;
}
.nav-links a {
	transition: all .3s;
	color:#fff;
	background:#777;
	text-decoration: none;
}
.nav-links span,.nav-links a:hover {
	background:#ccc;
	color:#555;
}
.nav-links a.next,.nav-links a.prev {
	background:transparent;
	color:#555;
	padding:0;
}
.nav-links a.next:hover,.nav-links a.prev:hover {
	filter:opacity(0.8);
	color:#555;
}
/*---- #top page ----*/
/* #line-container */
#line-container,#line-container .container{
	position:relative;
}
#line-container{
	overflow:hidden;
}
#long-line,.runner-set{
	position:absolute;
	left:60px;
	display:none;
  opacity: 0;
  transition:opacity .4s ease;
}
#long-line{
	width:1px;
	height:100%;
	background:rgba(193, 203, 203, 0.7);
	top:0;
}
.runner{
	width:10px;
	aspect-ratio:1/1;
	height:auto;
	border-radius:50%;
	background:rgba(112, 142, 168, 0.8);
	position:absolute;
	top:0;
	left:50%;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
}
.runner.r2 { opacity:0.85;}
@media(min-width:992px){
	#line-container .container{
		padding-left:60px;
	}
	#long-line,.runner-set{
		display:block;
	}
}
@media(min-width:1200px){
	#long-line,.runner-set{
		left:90px;
	}
}
/* #hero_sec */
.hero_sec{
	position:relative;
	overflow:hidden;
	padding:0;
}
.hero_sec video,.he_bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.hero_sec video,.heroimg{
	object-fit:cover;
}
.he_bg{
	background:rgba(21, 28, 44, 0.5);
	background:-webkit-linear-gradient(45deg,rgba(17, 24, 39, 0.4),transparent);
	background:linear-gradient(45deg,rgba(17, 24, 39, 0.4),transparent);
	/*background-image:-webkit-radial-gradient(circle, rgba(0, 0, 0, 0.2) 1px, transparent 1px);
	background-image:radial-gradient(circle, rgba(0, 0, 0, 0.2) 1px, transparent 1px);
  background-position:0 0;
  background-size:2px 2px;*/
}
.hero_sec .container{
	position:relative;
	min-height:min(650px,100vh);
	display:flex;
	justify-content:center;
	align-items:center;
	padding-top:40px;
	padding-bottom:40px;
}
.hero_sec .catch .main,.hero_sec .catch .sub{
	color:#fff;
	text-shadow:0 3px 6px rgba(0, 0, 0, 0.3);
}
.hero_sec .catch .main{
	font-family:var(--enfont);
	font-size:32px;
	letter-spacing:1px;
}
.hero_sec .catch .sub{
	font-weight:500;
}
.top_fadeanim{
	opacity:0;
	transition:all 1.2s .1s;
}
.top_fadeanim.anim2{
	transition-delay:.3s;
}
.top_fadeanim.active{
	opacity:1;
}
@media(min-width:768px){
	.hero_sec .catch .main{
		font-size:40px;
		text-align:center;
	}
	.hero_sec .catch .sub{
		text-align:center;
	}
}
@media(min-width:992px){
	.hero_sec .container{
		min-height:700px;
		max-height:min(800px,calc(100vh - 60px));
	}
	.hero_sec .catch .main{
		font-size:48px;
	}
}
@media(min-width:1200px){
	.hero_sec .container{
		max-height:min(800px,calc(100vh - 70px));
	}
	.hero_sec .catch .main{
		font-size:62px;
	}
}
/* #purpose_sec */
.purpose_sec .txt p{
	margin-bottom:1rem;
}
.purpose_sec .txt p:last-child{
	margin-bottom:0;
}
/* #service_sec */
.service_sec{
	background:var(--pale1);
}
.srvWrap{
	padding:30px 1rem;
	background:#fff;
	box-shadow:2px 3px 5px rgba(0, 0, 0, 0.2);
}
.srvWrap.real{
	margin-bottom:40px;
}
.srvWrap .logo_ttl{
	margin-bottom:2rem;
}
.srvWrap .logoarea{
	margin-bottom:20px;
}
.srvWrap .logoarea img{
	width:100px;
	object-fit:contain;
}
.srvWrap h3{
	line-height:1.5;
	padding-bottom:15px;
	position:relative;
}
.srvWrap h3 .en{
	display:block;
	font-family:var(--enfont);
	color:var(--gray1);
	font-size:140%;
}
.srvWrap h3::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:30px;
	height:1px;
	background:#BABFBF;
}
.srvWrap .desc{
	font-size:16px;
}
.ol_srv{
	padding-left:0;
	list-style:none;
	margin-bottom:0;
}
.ol_srv li{
	counter-increment:srv;
	margin-bottom:20px;
}
.ol_srv li:last-child{
	margin-bottom:0;
}
.ol_srv li .num{
	display:block;
	margin-bottom:9px;
	font-size:28px;
	font-family:var(--enfont);
	color:var(--gray2);
	font-weight:700;
	line-height:1.2;
}
.ol_srv li .num::before{
	display:block;
	content:'0'counter(srv);
}
.ol_srv .ttl{
	font-weight:700;
}
.ol_srv .txt{
	font-size:16px;
	font-weight:500;
}
@media(min-width:400px){
	.srvWrap{
		padding:30px 20px;
	}
}
@media(min-width:600px){
	.ol_srv li{
		display:flex;
		align-items:flex-start;
		column-gap:16px;
		margin-bottom:2rem;
	}
	.ol_srv li .num{
		width:32px;
		line-height:1;
	}
	.ol_srv li .dtl{
		position:relative;
		width:calc(100% - 48px);
		padding-left:18px;
	}
	.ol_srv li .dtl::before{
		content:'';
		position:absolute;
		top:6px;
		left:0;
		width:1px;
		height:20px;
		background:var(--black1);
	}
	.ol_srv .ttl{
		font-size:18px;
		margin-bottom:5px;
	}
}
@media(min-width:768px){
	.srvWrap{
		padding:50px 40px;
	}
	.srvWrap .logo_ttl{
		display:flex;
		align-items:flex-start;
		column-gap:40px;
	}
	.srvWrap .logoarea{
		width:132px;
	}
	.srvWrap .logoarea img{
		width:100%;
	}
	.srvWrap .ttlarea{
		width:calc(100% - 172px);
	}
	.srvWrap h3{
		font-size:20px;
	}
}
@media(min-width:992px){
	.srvWrap{
		padding:50px;
	}
	.srvWrap.real{
		margin-bottom:50px;
	}
	.srvWrap h3{
		font-size:23px;
	}
	.srvWrap h3 .en{
		display:inline;
	}
}
/* #company */
.dl_cmp{
	filter:drop-shadow(1px 2px 4px rgba(50, 52, 55, 0.2));
}
.dl_cmp dt{
  padding:10px 20px;
	background:var(--gray1);
	color:#fff;
	font-size:16px;
	text-transform:capitalize;
}
.dl_cmp dd{
  padding:13px 20px;
  margin-bottom:1rem;
  background:var(--pale1);
	font-size:16px;
	text-transform: capitalize;
}
.dl_cmp dd .en{
	display:block;
}
.dl_cmp dt .br1{
	display:none;
}
@media(min-width:500px){
	.dl_cmp{
		display:flex;
		flex-wrap:wrap;
		filter:none;
	}
  .dl_cmp dt{
    width:160px;
		padding:13px 20px;
		display:flex;
		align-items:center;
    border-bottom:1px solid #fff;
  }
	.dl_cmp dd{
		width:calc(100% - 160px);
		margin-bottom:0;
	}
	.dl_cmp dd .en{
		display:inline;
		margin-left:1rem;
	}
	.dl_cmp dd:nth-of-type(even){
		background:var(--gray3);
	}
}
@media(min-width:500px) and (max-width:991px){
	.dl_cmp dt .br1{
		display:inline;
	}
}
@media(min-width:768px){
  .dl_cmp dt,.dl_cmp dd{
    padding-top:20px;
    padding-bottom:20px;
  }
	.dl_cmp .br2{
		display:none;
	}
}
@media(min-width:768px) and (max-width:991px){
	.dl_cmp dd .en{
		display:block;
		margin-left:0;
	}
}
@media(min-width:992px){
  .dl_cmp dt,.dl_cmp dd{
    padding:22px;
  }
	.dl_cmp dt{
		width:270px;
	}
	.dl_cmp dd{
		width:calc(100% - 270px);
	}
	.dl_cmp .br1{
		display:none;
	}
}
/* #contact */
.ctt_sec{
	background:#595d5d;
}
.formbox{
	padding:20px 1rem;
	background:var(--pale1);
	border-radius:10px;
}
.form_add{
  max-width:900px;
  margin:60px auto 0;
  background: rgba(255, 255, 255, 0.1);
  padding:1rem;
	border: 1px solid rgba(255, 255, 255, 0.6);
}
.form_add p{
  color:#fff;
	font-size:16px;
}
.wpcf7-turnstile{
	display:flex;
	justify-content:center;
	margin-bottom:20px;
}
.wpcf7Formwrap,.wpcf7Formwrap p{
	font-size:16px;
}
.bfform{
	margin-bottom:30px;
}
.col_r{
	color:#b30024;
}
.wpcf7Formwrap .priWrap{
	padding:1rem;
	background:#fff;
	width:100%;
	max-width:700px;
	max-height:200px;
	overflow-y:scroll;
	border-radius:5px;
	border:1px solid #d4deec;
	margin:20px auto 30px;
}
.priWrap .detail-wrap{
	padding-top:30px;
}
.wpcf7Formwrap .priWrap h3{
	font-size:16px;
	line-height:1.6;
	margin-bottom:13px;
	font-weight:700;
}
.wpcf7Formwrap .priWrap p,.wpcf7Formwrap .priWrap ul li{
	font-size:15px;
}
.wpcf7Formwrap .priWrap ul{
	padding-left:20px;
}
@media(min-width:400px){
	.formbox,.form_add{
		padding:20px;
	}
}
@media(min-width:768px){
	.formbox,.form_add{
    padding:30px;
  }
}
@media(min-width:992px){
	.bfform{
		text-align:center;
	}
}
/* #footer */
.site-footer{
	background:var(--gray1);
	padding:20px 0 120px;
}
.ftrlogo{
	display:flex;
	justify-content:center;
}
.ftrlogo img{
	width:145px;
	object-fit:contain;
}
.ftrlogo a:hover,.ftrlogo a:focus{
	opacity:0.8;
}
.ftrname{
	color:#fff;
	margin-top:5px;
	text-align:center;
	font-size:16px;
}
.ftr_sns{
	margin-top:30px;
	padding-left:0;
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:center;
	row-gap:10px;
	flex-wrap:wrap;
}
.ftr_sns>li{
	width:66px;
	padding:0 10px;
	display:flex;
	justify-content:center;
}
.ftr_sns a{
	color:#fff;
	font-size:36px;
}
.ftr_sns a:hover{
	opacity:0.8;
}
.ftr-copy{
	margin-top:30px;
	color:#f5f5f5;
	font-size:12px;
	text-align:center;
	font-weight:400;
}
.btn-404{
	display:block;
	background:var(--gray1);
	color:#fff;
	font-weight:500;
	text-align:center;
	padding:13px 20px;
	width:100%;
	max-width:300px;
	margin:0 auto;
}
.btn-404:hover,.btn-404:focus{
	color:#fff;
	filter:brightness(1.2);
}
@media(min-width:768px){
	.site-footer{
		padding-bottom:40px;
	}
	.ftr_sns>li{
		width:76px;
	}
	.btn-404{
		font-weight:600;
	}
}
/* #back-to-top */
#back-to-top{
	position:fixed;
	bottom:40px;
	right:20px;
	border:none;
	/*filter:drop-shadow(0px 0px 6px rgba(255,255,255,0.8));*/
	width:60px;
	z-index:1;
	display:none;
}
#back-to-top>a{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	color:#fff;
	line-height:1.2;
	width:100%;
	height:auto;
	border-radius:50%;
	background:var(--black1);
	aspect-ratio:1/1;
	border:1px solid #7a8282;
}
#back-to-top>a:hover,#back-to-top>a:focus{
	filter:brightness(1.2);
	-webkit-transform:translateY(-8px);
	transform:translateY(-8px);
}
#back-to-top i{
	font-size:24px;
}
#back-to-top span{
	font-family:var(--enfont);
	white-space:nowrap;
	font-size:11px;
	text-align:center;
}
@media(min-width:768px){
	#back-to-top{
		right:30px;
	}
}

/*---- if [lang="en"] ----*/
html[lang="en"].translated-ltr .jp_en_ttl span{
	display:none;
}
html[lang="en"].translated-ltr .jp_en_ttl h2{
	font-size:28px;
	font-family:var(--enfont);
	color:var(--gray1);
	text-transform:capitalize;
}
html[lang="en"].translated-ltr .jp_en_ttl.wh h2{
	color:#fff;
}
html[lang="en"].translated-ltr .site-mobile-menu>li>a,html[lang="en"].translated-ltr #pc-nav>li>a{
	text-transform:capitalize;
}
@media(min-width:768px){
	html[lang="en"].translated-ltr .jp_en_ttl h2{
		font-size:36px;
	}
}
@media(min-width:768px){
	html[lang="en"].translated-ltr .jp_en_ttl h2{
		font-size:42px;
	}
}
@media(min-width:1200px){
	html[lang="en"].translated-ltr #pc-nav>li{
		margin-right:0;
	}
}