@charset "utf-8";
/*
Theme Name: lightning-child
Template: lightning
*/
:root {
	/*------▼基本設定▼------*/
	--color-background: #FFF;
	--color-font: #333;
	--color-primary: #00c3f5;
	--color-primary-shade:#00c3f5;
	--color-primary-tint:#00c3f5;
	--color-secondary: #e83322;
	--color-secondary-tint: #e83322;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
/*-------------------------------------------
   サイト全体共通
--------------------------------------------*/

html {
	font-size: 62.5%; /*ルート指定：1rem＝10px*/
}
body {
	overflow-x: hidden;
	font-size: 1.6rem; /*サイト全体の基準となる文字サイズ*/
	font-family: 'Roboto','Noto Sans JP', sans-serif;
	font-weight:normal;
	color:var(--color-font);
}
h1, h2, h3, h4, a,p {
    color: var(--color-font);
    font-family: 'Roboto','Noto Sans JP', sans-serif !important;
    font-weight: normal;
    font-size: 1.6rem;
	line-height:1.6;
    margin: 0;
	padding:0;
	border:none;
	border-radius:0;
	background:none;
}
* {
	box-sizing: border-box;
}
body img{
	display:block;
	margin:auto;
}
a img{
    backface-visibility: visible;
	transition:all ease .15s;
}
a:hover{
	color:#999;
}
a:hover img{
	opacity:.5;
}
/*------------------------
    ファーストビュー切り替え
------------------------*/
@media screen and (min-width:751px){
	.pc_hero{
		display:block;
	}
	.sp_hero{
		display:none;
	}
}
@media screen and (max-width:750px){
	.pc_hero{
		display:none;
	}
	.sp_hero{
		display:block;
	}
}
/*------------------------
     改行位置の調整
------------------------*/
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*------------------------------------------
lightning 打消し
--------------------------------------------*/
@media screen and (min-width:992px){
/*ヘッダー*/
header.site-header{
	height:100px;
} 
.home header.site-header{
	height:130px;
} 
div#site-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
    max-width: unset;
	padding:0;
}
.site-header--layout--nav-float .site-header-logo {
    width: auto;
    padding: 0;
    margin: 0;
}
.site-header-logo img{
	max-height: 7rem;
}
div#site-header-container .site-header-logo {
    padding: 3rem;
	height: 100%;
    display: flex;
    align-items: center;
    background: #fff;
}
header.site-header nav#global-nav ul li a {
    padding: 2.5rem;
}
.global-nav-list>li .global-nav-name{
	font-size:1.6rem;
}
.global-nav-list>li .global-nav-description {
    font-size: 60%;
    line-height: 1.4;
    opacity: 1;
}

header.site-header nav#global-nav ul li:before{
	display:none;
}
.header_scrolled .site-header{
	position:fixed;
    width: 100%;
	height:10rem;
    max-width: 100vw;
	box-shadow:none;
    top: -100px;
	background:#fff;
    transform: translatey(100px);
    transition: all .7s .25s ease-in-out;
	animation:unset;
}
.home.header_scrolled .site-header{
	position:fixed;
    width: 100%;
	height:10rem;
    max-width: 100vw;
	box-shadow:none;
    top: -130px;
	background:#fff;
    transform: translatey(130px);
    transition: all .7s .25s ease-in-out;
	animation:unset;
}

	.header_scrolled .site-header ul{
		background:transparent !important;
	}	
	.header_scrolled .site-header ul li{
		background:transparent;
	}	
.header_scrolled div#site-header-container .site-header-logo{
	display:block;
	background:transparent;
	padding:1rem 3rem;
}
.header_scrolled .site-header .global-nav {
    display: flex;
    margin-left: 0;
    margin-right: 0;
    justify-content: flex-end;
}
}
/*フッター*/
footer.site-footer{
	border:none;
}
footer.site-footer .container.site-footer-copyright {
    margin: 0;
    padding: 0;
    max-width: none;
    width: 100%;
}
footer.site-footer .container.site-footer-copyright p{
	margin:0;
	font-size:1.4rem;
}
footer.site-footer .container.site-footer-copyright p:not(:first-child){
	display:none;
}
/*フッター上部*/
.container.site-footer-content {
    padding: 0;
    width: min(1100px,95%);
    margin: auto;
	max-width:unset;
}
.row {
    margin-right: 0;
    margin-left: 0;
}
.site-footer .widget:last-child {
    margin-bottom:0;
}
.container.site-footer-content .row .col-lg-4 figure.wp-block-image{
	margin:0;
}

/*下層ページヘッダー*/
.page-header {
    min-height:45rem;
	margin:0 !important;
}
/*見出し等*/
.container {
    width: 100%;
    max-width: unset;
    margin: 0;
    padding: 0;
}
h3:after{
	display:none;
}
/*投稿アーカイブページ*/
body.archive .site-body {
    padding: 8rem 0 10rem;
}
body.archive .site-body-container.container{
	display:flex;
	justify-content:space-between;
	width:min(110rem,95%);
	margin:auto;
}
body.archive .site-body-container.container .main-section{
	width:min(82.5rem,100%);
}
body.archive .site-body-container.container .sub-section{
	width:min(20rem,100%);
}
body.archive .vk_posts-mainSection .vk_post:first-child{
	padding-top:0;
	border-top:0;
}
.vk_posts {
    margin-left: 0;
    margin-right: 0;
}
.vk_post.media {
    margin: 0;
}
.site-footer-title:after, .sub-section-title:after, h3:after {
    border-bottom: 1px solid var(--color-primary);
}
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
	transition:all ease .25s;
}
.btn-primary:hover{
	opacity:.5;
}
/*投稿アーカイブページの不要物削除*/
body.archive aside.widget.widget_media {
    display: none;
}
/*投稿詳細ページ*/
body.single-post .page-header{
	display:none;
}
body.single-post .site-body{
	padding:10rem 0;
	width:min(80rem,95%);
	margin:auto;
}
body.single-post h1.entry-title{
	font-size:2.4rem;
	font-weight:500;
	padding-bottom:1.5rem;
	margin-bottom:5px;
	border-bottom:1px solid #ccc;
}
body.single-post .entry-meta{
	text-align:right;
}
body.single-post .entry-meta span{
	font-size:1.4rem;
}
body.single-post .entry-body{
	line-height:2;
}
body.single-post .entry-footer{
	display:none;
}
body.single-post .entry-meta span.entry-meta-item-updated, body.single-post span.entry-meta-item-author{
	display:none;
}
body.single-post .next-prev{
	display:none;
}
body.single-post .comments-area {
    display: none;
}
.entry-body>.vk_posts>.media.vk_post-col-sm-12:first-child, 
.main-section>.vk_posts>.media.vk_post-col-sm-12:first-child {
    border-top: none;
}
.btn-primary:active, .btn-primary:focus, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active {
    background-color:var(--color-primary);
    border-color: var(--color-primary);
}

/*リスト*/
ol, ul {
    padding-left:0;
	margin:0;
}
ul li {
    margin-top: 0;
    margin-bottom: 0;
	list-style:none;
}
/*パンくずリスト*/
.breadcrumb{
	border:none;
	background:#f9f9f9;
}
ol.breadcrumb-list{
	width:min(110rem,95%);
	margin:0 auto;
	padding:3px 0;
}
ol.breadcrumb-list li a{
	font-size:1.4rem;
}
@media screen and (max-width:767px){
body.archive.category .site-body-container.container {
    flex-direction: column;
}
body.archive.category .vk_post.media {
    flex-direction: column;
    align-items: center;
}
body.archive.category .vk_posts .vk_post-col-xs-12 {
    width:100%;
}
body.archive.category .vk_post .media-img {
    width: 100%;
    margin: 0;
}
body.archive.category .vk_post-btn-display.media .vk_post_body {
    padding-bottom: 30px;
	width:100%;
	margin-top:1rem;
}
body.archive.category .site-body-container.container .sub-section {
    width: 100%;
}
body.archive.category .site-body-container.container .sub-section h4,
body.archive.category .site-body-container.container .sub-section ul li a{
	font-size:1.4rem;
}
}
/*------------------------------------------
lightning 打消し(レスポンシブ)
--------------------------------------------*/
@media screen and (max-width:991px){
header.site-header {
    height: 60px;
}
header .site-header-container {
    padding: 0;
    margin: 0;
    height: 100%;
}
header .site-header-container .site-header-logo {
    padding: 0;
    margin: 0;
    text-align: left;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.site-header-container .site-header-logo a {
    padding-left: 2rem;
}
header .site-header-container .site-header-logo img {
    max-height: 3.5rem;
    margin: 0 auto 0 0;
}
.vk-mobile-nav-menu-btn {
    top: 10px;
    border: none;
    width: 40px;
    height: 40px;
}
.vk-mobile-nav-menu-btn.menu-open {
    border-color:transparent;
	border:none;
}
.alert-info {
    display: none;
}
.vk-mobile-nav {
    padding: 60px 1rem 0;
    background-color: rgb(255 255 255 / 95%);
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
    padding: 6rem 1rem 0;
    margin:0;
}
.vk-mobile-nav.vk-mobile-nav-right-in {
    transition: all .5s ease;
}
}
/*------------------------------------------
  CONTACT お問い合わせページ
--------------------------------------------*/
.wpcf7-form {
    padding: 0;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
    font-size: 1.2rem;
}
input[type=submit]{
	font-size:1.4rem;
}
.post-name-contact .entry-body {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;
    width: min(110rem,90%);
    margin: auto;
}
p.contact_txt{
	text-align:center;
	font-weight:bold;
	margin-bottom:5rem;
	& a{
		font-weight:bold;
		color:var(--color-primary);
		text-decoration:underline;
	}
}
.post-name-contact .entry-body table,
.post-name-contact .entry-body table th,
.post-name-contact .entry-body table td {
    border: none;
}
.post-name-contact .entry-body table{
	margin-bottom:0;
}
.post-name-contact .entry-body table tr{
	border-bottom:1px solid #ccc;
}
.post-name-contact .entry-body table tr:first-child{
	border-top:1px solid #ccc;
}
.post-name-contact .entry-body table th,
.post-name-contact .entry-body table td{
	padding:2rem 2.5rem;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.post-name-contact .entry-body table th{
	width:30%;
	vertical-align:middle;
	background:#f7f7f7;
	text-align:left;
}
body.post-name-contact .entry-body table td img{
	display:inline-block;
}
.wpcf7-form .must {
    color: #fff;
    font-weight: normal;
	background:rgb(255 82 83);
    margin-left: 0;
    font-size: 1.2rem;
    padding: 0px 10px;
    display: inline-block;
    line-height: 2;
	float:right;
}
.wpcf7-form .nini{
	background:#999;
}
/*チェックボックスズレ解消*/



/*同意ボタン調整*/
.agree_btn {
    margin: 3rem 0;
}
.agree_btn div,.agree_btn p{
	text-align:center;
}
.agree_btn div .wpcf7-list-item {
    margin: 0;
}
.agree_btn p,.agree_btn p a{
	font-size:90%;
}

/*送信ボタン調整*/
.SendBtn {
	text-align: center;
}
.SendBtn input[type="submit"], .SendBtn input[type="reset"], .SendBtn input[type="button"] {
    padding: 15px 100px;
    border-radius: 50vw;
	background-color:var(--color-primary);
    border: 1px solid var(--color-primary);
    transition: all ease .3s;
}
.SendBtn input[type="submit"]:hover, .SendBtn input[type="reset"]:hover, .SendBtn input[type="button"]:hover{
	color:var(--color-primary);
	background:transparent;
	transition:all ease .3s;
}
.wpcf7-spinner{
	display:none;
}
/*お問い合わせページのみフッター削除*/
body.post-name-contact .footer_cta{
	display:none;
}

@media screen and (max-width:800px){
.wpcf7-form .must {
    margin-left: 2rem;
	font-size:1rem;
}
.post-name-contact .entry-body table tr {
    display: flex;
    flex-direction: column;
}

	.post-name-contact .entry-body table th,
	.post-name-contact .entry-body table td{
		padding:1.5rem 2rem;
		text-align:left;
		font-size:1.4rem;
		width:100%;
	}
}



/*------------------------------------------
  ORIGINAL
--------------------------------------------*/
.site-header{
	background:transparent;
	box-shadow:none;
}
@media screen and (min-width:992px){
.home .site-body.site-body--padding-vertical--off{
	margin-top:-13rem !important;
}
}
/*グローバルメニュー*/
header.site-header nav#global-nav,
header.site-header nav#global-nav ul{
	height:100%;
}
header.site-header nav#global-nav{
	padding:2rem;
}

header.site-header nav#global-nav ul{
	border-radius:15px;
	background:#fff;
}
header.site-header nav#global-nav ul li{
	padding:1rem 2.5rem;
	display:flex;
	align-items:center;
}
header.site-header nav#global-nav ul li a{
	padding:0;
}
header.site-header nav#global-nav ul li:first-child {
	padding-left:5rem;
}
header.site-header nav#global-nav ul li:last-child{
	padding-right:5rem;
}
header.site-header nav#global-nav ul li:last-child a {
	display:flex;
	align-items:center;
    background: linear-gradient(89deg, #0095ff, #00c3f5);
    color: #fff;
    border-radius: 50vw;
    height: 50px;
    padding: 0 3rem;
}
header.site-header nav#global-nav ul li a strong{
	position:relative;
	transition:all ease .15s;
}
header.site-header nav#global-nav ul li a:hover strong{
	opacity:.5;
}
/*フッター*/
footer.site-footer {
    border: none;
    padding: 5rem 0;
    background:var(--color-primary);
}
.container.site-footer-content .row{
	justify-content:space-between;
	align-items:center;
}
.container.site-footer-content .row .col-lg-4:first-child{
	width:20rem;
}
.container.site-footer-content .row .col-lg-4{
	max-width:unset;
	width:auto;
	flex:unset;
	padding:0;
}
.container.site-footer-content .row .col-lg-4 figure img {
    width: 100%;
    margin: 0 auto 0 0;
}
.container.site-footer-content .row .col-lg-4:nth-child(2){
	display:none;
}
.container.site-footer-content .row .col-lg-4 ul.menu{
	display:flex;
}
.container.site-footer-content .row .col-lg-4 ul.menu li:not(:first-child){
	margin-left:1.5em;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a{
	color:#fff;
	border:none;
	padding:0;
	font-size:1.4rem;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a:hover{
	text-decoration:underline;
	color:#999;
	background-color:transparent;
}
footer.site-footer .container.site-footer-copyright{
	padding-top:5rem;
	border-top:1px solid #fff;
	width:min(110rem,95%);
	margin:5rem auto 0;
}
footer.site-footer .container.site-footer-copyright p{
	text-align:right;
	color:#fff;
}
@media screen and (max-width:767px){
.container.site-footer-content .row {
    flex-direction: column;
}
.container.site-footer-content .row .col-lg-4:first-child {
    width: 15rem;
    margin-bottom: 2rem;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a {
    font-size: 1.2rem;
}
footer.site-footer .container.site-footer-copyright p {
    text-align: center;
    font-size: 1.2rem;
}
footer.site-footer .container.site-footer-copyright {
    margin: 5rem auto 0;
}
}

/*------------------------------------------
  よく使うCSS
--------------------------------------------*/
.flex{
	display:flex;
	flex-wrap:wrap;
}
.row_reverse{
	flex-direction:row-reverse;
}
.center{
	text-align:center;
}
@media screen and (max-width:767px){
.flex{
	flex-direction:column;
}
}
/*-------------------------------------------
    　　プライバシーポリシー
-------------------------------------------*/
div#privacy {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
	width:min(110rem,95%);
	margin:auto;
}
div#privacy h3 {
    font-size:calc(2.4rem + (1vw - 1.92rem) * 0.2589);
	font-weight:bold;
    margin:calc(5rem + (1vw - 1.92rem) * 1.2945) 0 1rem;/*5-3(375)*/
	line-height:1.5;
}
div#privacy h4{
	margin:3rem 0 1rem;
	font-size:calc(2rem + (1vw - 1.92rem) * 0.1294);/*2-1.8*/
	font-weight:500;
}
div#privacy p{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:1.6;
}
div#privacy ul li{
	line-height:1.6;
	position:relative;
	padding-left:1em;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
div#privacy ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
/*-------------------------------------------
    　サイトマップ
-------------------------------------------*/
body.post-name-sitemap .entry-body{
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
	width:min(110rem,95%);
	margin:auto;
}
.entry-body ul#sitemap_list li{
	padding-left:0;
	font-size:1.8rem;
	padding-bottom:1rem;
	border-bottom:1px dashed #a1a1a1;
	margin-top:1rem;
	margin-bottom:0;
	position:relative;
}
.entry-body ul#sitemap_list li a{
	position:relative;
	padding-left:1.2em;
}
.entry-body ul#sitemap_list li a:before {
    position: absolute;
    content: "";
    border: 5px solid transparent;
    border-left: 10px solid var(--color-primary);
    top: 50%;
    left: 0;
    transform: translatey(-50%);
}
.entry-body ul#sitemap_list li.cat-item{
	padding-bottom:0;
}
.entry-body ul#sitemap_list li.cat-item ul li{
	border-bottom:none !important;
	padding-left:1em;
	font-size:16px;
}
@media screen and (max-width:1023px){
.entry-body ul#sitemap_list li{
	font-size:16px;
}
.entry-body ul#sitemap_list li a:before {
    border: 5px solid transparent;
    border-left: 10px solid var(--color-primary);
}
.entry-body ul#sitemap_list li.cat-item ul li{
	font-size:14px;
}
}
/*------------------------------------------
  TOP 新着情報一覧
--------------------------------------------*/
section.front_news{
	position:relative;
	z-index:0;
    background: linear-gradient(133deg, #00c3f5, #009ed9, #00dbff, #45abff, #00c3f5);
    background-size: 1000% 1000%;
    animation: AnimationName 35s ease infinite;
}

@keyframes AnimationName {
    0%{background-position:0% 51%}
    50%{background-position:100% 50%}
    100%{background-position:0% 51%}
}
section.front_news .front_news_inner {
    width: min(100rem,90%);
    margin: auto;
    padding:10rem 0 15rem;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
section.front_news .front_news_inner .left_item {
    width: 20%;
    max-width: 165px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
section.front_news .front_news_inner h2{
	font-size:6rem;
	font-weight:bold;
	text-align:center;
	line-height:1.2;
	color:#fff;
}
section.front_news .front_news_inner h2 span {
    display: block;
    font-size: 2rem;
    font-weight: normal;
}
.front_news_list{
	width:75%;
	max-width:800px;
}
.front_news_list ul{
	padding:0;
	margin:0;
}
.front_news_list ul li{
	position:relative;
	list-style:none;
	margin:0;
	padding:2.5rem 0;
	padding-right:5rem;
	border-bottom:1px solid #fff;
}
.front_news_list ul li:before,
.front_news_list ul li:after{
	position:absolute;
	content:"";
	background:#fff;
	height:1px;
	transition:all ease .15s;
}
.front_news_list ul li:before{
	width:40px;
	top:calc(50% - 1px);
	right:10px;
}
.front_news_list ul li:hover:before{
	right:0;
}
.front_news_list ul li:after {
    width: 12px;
    top: calc(50% - 4px);
    right: 10px;
    transform: rotate(30deg);
}
.front_news_list ul li:hover:after {
    right: 0;
}
.front_news_list ul li a{
	text-decoration:none;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);
	transition:all ease .15s;
}
.front_news_list ul li a:hover{
	color:#999;
}
.front_news_list ul li a span{
	display:block;
	color:#fff;
	&.date{
		font-size:14px;
	}
}


.front_news_btn {
    margin-top: 3rem;
	&.sp{
		display:none;
	}
}
.front_news_btn a {
	display:inline-block;
    position: relative;
    padding: 1rem 2rem;
	background:#fff;
	border:1px solid #fff;
	color:var(--color-primary);
	border-radius:50vw;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);
    z-index: 0;
	transition:all ease .3s;
	&:hover{
		background:transparent;
		color:#fff;
	}
}

@media screen and (max-width:767px){
section.front_news .front_news_inner {
    padding: 6rem 0 8rem;
	flex-direction:column;
	align-items:flex-start;
}
section.front_news .front_news_inner .left_item {
    width: 100%;
}
section.front_news .front_news_inner h2 {
    font-size: 6rem;
    text-align: left;
}
	.front_news_list{
		width:100%;
		margin-top:5rem;
	}
	.front_news_list ul li:first-child{
		border-top:1px solid #fff;
	}
.front_news_btn {
	&.sp{
		display:block;
	}
	&.pc{
		display:none;
	}
}	
}
/*------------------------------------------
  TOPページ
--------------------------------------------*/
/*-------- ローダー -----------*/
.loading {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
.loading div {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 350px;
	@media screen and (max-width:767px) {
		width: 280px;
	}
}
/*-------- KV -----------*/
.kv_visual{
	position:relative;
	z-index:0;
}
.kv_visual:before{
	position:absolute;
	content:"";
	background:rgba(0 0 0/60%);
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1;
}
h2.catch_copy{
	position:absolute;
	top:50%;
	left:10vw;
	translate:0 -50%;
	font-size:7.2rem;
	font-weight:bold;
	color:#fff;
	display:flex;
	flex-direction:column;
	z-index:1;
	@media screen and (max-width:767px) {
		font-size:3.6rem;
	}
}
h2.catch_copy span{
	display:block;
	overflow:hidden;
	opacity: 0;
}
h2.catch_copy span b{
	display:block;
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
h2.catch_copy.is-active span{
  opacity: 1;
}
 
h2.catch_copy.is-active span b {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}

span.sub_copy{
	font-size:2.8rem;
	@media screen and (max-width:767px) {
		font-size:1.8rem;
	}
}

/*-------- 共通 -----------*/
* p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
table th,
table td,
ul li,
dl dt,
dl dd{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	line-height:1.6;
}
img.cover{
	object-fit:cover;
	width:100%;
	height:100%;
}
img.contain{
	object-fit:contain;
	width:100%;
	height:100%;
}
.top_page{
	overflow:hidden;
}
a.btn,
a.link_btn{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	line-height:1.6;
}
a.link_btn{
    display: inline-block;
    background: linear-gradient(89deg, #0095ff, #00c3f5);
    color: #fff;
    border-radius: 50vw;
    padding: 1.5rem 3rem;
	transition:all ease .15s;
	&:hover{
		opacity:50%;
	}
}
a#scrollUp{
	background:var(--color-secondary);
}

/*-------- TOP -----------*/
.top_page h2{
	font-size:7.2rem;
	font-weight:bold;
	line-height:1.2;
	color:var(--color-primary);
	& span{
		font-weight:normal;
		font-size:2.4rem;
		display:block;
		color:#111;
	}
}
@media screen and (max-width:767px){
.top_page h2{
	font-size:6rem;
	& span{
		font-size:2rem;
	}
}
}
section.top_about{
	& .flex{
		padding:15rem 0;
		justify-content:space-between;
		width:min(1720px,95%);
		margin-left:auto;
		& .txt_box{
			width:45%;
			& p.ttl{
				font-size:3.2rem;
				font-weight:bold;
				margin:5rem 0 2.2rem;
			}
		}
		& figure{
			width:50%;
			height:70rem;
			& img{
				width:100%;
				height:100%;
				object-fit:cover;
				object-position:top 50% right 25%;
				border-radius:25px 0 0 25px;
			}
		}
	}
}

@media screen and (max-width:767px){
section.top_about{
	background:linear-gradient(to bottom, #fff 75% , #d6edfb);
	& .flex{
		padding:10rem 0;
		margin-left:auto;
		& .txt_box{
			width:100%;
			padding-right:5%;
			margin-bottom:3rem;
			& p.ttl{
				font-size:2.2rem;
			}
		}
		& figure{
			width:100%;
			height:25rem;
		}
	}
}
}

section.top_service{
	padding:10rem 0;
	background-image:url(/struct/wp-content/uploads/pixta_97611179_L.jpg) ;
	background-repeat:no-repeat;
	background-color: #ffffffd6;
    background-blend-mode: color;
	background-attachment:fixed;
	background-size:cover;
	background-position:center;
	& h2{
		text-align:center;
	}
	& .flex{
		width:min(1350px,95%);
		margin:6rem auto 0;
		justify-content:space-between;
		& .item{
			display:flex;
			flex-direction:column;
			position:relative;
			overflow:hidden;
			border-radius:25px;
			width:48%;
			padding:4.5vw;
			z-index:0;
			&:before{
				position:absolute;
				content:"";
				background-image:url(/struct/wp-content/uploads/pixta_84748786_L.jpg);
				background-size:cover;
				background-repeat:no-repeat;
				top:0;
				left:0;
				width:100%;
				height:100%;
				transform:scale(1.001);
				transition:all ease .3s;
				z-index:-1;
			}
			&:after{
				position:absolute;
				content:"";
				background:rgba(0 0 0/ 50%);
				top:0;
				left:0;
				width:100%;
				height:100%;
				transition:all ease .3s;
				z-index:-1;
			}
			& p{
				color:#fff;
			}
			& p.ttl{
				font-size:3.2rem;
				font-weight:bold;
				margin:0 0 2.5rem;
			}
			& p.txt{
				margin-bottom:3rem;
			}
			& .btn_sec{
				margin-top:auto;
			}
			&:last-child{
				&:before{
					background-image:url(/struct/wp-content/uploads/pixta_87675057_L.jpg);
				}
			}
			&:hover{
				&:before{
					transform:scale(1.1);
				}
				&:after{
					background:rgba(0 0 0/ 70%);
				}
			}
		}
	}
}
@media screen and (max-width:767px){
section.top_service{
	padding:0 0 8rem;
	background-attachment:unset;
	& .flex{
		row-gap:1.5rem;
		& .item{
			flex-direction:column;
			width:100%;
			padding:5rem 5%;
			& p.ttl{
				font-size:2.8rem;
				margin:0 0 2.5rem;
			}
			& p.txt{
				margin-bottom:3rem;
			}
		}
	}
}
}

section.top_company{
	padding:12rem 0;
	background-image: linear-gradient(88deg, rgba(202, 202, 202,0.02) 0%, rgba(202, 202, 202,0.02) 58%,transparent 58%, transparent 67%,rgba(220, 220, 220,0.02) 67%, rgba(220, 220, 220,0.02) 82%,rgba(8,8,8, 0.01) 82%, rgba(8,8,8, 0.01) 100%),linear-gradient(318deg, rgba(19,19,19, 0.02) 0%, rgba(19,19,19, 0.02) 5%,transparent 5%, transparent 50%,rgba(101, 101, 101,0.02) 50%, rgba(101, 101, 101,0.02) 65%,rgba(132, 132, 132,0.02) 65%, rgba(132, 132, 132,0.02) 100%),linear-gradient(150deg, rgba(166, 166, 166,0.02) 0%, rgba(166, 166, 166,0.02) 18%,transparent 18%, transparent 37%,rgba(105, 105, 105,0.02) 37%, rgba(105, 105, 105,0.02) 87%,rgba(244, 244, 244,0.02) 87%, rgba(244, 244, 244,0.02) 100%),linear-gradient(53deg, rgba(127,127,127, 0.02) 0%, rgba(127,127,127, 0.02) 26%,transparent 26%, transparent 81%,rgba(251, 251, 251,0.02) 81%, rgba(251, 251, 251,0.02) 85%,rgba(19,19,19, 0.02) 85%, rgba(19,19,19, 0.02) 100%),linear-gradient(90deg, rgb(255,255,255),rgb(255,255,255));
	background-attachment:fixed;
	& .flex{
		width:min(1350px,95%);
		margin:0 auto;
		align-items:center;
		& .txt_box{
			width:50%;
			& p.txt{
				margin:3rem 0 4rem;
			}
		}
		& figure{
			width:45%;
			& img{
				width:100%;
				height:100%;
				object-fit:cover;
				object-position:top 50% right 25%;
				border-radius:25px;
			}
		}
	}
}
@media screen and (max-width:767px){
section.top_company{
	padding:10rem 0;
	background-attachment:unset;
	& .flex{
		row-gap:5rem;
		& .txt_box{
			width:100%;
			& p.txt{
				margin:3rem 0 4rem;
			}
		}
		& figure{
			width:100%;
		}
	}
}
}

section.top_recruit{
	padding:12rem 0;
	background-image:url(/struct/wp-content/uploads/pixta_44094394_L.jpg) ;
	background-repeat:no-repeat;
	background-color: #6a7074;
    background-blend-mode: multiply;
	background-attachment:fixed;
	background-size:cover;
	background-position:center;
	& .inner{
		width:min(1350px,95%);
		margin:0 auto;
		& h2{
			text-align:center;
			& span{
				color:#fff;
			}
		}
		& p.txt{
			text-align:center;
			margin:5rem 0 6rem;
			color:#fff;
		}
		& .btn_sec{
			text-align:center;
		}
	}
}
@media screen and (max-width:767px){
section.top_recruit{
	padding:10rem 0;
	background-attachment:unset;
	& .inner{
		& p.txt{
			text-align:center;
			margin:5rem 0 6rem;
			color:#fff;
		}
	}
}
}
/*------------------------------------------
  下層設定
--------------------------------------------*/
.page_inner {
    padding:calc(10rem + (1vw - 1.92rem) * 2.5890) 0 calc(15rem + (1vw - 1.92rem) * 4.5307);/*10-6(375) 15-8(375)*/
}
.page-header{
	position:relative;
	z-index:0;
}
.page-header:before{
	position:absolute;
	content:"";
	z-index:-1;
	background:rgba(0 0 0 /50%);
	width:100%;
	height:100%;
	top:0;
	left:0;
}
body .page-header{
	background-repeat:no-repeat;
	background-size:cover;
}
body.post-name-company .page-header{
	background-image:url(/struct/wp-content/uploads/pixta_66330729_L.jpg) ;
	background-position:top 50% left 50%;
}
body.post-name-service .page-header{
	background-image:url(/struct/wp-content/uploads/pixta_86233078_L.jpg) ;
	background-position:top 50% left 50%;
}
body.post-name-recruit .page-header{
	background-image:url(/struct/wp-content/uploads/pixta_44094394_L.jpg) ;
	background-position:top 50% left 50%;
}
body.post-name-contact .page-header{
	background-image:url(/struct/wp-content/uploads/pixta_93873527_L.jpg) ;
	background-position:top 50% left 50%;
}
body.archive .page-header{
	background-image:url(/struct/wp-content/uploads/eye004.jpg) ;
	background-position:top 50% left 50%;
}
body.post-type-archive-works .page-header{
	background-image:url(/struct/wp-content/uploads/pixta_87675057_L.jpg) ;
	background-position:top 50% left 50%;
}
h1.page-header-title{
    font-size: calc(4.8rem + (1vw - 1.92rem) * 1.1650);/*4.8-3(375)*/
    font-weight: bold;
    line-height: 1.4;
    margin: 0;
    color: #fff;
}
@media screen and (max-width:767px){
.page-header {
    min-height: 25rem;
}
}

/*------------------------------------------
  会社概要
--------------------------------------------*/
div#post-14 .page_inner section{
	width:min(110rem,95%);
	margin:auto;
}
div#post-14 .page_inner section:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.92rem) * 5.1780);
}
div#post-14 section h2 {
	font-size:calc(5rem + (1vw - 1.92rem) * 1.2945);/*5-3(375)*/
    font-weight: bold;
	line-height:1.4;
	color:var(--color-primary);
    position: relative;
	text-align:center;
    padding-bottom: 3rem;
    margin-bottom: calc(5rem + (1vw - 1.92rem) * 1.2945);/*5-3(375)*/
}
div#post-14 section h2 span{
    display: block;
    color: #777;
    font-size: 50%;
    font-weight: 400;
}
div#post-14 section h2:before{
	position:absolute;
	content:"";
	background:var(--color-primary);
	width:4rem;
	height:5px;
	top:auto;
	bottom:0%;
	left:50%;
	transform:translatex(-50%);
}
div#post-14 table, 
div#post-14 table th, 
div#post-14 table td {
    border: none;
}
div#post-14 section table tr:first-child{
	border-top:1px solid #ccc;
}
div#post-14 section table tr{
	border-bottom:1px solid #ccc;
}
div#post-14 section table th,
div#post-14 section table td{
	padding:2.5rem calc(2rem + (1vw - 1.92rem) * 0.6472);/*2-1(375)*/
	vertical-align:middle;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
div#post-14 section table th{
	width:30%;
	background:#f7f7f7;
}
div#post-14 section table td{
	background:rgb(255 255 255 / 65%);
}
div#post-14 section table td p.mt{
	margin-top:1em;
}
div#post-14 section table td ul li{
	padding-left:1em;
	position:relative;
}
div#post-14 section table td ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
div#post-14 section iframe {
    width: 100%;
    height: 100% !important;
    aspect-ratio: 16/9;
	margin:0;
}
section.access_sec .box{
	padding:2rem;
	background:#f9f9f9;
}
section.access_sec .box.mt{
	margin-top:5rem;
}
section.access_sec .box p.ttl{
	font-size:2.4rem;
	font-weight:bold;
	margin-bottom:2rem;
	padding:1rem 0 1rem 2rem;
	border-left:5px solid var(--color-primary);
}

@media screen and (max-width:767px){
div#post-14 section h2:before {
    height: .3rem;
    bottom: 5%;
}
section.access_sec .box.mt{
	margin-top:2.5rem;
}
section.access_sec .box p.ttl{
	font-size:2rem;
}
div#post-14 section iframe {
    aspect-ratio: 1/1;
	margin:0;
}
table.responsive{
	& th {
		text-align:left;
		width:100% !important;
		display:block;
	}
	& td{
		width:100% !important;
		display:block;
	}
}
}
/*-------------------------------------------
    　事業内容
-------------------------------------------*/
section.service_lead{
	margin-bottom:13rem;
	& .inner{
		width:min(1100px,90%);
		margin:0 auto;
		& p.txt{
			text-align:center;
		}
	}
}
div#post-16 ul li {
    justify-content: space-between;
	align-items:center;
    width: min(180rem,95%);
}
div#post-16 ul li:nth-child(even){
	flex-direction:row-reverse;
	margin:0 0 0 auto;
}
div#post-16 ul li:not(:first-child){
	margin-top:10rem;
}
div#post-16 ul li figure{
	width:52%;
	height:45rem;
}
div#post-16 ul li figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
div#post-16 ul li .txt_box{
	width:42%;
}
div#post-16 ul li .txt_box h2{
	display:flex;
	flex-wrap:wrap;
	margin-bottom:3rem;
}
div#post-16 ul li .txt_box h2 span.num {
    background: #fff;
    position: relative;
    z-index: 0;
    font-size: 2rem;
	color:var(--color-primary);
}
div#post-16 ul li .txt_box h2 span.num:first-child{
	padding-right:1rem;
	margin-right:5rem;
}
div#post-16 ul li .txt_box h2 span.num:first-child:before{
	position:absolute;
	content:"";
	top:50%;
	left:100%;
	width:4rem;
	height:1px;
	background:var(--color-primary);
	z-index:-1;
}
div#post-16 ul li .txt_box h2 span.num:last-child{
	padding-left:1rem;
}
div#post-16 ul li .txt_box h2 span.w_100 {
    width: 100%;
	font-weight:bold;
    font-size: 3.2rem;
}

@media print, screen and (max-width:767px){
section.service_lead{
	margin-bottom:7rem;
	& .inner{
		padding:2rem;
		border-radius:25px;
		background:#f9f9f9;
		& p.txt{
			text-align:left;
		}
	}
}
div#post-16 ul li:not(:first-child) {
    margin-top: 6rem;
}
div#post-16 ul li figure{
	width:100%;
	margin-bottom:2rem;
	height:20rem;
}
div#post-16 ul li .txt_box {
    width: 95%;
	margin-left:5%;
}
div#post-16 ul li:nth-child(even) .txt_box {
	margin-right:5%;
	margin-left:auto;
}
div#post-16 ul li .txt_box h2 {
    margin-bottom: 2rem;
}
div#post-16 ul li .txt_box h2 span.num {
    font-size: 1.6rem;
}
div#post-16 ul li .txt_box h2 span.w_100 {
    font-size: 2.4rem;
}
}

/*------------------------------------------
  採用情報
--------------------------------------------*/
div#post-230 .page_inner section{
	width:min(110rem,95%);
	margin:auto;
}
div#post-230 .page_inner section:not(:first-child) {
    margin-top: calc(15rem + (1vw - 1.92rem) * 5.1780);
}
div#post-230 section h2 {
	font-size:calc(5rem + (1vw - 1.92rem) * 1.2945);/*5-3(375)*/
    font-weight: bold;
	line-height:1.4;
	color:var(--color-primary);
    position: relative;
	text-align:center;
    padding-bottom: 3rem;
    margin-bottom: calc(5rem + (1vw - 1.92rem) * 1.2945);/*5-3(375)*/
}
div#post-230 section h2 span{
    display: block;
    color: #777;
    font-size: 50%;
    font-weight: 400;
}
div#post-230 section h2:before{
	position:absolute;
	content:"";
	background:var(--color-primary);
	width:4rem;
	height:5px;
	top:auto;
	bottom:0%;
	left:50%;
	transform:translatex(-50%);
}
div#post-230 table, 
div#post-230 table th, 
div#post-230 table td {
    border: none;
}
div#post-230 section table tr:first-child{
	border-top:1px solid #ccc;
}
div#post-230 section table tr{
	border-bottom:1px solid #ccc;
}
div#post-230 section table th,
div#post-230 section table td{
	padding:2.5rem calc(2rem + (1vw - 1.92rem) * 0.6472);/*2-1(375)*/
	vertical-align:middle;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
div#post-230 section table th{
	width:30%;
	background:#f7f7f7;
}
div#post-230 section table td{
	background:rgb(255 255 255 / 65%);
}
div#post-230 section table td ul li{
	padding-left:1em;
	position:relative;
}
div#post-230 section table td ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
div#post-230 section a.link_btn{
	display:inline-block;
	background:linear-gradient(89deg, #0095ff, #00c3f5);
	color:#fff;
	padding:2.5rem 5rem;
	margin-top:5rem;
	transition:all ease .25s;
	&:hover{
		opacity:.5;
	}
}

@media screen and (max-width:767px){
div#post-230 section h2:before {
    height: .3rem;
    bottom: 5%;
}
div#post-230 section iframe{
	height:30rem;
}
}

/*------------------------------------------
  ACF(施工事例)
--------------------------------------------*/
/*-----------物件一覧-----------------*/
h2.works_ttl {
    font-size: 3rem;
    padding: 1rem 1.2rem;
    border-left: 5px solid var(--color-primary);
    margin: 0 0 2rem;
    color: #222;
	@media screen and (max-width:767px){
		font-size:2rem;
	}
}
.list_grid_box {
    justify-content: space-between;
    grid-template-columns:repeat(3,1fr);
	gap:3%;
    row-gap: 4rem;
	display:grid;
	margin:0 auto;
}
.list_grid_box a.item {
    padding: 1.5rem;
    background: #f9f9f9;
}
.list_grid_box a.item figure{
	overflow:hidden;
	width:100%;
	height:20rem;
}
.list_grid_box a.item figure img{
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.001);
	transition:all ease .5s;
}
.list_grid_box a.item:hover figure img{
	transform:scale(1.1);
}
.list_grid_box a.item .category_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 15px 0;
}
.list_grid_box a.item .category_flex p{
	font-size:14px;
}
.list_grid_box a.item .category_flex p.category{
	padding:5px 1rem;
	border-radius:50vw;
	line-height:1;
	background:linear-gradient(89deg, #0095ff, #00c3f5);
	color:#fff;
}
.list_grid_box a.item p.ttl{
	font-weight:500;
	margin-bottom:15px;
	line-height:1.5;
	font-size:1.8rem;
}
.list_grid_box a.item table,.list_grid_box a.item table th,.list_grid_box a.item  table td{
	border:none;
	font-size:14px;
	font-weight:500;
	margin:0;
}
.list_grid_box a.item table tr{
	border-bottom:1px solid #999;
}
.list_grid_box a.item table tr:first-child{
	border-top:1px solid #999;
}
.list_grid_box a.item table th{
	width:30%;
}


@media screen and (max-width:1100px){
.list_grid_box {
    grid-template-columns: 48% 48%;
    row-gap: 3rem;
}
}
@media screen and (max-width:767px){
.list_grid_box {
	justify-content:center;
    grid-template-columns: 95%;
    row-gap: 2rem;
}
}

/*--------物件詳細--------------------*/
.detail_inner{
	width:min(1100px,95%);
	margin:0 auto;
}
.detail_inner .category_flex{
	justify-content:space-between;
	display:flex;
	align-items:center;
}
.detail_inner .category_flex p{
	font-size:16px;
	line-height:1;
}
.detail_inner .category_flex p.category{
	padding:5px 1rem;
	border-radius:50vw;
	background:linear-gradient(89deg, #0095ff, #00c3f5);
	color:#fff;
}
.post h2.propertys_ttl,
.detail_inner h2.ttl {
    font-size: 3rem;
	line-height:1.5;
    font-weight: 500;
    margin: 3rem 0;
}
figure.main_img {
    width: 100%;
    height: 40rem;
	background:#f9f9f9;
}
figure.main_img img{
	width:100%;
	height:100%;
	object-fit:contain;
}
.small_img_box{
	display:grid;
	grid-template-columns:12% 12% 12% 12% 12% 12% 12% 12%;
	justify-content:space-between;
	margin-top:6px;
	row-gap:6px;
}
.small_img_box figure{
	width:100%;
	height:90px;
	background:#f9f9f9;
}
.small_img_box figure img{
	width:100%;
	height:100%;
	object-fit:contain;
}
/**/
h2.detail_h2 {
    font-size: 3rem;
    padding: 1rem 1.2rem;
    border-left: 5px solid var(--color-primary);
    margin:5rem 0 2rem;
    color: #222;
}
table.detail_table,
table.detail_table th,
table.detail_table td{
	border:none;
	font-weight:500;
	margin:0;
}
table.detail_table th,
table.detail_table td{
	padding:2rem 1.5rem;
}
table.detail_table tr{
	border-bottom:1px solid #999;
}
table.detail_table tr:first-child{
	border-top:1px solid #999;
}
table.detail_table th{
	width:30%;
}
.detail_map {
	margin: 3rem 0 0;
}
.detail_map iframe {
	width: 100%;
	height: 450px;
}
.container_box {
    padding: 3rem;
    margin: 3rem 0 0;
    border: 1px solid #f3f3f3;
    background: #f9f9f9;
    line-height: 1.8;
    font-size: calc(1.6rem + (1vw - 1.92rem) * 0.1294);
}
.container_box th,
.container_box td,
.container_box p{
    line-height: 1.8;
    font-size: calc(1.6rem + (1vw - 1.92rem) * 0.1294);
}
.btn_sec.center.mt {
    margin: 30px 0 0;
}
a.back_btn {
    display: inline-block;
    background: linear-gradient(89deg, #0095ff, #00c3f5);
    color: #fff;
    border-radius: 50vw;
    padding: 1.5rem 3rem;
    transition: all ease .15s;
}
a.back_btn:hover {
    opacity:.5;
}
a.back_btn i {
    font-size: 75%;
    margin-left: 5px;
    vertical-align: middle;
}

@media screen and (max-width:767px){
.detail_inner .category_flex p {
    font-size: 14px;
}
.detail_inner h2.ttl {
    font-size: 2rem;
    margin: 3rem 0;
}
figure.main_img {
    height: 20rem;
}
.small_img_box {
    grid-template-columns: 16% 16% 16% 16% 16% 16%;
}
.small_img_box figure {
    height: 40px;
}
h2.detail_h2 {
    font-size: 2rem;
}
table.detail_table th, table.detail_table td {
	display:block;
	width:100%;
	text-align:left;
    padding: 2rem 1rem;
    font-size: 13px;
}
	table.detail_table th{
		border-bottom:1px dashed #ccc;
	}
.container_box {
    padding: 1.5rem;
}
}