/*
Theme Name: life_tpl_2025
Theme URI: 
Template: lightning
Description:Lifecommunication Theme
Author:Lifecommunication Co., Ltd
Tags: 
Version: 0.5.1
*/
body{
    position : relative;
    width : 100%;
    overflow-x : hidden;
}
body, html {
	background-color: transparent;
}
/*--------------------------コモン---------------------------*/
/* ブラウザの標準に設定されている、htmlタグの設定をクリア */
BODY, H1, H2, H3, H4, H5, H6, P, TH, TD, OL, UL, LI, DL, DT, DD, FORM, PRE {
/* Netscape6 は * が未対応なので、全てのタグを記述して指定 */
margin: 0;
padding: 0;
font-family: 'Noto Sans JP', sans-serif;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{
	margin: 0;
	padding: 0;
	border: 0;
	outline: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color:var(--main-text);
}
:root {
	--main-blue:#32ABF2;
	--main-text: #3B4043;
	--grade:linear-gradient(84deg, #FFCF31 0%, #FF8C5A 100%) 0% 0% no-repeat padding-box;
	--gray:#DBDBDB;
}
:root {
    color-scheme: light;
}

/*見出し*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: 'Noto Sans JP', sans-serif;
font-weight: bold;
}
h2 {
}
.page img{
	display:block;
	width:100%;
	transition: all 0.5s 0s ease;
}
/*本文*/
p,
td,
th,
li,
dt,
dd,
input,
textarea,
.entryBody,
.entryMore {
	font-size: 16px;
	font-weight: normal;
}
p,
td,
th,
li,
dt,
dd{
	font-size: 16px;
}
li{
	list-style:none;
}
a{
	text-decoration:none!important;
	transition: all 0.5s 0s ease;
}
a:hover{
	transition: all 0.5s 0s ease;
}
a[href^="tel:"] {
    pointer-events: none;
}
.sp-br{
	display:none;
}
.br-360,
.br-500,
.br-600{
	display:none;
}
.textLink{
	text-decoration:underline !important;
	text-underline-offset: 3px;
}
.textLink:hover{
	color:var(--main-blue);
}
.text-center{
	text-align: center;
}
.text-right{
	text-align:right;
}
.text-left{
	text-align:left;
}
.fade-in {
	opacity: 0;
   transform: translateY(30px); 
   transition: 0.8s ease;
	-webkit-transition:0.8s ease;
   will-change: opacity, transform;
}
.fade-in.show {
   opacity: 1;
   transform: translateY(0);
}
li.fade-in.show:nth-child( 2 ) {transition-delay:.2s;}
li.fade-in.show:nth-child( 3 ) {transition-delay:.4s;}
li.fade-in.show:nth-child( 4 ) {transition-delay:.6s;}
li.fade-in.show:nth-child( 5 ) {transition-delay:.8s;}
li.fade-in.show:nth-child( 6 ) {transition-delay:1.0s;}
li.fade-in.show:nth-child( 7 ) {transition-delay:1.2s;}
li.fade-in.show:nth-child( 8 ) {transition-delay:1.4s;}
li.fade-in.show:nth-child( 9 ) {transition-delay:1.6s;}
li.fade-in.show:nth-child( 10 ) {transition-delay:1.8s;}

.full-width{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}
.basic-width{
	max-width:1100px;
	margin: auto;
}
.basic-padding{
	padding:100px 0;
}
.basic-padding-half{
	padding:50px 0;
}
.mt30{
	margin-top:20px !important;
}
@media screen and (max-width: 1200px){
	.basic-width{
		width:84%;
	}
}
@media screen and (max-width: 767px){
	.fade-in {
		opacity: 1;
		transform: translateY(0px);
	}

	a[href^="tel:"] {
		pointer-events: auto;
	}
}

@media screen and (max-width: 767px){
	.br-360{
		display:block;
	}
}
/*見出し*/
.Head01 {
	width: 100%;
}
.Head01 h2{
    font-size: 1.5rem;
    font-weight: bold;
	position:relative;
	margin-bottom:40px !important;
	color:var(--main-text);
}

.Head01 h2 span{
    font-size: 7rem;
    display:block;
	color:#DBDBDB;
	opacity:0.9;
	margin-bottom: 20px;
	text-align: left;
	line-height: 1;
	letter-spacing: 0.05em;
}
body:not(.home) .Head01 h2 span{
    font-size: 5rem;
	letter-spacing: 0.03em;
	margin-bottom: 15px;
}
.Head01.white h2,
.Head01.white h2 span{
	color:#fff;
}
.Head01.text-center h2 span{
	text-align: center;
}
.Head01.text-right h2 span{
	text-align: right;
}
.Head01.text-left h2 span{
	text-align: left;
}
h3{
	font-size: 1.25rem;
    line-height: 1.4;
	margin-bottom: 15px;
}
h4{
	font-size: 1.15rem;
    line-height: 1.6;
	margin-bottom: 15px;
}
.lead{
	font-size: 2rem;
    line-height: 1.6;
	margin-bottom: 30px;
	font-weight: bold;
    margin-top: 30px;
}
/*
.link-btn a,
.link-btn-style{
	font-size:1.1rem;
	display: inline-block;
	font-weight: 500;
	font-style: normal;
	background-color:#fff;
	box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -moz-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -webkit-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -o-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -ms-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
	border-radius:30px;
    min-height: 60px;
	position: relative;
	display: flex;
    align-items: center;
	padding-left: 30px;
	max-width: 400px;
	padding-right: 80px;
	line-height: 1.4;
}


.link-btn a:after,
.link-btn-style:after{
	content:"";
	display:block;
	width:46px;
	height:46px;
	border-radius:50%;
	background-image:url(images/arrow.svg);
	background-repeat:no-repeat;
	background-size:20px;
	background-position:center;
	position:absolute;
	right:10px;
	top:0;
	bottom:0;
	margin:auto;
	background-color:var(--main-blue);
}


}*/

.linkBtn a,
.linkBtn p{
	position: relative;
	padding-right: 40px;
	font-size:1.1rem;
	display: inline-block;
	font-weight: 500;
	font-style: normal;
	background-color:#fff;
	box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -moz-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -webkit-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -o-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -ms-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
	border-radius:30px;
    min-height: 60px;
	position: relative;
	display: flex;
    align-items: center;
	padding-left: 30px;
	max-width: 400px;
	padding-right: 80px;
	line-height: 1.4;
}
.linkBtn a:hover{
	background-color:var(--main-blue);
	color:#fff;
}
.btn-arrow{
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  width: 40px;
	height: 40px;
  margin: auto 0;
  line-height: 1;
	background-color:var(--main-blue);
	border-radius:50%;
}
.btn-arrow:before,
.btn-arrow:after {
	content:"";
	display:block;
	width:40px;
	height:40px;
	border-radius:50%;
	background-image:url(images/arrow.svg);
	background-repeat:no-repeat;
	background-size:20px;
	background-position:center;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	animation-fill-mode: forwards;
	animation-duration: 0.6s;
}
.btn-arrow:after{
	transform: translateX(-100%);
}
.linkBtn a:hover .btn-arrow:before,
.product-link li:hover .btn-arrow:before,
.nav-previous:hover .btn-arrow:before,
.nav-next:hover .btn-arrow:before,
.cobtn-submit:hover .btn-arrow:before{
	animation-name: link-arrow;
	animation-delay: 0s;
}
.linkBtn a:hover .btn-arrow:after,
.product-link li:hover .btn-arrow:after,
.nav-previous:hover .btn-arrow:after,
.nav-next:hover .btn-arrow:after,
.cobtn-submit:hover .btn-arrow:after{
	animation-name: link-arrow2;
	animation-delay: 0.2s;
}
.link-btn-blue a{
	background-color:var(--main-blue);
	color:#fff;
}
.link-btn-blue a:hover{
	background-color:#fff;
	color:var(--main-blue);
}
.link-btn-blue .btn-arrow:before, 
.link-btn-blue .btn-arrow:after {
    background-image: url(images/arrow-blue.svg);
}
.link-btn-blue .btn-arrow{
	background-color:#fff;
}
@keyframes link-arrow {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes link-arrow2 {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}

.nav-previous a,
.nav-next a{
	font-size:1rem;
	display: inline-block;
	font-weight: 500;
	font-style: normal;
	position: relative;
	display: flex;
    align-items: center;
}
/*.nav-previous a:before,
.nav-next a:after{
	content:"";
	display:inline-block;
	width:46px;
	height:46px;
	border-radius:50%;
	background-image:url(images/arrow.svg);
	background-repeat:no-repeat;
	background-size:20px;
	background-position:center;
	background-color:var(--main-blue);
	margin-left:15px;
}*/
.nav-previous,
.nav-next{
	position: relative;
}
.nav-previous .btn-arrow,
.nav-next .btn-arrow {
    right: 0;
}
.nav-previous .btn-arrow{
	transform: scale(-1, 1);
}
.nav-previous .btn-arrow {
    right: auto;
    top: 0;
    bottom: 0;
    left: 0;
}
.nav-previous a{
	padding-left: 50px;
}
.nav-next a{
	padding-right: 50px;
}
.nav-previous a:hover,
.nav-next a:hover{
	color:var(--main-blue);
}

.button01 a{
    background:linear-gradient(180deg, #1FAF81 0%, #14825F 27%, #064632 100%);
	color:#fff;
	display:block;
	border-radius: 30px;
	line-height: 1.3;
    padding: 5px 20px;
	min-height: 50px;
	display: flex;
    justify-content: center;
    align-items: center;
}
/*.top-contents{
	padding: 60px 0;
}
.top-contents:last-child{
	padding: 60px 0 0;
}*/
@media screen and (max-width: 1100px){
	.lead {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 768px){
	.lead {
		margin-top: 0;
	}
}
@media screen and (max-width: 600px){
	.Head01 h2 span {
		font-size: 6rem;
		letter-spacing: 0.02em;
	}
	body:not(.home) .Head01 h2:not(.footer-cta .Head01 h2) span{
    	font-size: 3rem;
		margin-bottom: 10px;
	}
	h4{
		font-size: 1.1rem;
	}
}
@media screen and (max-width: 500px){
	.Head01 h2 span {
		font-size: 5rem;
		margin-bottom: 10px;
	}
	.home .Head01 h2{
		font-size: 1.8rem;
	}
	.lead {
        font-size: 1.5rem;
	}
}
@media screen and (max-width: 415px){
	.Head01 h2 span {
        font-size: 4rem;
	}
	.Head01 h2 {
        font-size: 1.3rem;
		margin-bottom: 30px !important;
	}
	.home .Head01 h2 {
		font-size: 1.6rem;
	}
	body:not(.home) .Head01 h2:not(.footer-cta .Head01 h2) span {
        font-size: 2.5rem;
	}
	body:not(.home) .footer-cta .Head01 h2 span {
    	font-size: 3.5rem;
		margin-bottom: 10px;
	}
	
}
@media screen and (max-width: 390px){
	.lead {
        font-size: 1.3rem;
        margin-bottom: 20px;
		font-weight: bold;
	}
}
@media screen and (max-width: 375px){
	.Head02 h2,
	.Head03 p{
        font-size: 1.35rem;
	}
}
@media screen and (max-width: 360px){
	.Head01 h2{
        font-size: 1.3rem;
        margin-bottom: 20px;
	}
	.Head01 h2 span {
        font-size: 3.5rem;
	}
}
@media screen and (max-width: 319px) {
	.linkbtn a, 
	.linkbtn p {
		padding-right: 60px;
	}
	.Head01 h2 span {
		font-size: 3.5rem;
	}
    .lead {
		font-size: 1.25rem;
	}
	.home .Head01 h2 {
        font-size: 1.4rem;
	}
}
@media screen and (max-width: 300px){
	.Head01 h2{
        
	}
	.Head01 h2 span {
		font-size: 3.2rem;
	}
}

.wp-block-table td, 
.wp-block-table th {
    border: 0px solid;
    padding: 30px 20px;
	border-bottom: 1px solid #E1E1E1;
}
/*--------------------------ヘッダー---------------------------*/
/*ヘッダー*/
.site-header-logo a {
    color: #fff;
	font-size: 2rem;
	letter-spacing: 0.02em;
}
.site-header-logo a span{
	display:block;
    color: #fff;
	font-size: 1rem;
	margin-top: 8px;
}
.site-header-logo {
	padding-top: 1.6rem;
}
.site-header--layout--nav-float .site-header-logo a:hover{
	opacity:0.7;
}
.site-header-container.container{
	max-width:initial;
	padding: 0 30px;
}
.site-header--layout--nav-float .site-header-logo img {
    margin-top: -4px;
}
.site-header {
	position: absolute;
    top: 10px;
    width: 90%;
    margin: auto;
    right: 0;
    left: 0;
	height: 72px;
    align-items: center;
	box-shadow: none;
}
.site-header--layout--nav-float .site-header-container {
    height: 100%;
}
.site-header--layout--nav-float .site-header-logo {
    display: flex;
    align-items: center;
	line-height: 1;
}
.global-nav--layout--float-right .global-nav-list {
    align-items: center;
}
.global-nav-list li a{
	line-height:48px;
	height: 48px;
}
.device-pc .global-nav-list>li>a,
.device-mobile .global-nav-list>li>a{
	padding:0 20px;
	letter-spacing: 0.05em;
}
.device-pc .global-nav-list>li,
.device-mobile .global-nav-list>li {
    padding: 0;
}
.device-pc .global-nav-list>li>a .global-nav-name{
    color: #fff;	
}
.device-pc .global-nav-list>li>a:hover .global-nav-name{
	color:var(--sub-green);
}
.device-mobile .global-nav-list>li .global-nav-name {
    color: #fff;
}
.device-mobile .global-nav-list .acc-btn {
    width: 100%;
    height: 48px;
    right: 0;
    top: 0px;
    border-width: 0px;
	background: none;
	border:none;
	border-width: 0px !important;
}
.device-mobile .global-nav-list>li.menu-item-has-children>a{
	padding: 0 20px;
}

.global-nav-list li.menu-contact a:hover .global-nav-name,
.device-pc .global-nav-list>li>a:hover .global-nav-name{
    color: #fff;
	opacity:0.7;
}
/*スクロール時*/
.header_scrolled .global-nav-list>li>a .global-nav-name{
    color: var(--main-blue);
}
.header_scrolled .site-header-logo a {
	color: var(--main-blue);
    font-size: 1.6rem;
}
.header_scrolled .site-header-logo a span{
	color: var(--main-blue);
    font-size: 0.9rem;
    margin-top: 5px;
}

.header_scrolled .global-nav-list>li>a:hover .global-nav-name{
	color: var(--main-blue);
    opacity:0.7;
}
.header_scrolled .site-header--layout--nav-float .site-header-logo {
	width: 100%;
	padding-top: 10px;
}

/*サブメニュー*/
.global-nav-list>li>ul.sub-menu {
    background-color: var(--main-blue);
    box-shadow: none;
}
.global-nav-list .sub-menu li a {
    text-align: center;
	line-height: 48px;
    height: 48px;
    padding: 0 10px;
	font-size: 0.85rem;
}
.global-nav-list .sub-menu li a:hover {
    background-color: #099df3;
}
.global-nav-list>li>ul.sub-menu{
}
/*スマホメニューボタン*/
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-drop-in{
	background: #fff;
}
.vk-mobile-nav .widget_nav_menu ul li a, .vk-mobile-nav nav ul li a {
    color: var(--main-blue);
    border-bottom: 1px dotted var(--gray);
}
.vk-mobile-nav nav>ul{
	border-top: 1px dotted var(--main-green);
}
.vk-mobile-nav .acc-btn {
    border: 0px solid #333;
    background: var(--vk-menu-acc-icon-open-white-bg-src) center 50% no-repeat var(--main-blue);
	border-radius: 4px;
}
.vk-mobile-nav .acc-btn {
	border-width: 0px;
}
.vk-mobile-nav .acc-btn{
    top: 12px;
}
.vk-mobile-nav .acc-btn-close {
    background: var(--vk-menu-acc-icon-close-white-bg-src) center 50% no-repeat var(--main-blue);
}
.vk-menu-acc ul.acc-child-open a {
    background: var(--main-blue);
    color: #fff;
}

@media screen and (max-width: 991px){
	.site-header {
		background: transparent;
		box-shadow: none;
	}
	.site-header-logo {
		text-align: left;
		padding-top: 8px;
	}
	.site-header-container.container {
    	padding: 0 0px;
	}
	.vk-mobile-nav-menu-btn {
    	border-color: transparent;
		top: 15px !important;
        right: 15px !important;
		background: url(images/vk-menu-btn-white.svg) center 50% no-repeat  var(--main-blue);
		border-radius: 4px;
		width: 50px;
		height: 50px;
	}
	.vk-mobile-nav-menu-btn.menu-open{
		border:none;
		background: url(images/vk-menu-close-white.svg) center 50% no-repeat  var(--main-blue);
	}
	.vk-menu-acc ul.acc-child-close {
		max-height: initial;
		opacity: 1;
	}
	.vk-mobile-nav .acc-btn{
		display:none;
	}
}
@media screen and (max-width: 767px){
	.site-header-logo {
        padding-top: 6px;
	}
}
@media screen and (max-width: 500px){
	.site-header-logo img {
        max-height: 40px;
	}
}
@media screen and (max-width: 450px){
	.site-header-logo a {
		font-size: 1.7rem;
	}
}
/*--------------------------フッター---------------------------*/
.site-footer-content{
	padding: 70px 0;
	width: 84%;
}
.footer-cta{
	background:url(images/footer-bg.jpg);
	background-size:cover;
	background-attachment:fixed;
	position:relative;
	padding: 150px 0 100px;
}
.footer-cta .Head01{
	position: absolute;
    top: -200px;
    left: 0;
}
.home .footer-cta .Head01{
    top: -230px;
}
.footer-cta h2{
	color:#fff;
	text-align: left;
}
.footer-cta:after{
	content:"";
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:#00A0FE;
	opacity:0.88;
}
.footer-cta-contents{
	position:relative;
	z-index:1;
	width: 88%;
    margin: auto;
    max-width: 1100px;
    text-align: center;
}
.footer-cta-contents p{
	color:#fff;
	font-weight:bold;
}
.footer-cta-contents p.footer-lead{
	font-size:1.3rem;
	margin-bottom:20px;
}
.widget ul.flex-btn{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding-left: 0em;
	max-width:700px;
	margin: 50px auto 0;
}
.flex-btn li{
	width:46%;
}
.flex-btn li a{
	display:block;
	position:relative;
	border-radius:40px;
	height: 74px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
}
.flex-btn li div.link-btn-mail a{
	justify-content:flex-start;
	padding-left: 60px;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    padding-bottom: 5px;
}
.flex-btn li div.link-btn-tel a:before {
}
.flex-btn li div.link-btn-tel a{
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    position: relative;
    color: var(--main-text);
    background: #fff;
    padding-bottom: 5px;
    border: 4px solid #FFAD31;
	padding: 0 10px;
}
.flex-btn li div.link-btn-tel a:after{
	display: none;
}
.flex-btn li div.link-btn-tel a:before{
	content: "";
    display: inline-block;
    background-image: url(images/tel-icon.png);
    background-repeat: no-repeat;
    background-size: 22px;
    width: 26px;
    height: 26px;
    background-position: center;
    background-color: transparent;
    position: static;
	margin: 2px 8px 0 0;
}
.flex-btn li div.link-btn-mail .btn-arrow {
    background-color: #fff;
}
.flex-btn li div.link-btn-mail .btn-arrow:before, 
.flex-btn li div.link-btn-mail .btn-arrow:after {
    background-image: url(images/arrow-orange.svg);
}
.flex-btn li div.link-btn-mail a:before {
    display: inline-block;
    background-image: url(images/mail-icon.svg);
    background-repeat: no-repeat;
    background-size: 22px;
    width: 26px;
    height: 26px;
    background-position: center;
    margin: 5px 10px 0px 0;
    vertical-align: middle;
}
/*.flex-btn li div.link-btn-mail a:after {
    background-image: url(images/arrow-orange.svg);
    background-repeat: no-repeat;
    background-size: 22px;
    width: 46px;
    height: 46px;
    background-position: center;
	background-color: #fff;
}*/
.flex-btn li div.link-btn-mail a:hover{
	background: #ffb249;
}
.flex-btn li div.link-btn-mail a:hover .btn-arrow:before {
	animation-name: link-arrow;
	animation-delay: 0s;
}
.flex-btn li div.link-btn-mail a:hover .btn-arrow:after {
	animation-name: link-arrow2;
	animation-delay: 0.2s;
}
.footer-company p{
	margin-bottom:50px;
	font-size:1rem;
}
.footer-company p a{
	font-weight:bold;
	line-height:1;
	color:var(--main-blue);
}
.footer-company p a:hover{
	opacity:0.7;
}
.footer-company p.footer-company-en{
	font-size:2rem;
	line-height:1;
	margin-bottom:10px;margin-bottom: 5px;
}
.footer-info{
	display: flex;
    flex-wrap: wrap;
}
.footer-info img{
	width: 70px;
	margin-left:40px;
}
.footer-nav{
	display:none;
}
.site-footer .widget_nav_menu>div>ul li a{
	border-bottom: 0px solid var(--vk-color-border-hr);
	padding: 7px 10px;
	font-size: 0.9rem;
    background: transparent;
}
.site-footer .widget_nav_menu>div>ul li a:hover{
	color:var(--main-blue);
}
.site-footer .widget_nav_menu>div>ul{
	display: flex;
    flex-wrap: wrap;
	max-width: 350px;
    margin-left: 50px;
}
.site-footer .widget_nav_menu>div>ul li{
	width:48%;
}
.site-footer-copyright p {
    margin: 40px 10px 5px;
}
.site-footer-copyright p:last-child {
    display:none;
}
.footer-address br:last-child{
	display:none;
}
/*フローティングボタン*/
.widget ul.floating-btn {
    padding-left: 0;
}
.floating-btn{
	position:fixed;
	right:0;
	bottom:70px;
	z-index:1000;
}
.page-id-8 .floating-btn {bottom:160px;}
.link-btn-mail a{
	background:linear-gradient(-45deg, #FF8C5A 50%,#FFCF31);
	color:#fff;
}
.link-btn-mail a:hover{
	background: #ffb249;
}
.link-btn-mail a:before{
	content:"";
	display:block;
	background-image:url(images/mail-icon.svg);
	background-repeat:no-repeat;
	background-size: 26px;
    width:  40px;
    height: 40px;
    background-position: center;
	margin: 0 0 5px;
}
.link-btn-solution a:before{
	content:"";
	display:block;
	background:url(images/solution-icon.svg);
	background-repeat:no-repeat;
	background-size: 40px;
    width:  40px;
    height: 40px;
    background-position: center;
	margin: 0 0 10px;
}
.link-btn-solution a:hover{
	background: var(--main-blue);
	color:#fff;
}
.link-btn-solution a:hover:before{
	background:url(images/solution-icon-white.svg);
}
.floating-btn li a{
	width: 120px;
    height: 120px;
    font-weight: bold;
    text-align: center;
    display: block;
    font-size: 0.9rem;
	box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -moz-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -webkit-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -o-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -ms-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
	display: flex;
    flex-direction: column;
    align-items: center;
	justify-content: center;
	padding: 15px 0;
}
.link-btn-solution a{
	background:#fff;
	margin-bottom: 20px
}
/*トップへ戻るボタン*/
.page_top_btn {
    width: 40px;
    height: 40px;
    color: transparent;
    background-color: var(--main-blue);
    box-shadow: none;
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transition: opacity .3s;
    text-decoration: none;
    border-radius: 50%;
	transform: rotate(-90deg);
	background-image: url(images/arrow.svg);
	bottom: 20px;
}
.page_top_btn:hover {
	opacity:0.7;
}
.footer-info-br{
	display:none;
}
@media screen and (max-width: 1200px){
	.floating-btn li a{
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		width: 60px;
    	height: auto;
		flex-direction: row;
    	padding: 10px 0 20px;
	}
	.link-btn-solution a::before{
		background-size: 36px;
		margin: 0 0 5px 3px;
	}
    .link-btn-mail a::before {
		background-size: 20px;
		margin: 0 0 0px;
	}
	.floating-btn {
		bottom: auto;
		top: 150px;
	}
}
@media screen and (max-width: 1024px){
	.footer-cta {
		background-attachment: scroll;
	}
}
@media screen and (max-width: 991px){
	.site-footer .widget_nav_menu>div>ul li:nth-child(odd){
		width:35%;
	}
	.site-footer .widget_nav_menu>div>ul li:nth-child(even){
		width:65%;
	}
	.footer-contact .Head01 h2{
		font-size: 1.8rem;
	}
	.footer-contact p img {
    	width: 40px;
		margin: 40px auto 20px;
	}
	.footer-contact > div a:after{
		top: auto;
    	bottom: 65px;
	}
	.site-footer {
		margin-top: 60px;
	}
	.home .footer-cta .Head01 {
		top: -220px;
	}
	.site-footer-content {
    	padding: 0px 0;
		max-width: initial;
	}
}
@media screen and (max-width: 900px){
	.site-footer .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
	}
	.site-footer .widget_nav_menu>div>ul {
		max-width: initial;
		margin-left: 0px;
		margin-top: 50px;
	}
	.site-footer .widget_nav_menu>div>ul li a {
    	padding: 7px 10px 7px 0;
	}
	.site-footer-copyright {
		max-width: initial;
		width: 84%;
	}
	.site-footer-copyright p {
    	text-align: left;
	}
	.site-footer-copyright p {
    	margin: 40px 0px 5px;
	}
	.site-footer .row {
		margin-right: 0;
		margin-left: 0;
	}
}
@media screen and (max-width: 850px){
	.footer-cta {
		padding: 150px 0 80px;
	}
}
@media screen and (max-width: 768px){
	.site-footer-content {
		max-width: initial;
	}
}
@media screen and (max-width: 767px){
	.footer-contact > div {
		width: 100%;
	}
	.footer-contact > div a {
    	padding: 30px 6%;
	}
	.footer-contact > div:first-child {
		margin-bottom: 30px;
	}
	.footer-contact p img {
        margin: 30px auto 10px;
	}
	.footer-contact > div a:after {
        bottom: 30px;
	}
	.footer-tel {
		margin: 10px auto 0px;
	}
	 .footer-company {
    	margin-bottom: 0px;
	}
	.site-footer .widget {
		margin-bottom: 15px;
	}
	.site-footer-copyright p {
    	margin: 20px 0px 5px;
	}
}
@media screen and (max-width: 650px){
    .footer-cta {
        padding: 130px 0 60px;
		background-position-x: center;
	}
	.footer-cta .Head01 {
        top: -180px;
	}
	.home .footer-cta .Head01 {
        top: -200px;
	}
	.widget ul.flex-btn{
		flex-direction: column;
		align-items: center;
	}
	.flex-btn li {
    	width: 100%;
	}
	.flex-btn li div.link-btn-tel a,
	.flex-btn li div.link-btn-mail a{
		max-width: initial;
	}
	.site-footer .widget_nav_menu>div>ul li:nth-child(even),
	.site-footer .widget_nav_menu>div>ul li:nth-child(odd){
        width: 48%;
	}
	.footer-company p {
    	margin-bottom: 30px;
	}
}
@media screen and (max-width: 600px){
	.page-id-8 .grecaptcha-badge {
    	bottom: 90px !important;
	}
	.footer-cta .Head01 {
        top: -170px;
	}
	.home .footer-cta .Head01 {
        top: -190px;
	}
	.footer-cta-contents {
		text-align: left;
	}
	.floating-btn {
		top:auto;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		width: 80%;
        display: flex;
        justify-content: space-between;
	}
	.page-id-8 .floating-btn {bottom:0px;}
	.floating-btn li{
        width: 47%;
		height: 40px;
	}
	.floating-btn li a {
        width: 100%;
        writing-mode: horizontal-tb;
        -ms-writing-mode: tb-rl;
		height: 40px;
        padding:5px 10px 5px 0;
	}
	.link-btn-solution a::before {
        background-size: 26px;
        margin: 3px 0 0px 0px;
	}
	.site-footer {
    	padding-bottom: 50px;
	}
	.page_top_btn {
    	bottom: 45px;
	}
	.footer-cta-contents p.footer-lead {
    	font-size: 1.15rem;
	}
}

@media screen and (max-width: 500px){
    .site-footer {
        margin-top: 40px;
	}
	.footer-cta .Head01 {
        position: static;
	}
	.footer-cta {
        padding: 50px 0 60px;
	}
	.widget ul.flex-btn {
    	margin: 30px auto 0;
	}
	
	.footer-info-br{
		display:block;
	}
	.footer-info img{
		margin-left: 30px;
	}
}
@media screen and (max-width: 375px){
	.footer-address br:last-child{
		display:block;
	}
}
@media screen and (max-width: 360px){
	.footer-contact p:not(.footer-tel){
		font-size:14px;
	}
	.footer-cta-contents p.footer-lead {
    	font-size: 1.1rem;
	}
	.footer-info{
		flex-direction: column;
	}
	.footer-info img {
		margin-left: 0px;
		margin-top: 20px;
	}
	.floating-btn {
		width: 90%;
	}
	.flex-btn li div.link-btn-tel a {
    	font-size: 1.6rem;
	}
}
@media screen and (max-width: 320px){
	.footer-contact .Head01 h2 {
			font-size: 1.5rem;
	}
	.footer-contact p:not(.footer-tel){
        font-size: 13px;
	}
	.flex-btn li div.link-btn-mail a {
    	padding-left: 40px;
	}
	.site-footer .widget_nav_menu>div>ul {
    	justify-content: space-between;
	}
}
@media screen and (max-width: 300px){
    .floating-btn{
        width: 100%;
	}
	.floating-btn li {
        width: 50%;
	}
	.site-footer .widget_nav_menu>div>ul li a {
        padding: 7px 0px 7px 0;
	}
}
@media screen and (max-width: 280px){
	.site-footer .widget_nav_menu>div>ul li:nth-child(even), 
	.site-footer .widget_nav_menu>div>ul li:nth-child(odd) {
        width: 100%;
	}
}


/*--------------------------トップページ---------------------------*/
.home .site-body {
	padding: 0 0 80px;
}
/*スクロールダウンアニメーション*/
.scroll-down {position: absolute;
  bottom: 0;left:0px;
  width:20px;
  height: 100px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.scroll-down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg,rgba(#000, 0) 0, rgba(#000, .8) 80%, rgba(#000, .8) 100%);
  }
.scroll-down p {
	display: inline-block;
	position: absolute;
	bottom: 0;
	left:10px;
	z-index: 2;
	width:20px;
	padding: 5px 5px 90px;
	color: #fff;
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	writing-mode: vertical-lr;
	transition: .2s;
	overflow: hidden;
	margin: auto;font-weight: bold;
	bottom: 20px;
    left: 20px;
}

.scroll-down p:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 80px;
  background: #eee;
}

.scroll-down p:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 80px;
  background: var(--main-blue);animation: scroll 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


/* ファーストビュー */
.top-main{
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	position: relative;
	min-height: 890px;
    height: 100vh;
}
.top-video:after{
	width: 100%;
	height:100%;
	content:"";
	display:block;
	position:absolute;
	top:0;
	right:0;
	background:#10A6FF;
	opacity:0.8;
}
.top-main-on{
	height: 100vh;
	display: flex;
	align-items: center;
  flex-wrap: wrap;
}
.top-main-photo{
	width: 50%;
}
.main-copy{
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	text-align: left;
}
.sub-copy{
	color: #fff;
	font-size: 20px;
	text-align: left;
}

/* video */
.top-video{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}


.top-video video{
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.top-video .top-video-sp {
	display:none;
}
@media screen and (min-width: 1800px) {
	.tate-copy {
		padding-bottom: 100px;
		min-height: 900px;
	}
}
@media screen and (min-width: 1500px) {
	.main-copy,
	.sub-copy{
		text-align: center;
	}
}

@media screen and (min-width: 768px) {
	.main-copy{
		font-size: 60px;
	}
	.sub-copy{
		font-size: 36px;
        font-weight: bold;
        margin-bottom: -8px;
	}
}

.tate-copy{
	display: flex;
	width: 100%;
    justify-content: center;
    /* margin-top: 170px; */
    max-width: 1000px;
    width: 50%;
    align-items: center;
    padding-right: 100px;
}
.tate-copy span{
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-align: left;
	display: inline-block;
	color: #fff;
    font-weight: 900;
    font-size: 5rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
.catch-copy{
	position: absolute;
    bottom: 70px;
    right: 0;
    left: 0;
    margin: auto;
	width: 80%;
	rgba(0, 0, 0, 0.1) 1px 1px 15px, rgba(0, 0, 0, 0.1) -1px 1px 15px, rgba(0, 0, 0, 0.1) 1px -1px 15px, rgba(0, 0, 0, 0.1) -1px -1px 15px
}
.catch-copy br{
	display:none;
}

@media screen and (max-width: 1200px) {
	.main-copy {
        font-size: 50px;
	}
	.tate-copy span {
		font-size: 4rem;
	}
}
@media screen and (max-width: 1100px) {
	.main-copy{
		font-size:2.8rem;
	}
	.top-main-photo {
		top: 50px;
	}
	.tate-copy {
        max-width: 850px;
	}
	.catch-copy {
		bottom: 50px;
	}
}
@media screen and (max-width: 991px) {
	.top-main {
		min-height: 700px;
	}
	.tate-copy span {
		font-size: 4.5rem;
	}
}
@media screen and (max-width: 920px) {
    .tate-copy span {
        font-size: 4.3rem;
	}
	.sub-copy {
        font-size: 32px;
	}
}
@media screen and (max-width: 900px) {
	.top-video {
		height: 100%;
	}
	.sub-copy {
        font-size: 24px;
	}
	.main-copy {
		font-size: 2.4rem;
	}
	.catch-copy {
        bottom: 30px;
	}
}
@media screen and (max-width: 890px) { 	
	.main-copy,
	.sub-copy {
		text-align:center;
	}
	.top-main{
		overflow: visible;
	}
	.top-main-on,
	.top-main,
	.top-video{
		/*height:100vh;*/
		min-height:850px;
		max-height:850px;
	}
	.top-main-on {
		/*height:100vh;*/
		flex-direction: column-reverse;
	}
	.tate-copy span {
        font-size: 3.5rem;
	}
	.sub-copy {
		font-weight: bold;
		margin-bottom: 0px;
	}
    .catch-copy {
		background: #0070b38c;
		background: var(--main-blue);
		max-width: initial;
		width: 100%;
		padding: 20px 10% 25px;
		bottom: -30px;
		bottom: 0px;
		background: linear-gradient(#32ABF200 5%, #32ABF2, #32ABF2);
	}
    .sub-copy,
    .main-copy {
		text-align: center;
	}
	.tate-copy {
		width:auto;
		justify-content: center;
		position: relative;
		padding-right: 0;
		height: 40%;
		align-items: flex-end;
	}
    .top-main-photo{
		transform:rotate(-90deg);
        margin: auto;
        width: auto;
        padding-left: 90px;
		height: 60%;
		align-content: center;
	}
    .top-main-photo img{
		height: 100%;
		object-fit: contain;
		width: 100%;
	}
}
@media screen and (max-width: 800px) {
    .sub-copy {
        font-size: 25px;
	}
   .tate-copy span {
        font-size: 3.7rem;
	}
}
@media screen and (max-width: 650px) {
	.catch-copy br{
		display:block;
	}
	.sub-copy{
		line-height:1.4;
	}
    .main-copy {
		line-height:1.3;
	}
	.top-main-photo img {
        padding-left: 100px;
	}
}
@media screen and (max-width: 600px) {
	.tate-copy span {
        font-size: 3rem;
	}
	.top-main-photo img {
    	padding-left: 50px;
    }
	.top-video .top-video-pc {
		display:none;
	}
	.top-video .top-video-sp {
		display:block;
		height: 100%;
	}
	.top-video .top-video-sp img{
		width: 100%;
    	height: 100%;
    	object-fit: cover;
	}
}
@media screen and (max-width: 550px) {
	 .top-main-photo img {
    	padding-left: 0px;
	}
}
@media screen and (max-width: 500px) {
	.home .site-body {
		padding: 0 0 20px;
	}
	.top-main-on, .top-main, .top-video {
        /* height: auto; */
        min-height: initial;min-height: 700px;max-height:750px;
	}
}
@media screen and (max-width: 450px) {
	.sub-copy {
        font-size: 20px; 
	}
	.main-copy {
        font-size: 2rem;
	}
	.top-main-photo {
		position: absolute;
        bottom:50px;
        padding: 0;
        top: auto;
        right: 0;
        left: 0;
        margin: auto;
	}
	.scroll-down{
		display:none;
	}
	.top-main-photo img {
        padding-left: 30px;
		height: auto;
		margin-left: -30px;
		height: 320px;
		width: 100%;
		object-fit: contain;
		margin-left: -30px;
	}
	.top-main-on {
        padding-top: 50px;
	}
	.tate-copy span {
        font-size: 3.5rem;}
	.top-main-on {
        padding-top: 100px;
	}
	.tate-copy {
        width: auto;
        justify-content: center;
        position: relative;
        padding-right: 0;
        height: 40%;
        align-items: flex-end;
        position: absolute;
        top: 70px;
        right: 0;
        left: 0;
        margin: auto;
	}
}
@media screen and (max-width: 415px) {
	.top-main-photo {
	}
}
@media screen and (max-width:360px) {
	.main-copy {
        font-size: 1.8rem;
	}
	.tate-copy span {
        font-size: 3rem;
	}
    .tate-copy {
		top: 50px;
	}
}
@media screen and (max-width:319px) {
	.main-copy {
        font-size: 1.6rem;
	}
}
@media screen and (max-width:280px) {
	.catch-copy {
	  background:#32ABF2;
	}
	.top-main-photo img {
	  margin-left:-20px;
	}
}
/*強み*/
.top-strength{
	background:url(images/top-strength02.jpg);
	background-size:100%;
	background-repeat:no-repeat;
	background-position:center bottom 50px;
	position:relative;
	margin-top: 70px;
    padding-top: 50px;
}
.top-strength-image{
	width:55%;
	position:absolute;
	right:0;
	top:0;
	z-index: -1;
    opacity: 0.6;
}
.top-strength-image-sp{
	display:none;
}
.top-strength-contents{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom: 80px;
}
.top-strength-contents > div{
	width:45%;
}
.top-strength-contents > ul{
	width:50%;
}
.top-strength-contents > div p{
    font-weight: bold;
}
.top-strength-contents > ul li a{
	display:flex;
	flex-wrap:wrap;
	background: #fff;
	margin-bottom: 20px;
}
.top-strength-contents > ul li a:hover{
	background: var(--main-blue);
}
.top-strength-contents > ul li a:hover p,
.top-strength-contents > ul li a:hover p span{
	color:#fff;
}
.top-strength-contents > ul li p:first-child{
	width:78px;
	background:var(--gray);
	padding: 18px;
	display: flex;
    justify-content: center;
    align-items: center;
}
.number{
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	color: #bfbfbf;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
	padding: 5px 50px 5px 20px;
}
.number span{
	font-size: 0.85rem;
}
.strength-point{
	font-weight: bold;
    font-size: 2.5rem;
    line-height: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 0;
}
.strength-point span{
	display: block;
    font-size: 0.9rem;
    margin-top: 10px;
}
.top-strength .linkBtn a{
	margin: auto;
}

/*解決事例*/
.top-case{
	position:relative;
	padding: 120px 0 100px;
}
.top-case .Head01 h2 span{
	text-align: right;
}
.top-case-text{
	text-align:left;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	position:relative;
	text-align: right;
    flex-direction: column;
    align-items: flex-end;
    position: absolute;
    top: 0;
	bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
.top-case-text .linkBtn{
	margin-top:30px;
}
.top-case-photo{
	width: 45%;
    margin-left: 5%;
}
@media screen and (max-width: 1400px) {
	.top-case-text {
		padding-right: 50px;
	}
}

@media screen and (max-width:1200px) {
	.top-case-text {
		top: 60px;
		bottom: auto;
	}
	.top-case {
		padding: 120px 0 50px;
	}
	.top-case-text {
		top: 80px;
	}
    .top-case-photo {
		margin-left: 0;
	}
	.strength-point {
		font-size: 2rem;	
	}
	.number{
		padding: 5px 30px 5px 20px;
	}
}

@media screen and (max-width:1024px) {
	.top-strength-contents {
		flex-direction: column;
		gap: 60px;
	}
	.top-strength-contents > ul {
    	width: 100%;
	}
	.top-strength-contents > div {
    	width: 50%;
	}
	.top-strength-contents > ul li a{
		box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
		-moz-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
		-webkit-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
		-o-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
		-ms-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
	}
	.top-strength-image {
		width: 50%;
		top: 200px;
	}
	.top-strength {
		margin-top: 0px;
	}
}
@media screen and (max-width: 850px) {
    .top-case-photo {
        margin-left: -5%;
    }
}
@media screen and (max-width:800px) {
	.top-strength-contents > div {
        width: 100%;
    }
	.top-strength-image{
		display:none;
	}
	.top-strength-image-sp{
		display:block;
		width: 100%;
        margin:80px 0 0;
	}
	.top-strength .lead br{
		display:none;
	}
}
@media screen and (max-width: 768px) {
    .top-case {
        padding: 90px 0 110px;
	}
	.top-strength-contents {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 767px) {
	.top-case-text .linkBtn {
		margin-top: 0px;
		width: 100%;
	}
	.top-strength .link-btn a {
		margin-left: 0;
	}
	.top-case-text {
		position: static; 
		text-align: left;
        padding-right: 0px;
		align-items: flex-start;
	}
	
    .top-case {
        padding: 60px 0 78px;
        display: flex;
        flex-direction: column-reverse;
        gap: 40px;
	}
    .top-case .Head01 h2 span {
		text-align: left;
	}
    .top-case .lead br{
		display:none;
	}
    .top-case-photo {
        width: 84%;
        margin: 0px auto 0;
	}
}
@media screen and (max-width:700px) {
	.top-strength-contents > ul li a {
        box-shadow:none;
        -moz-box-shadow:none;
        -webkit-box-shadow: none;
        -o-box-shadow:none;
        -ms-box-shadow:none;
		border-bottom: 1px solid #ccc;
		background:transparent;
		padding: 0 10px;
    }
	.top-strength-contents > ul li:last-child a {
		border-bottom: 0px solid #ccc;
    }
	.top-strength-contents > ul li p:first-child {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 10px;
		left: auto;
		height: 60px;
        border-radius: 50%;
        width: 60px;
        padding: 10px;
		margin: auto;
	}
	.top-strength-contents > ul li a {
    	margin-bottom: 0px;
	}
	
	.top-strength-contents {
        gap: 30px;
	}
	.strength-point {
    	padding: 20px 0;
	}
	.number {
        padding: 5px 30px 5px 0px;
		font-size: 3rem;
	}
	.top-strength {
		background:none;
	}
	.top-case {
        background: url(images/top-strength02.jpg);
        background-size: 1200px;
        background-repeat: no-repeat;
        background-position:center bottom 50%;
        position: relative;
        margin-top: 0px;
        padding-top: 50px;
	}
}
@media screen and (max-width:650px) {
	.top-strength .lead br {
        display: block;
	}
	.top-strength-image-sp {
        margin: 50px 0 0;
	}
	.top-strength-contents {
        gap: 40px;
	}
	.top-strength-contents {
		margin-bottom: 40px;
	}
	.top-strength {
		background-position: center top 200px;
	}
}
@media screen and (max-width: 600px) {     
	.top-case .lead br{
		display:block;
	}
	.top-case {
        background-position: center bottom 15%;
		gap: 50px;
	}
}
@media screen and (max-width:500px) {
	.top-strength {
		background-size: 1000px;
	}
	
	/*.number span {
		margin-right: 5px;
	}
	.number {
		padding: 5px 0 5px 0;
		flex-direction: unset;
	}
	.top-strength-contents {
        margin-bottom: 30px;
	}
	.strength-point {
        width: 100%;
        text-align: left;
		padding: 10px 0 0px;
	}
	.top-strength-contents > ul li a {
		margin-bottom: 20px;
    	justify-content: center;
		position: relative;
		width: 100%;
        margin-left: 0px;
		padding: 10px 6% 20px calc(6% + 60px);
		justify-content: flex-start;
	}
	.top-strength-contents > ul li p:first-child {
		width: 60px;
        padding: 10px;
        border-radius:0%;
        position: absolute;
        left:0px;
        top: 0;
        bottom: 0;
        height: 100%;
		left: 0;
	}*/
	.top-case {
        padding: 40px 0 60px;
	}
	.strength-point {
    	font-size: 1.8rem;
    }
	
}
@media screen and (max-width: 450px) {
	/*.top-strength-contents > ul li p:first-child {
		width: 50px;
    }
    .top-strength-contents > ul li a { 
		padding: 10px 6% 20px calc(6% + 50px);
	}*/
	.strength-point {
        font-size: 1.6rem;
	}
}
@media screen and (max-width: 415px) {
	.top-strength-contents {
		margin-bottom: 20px;
	}
    .top-strength {
		padding-top: 0px;
		margin-top: 30px;
		background: none;
	}
	.number {
        padding: 5px 20px 5px 0px;
        font-size: 2.5rem;
	}
	.top-case {
        padding: 30px 0 60px;
	}
}
@media screen and (max-width: 400px) {
    .top-strength-contents > ul li p:first-child {
        height: 50px;
        width: 50px;
	}
	.strength-point {
        font-size: 1.4rem;
	}
}
@media screen and (max-width: 375px) {
    .top-strength-contents p:nth-child(2) br{
		display:none;
	}
}
@media screen and (max-width: 360px) {
    .strength-point {
        font-size: 1.3rem;
	}
}
@media screen and (max-width: 359px) {
    .number {
        padding: 5px 15px 5px 0px;
        font-size: 2.2rem;
	}
	.strength-point {
    	font-size: 1.3rem;
	}
	.top-strength-contents > ul li p:first-child {
		height: 44px;
		width: 44px;
	}
}
@media screen and (max-width: 320px) {
	.top-strength-contents {
		margin-bottom: 10px;
	}
	.strength-point {
        font-size: 1.2rem;
	}
}
@media screen and (max-width: 319px) {
	/*.top-strength-contents > ul li p:first-child {
		width: 40px;
	}
	.top-strength-contents > ul li a {
		padding: 10px 4% 20px calc(6% + 40px);
	}*/
	.top-strength-contents > ul li p:first-child {
        display: none;
	}
}
/*製品紹介*/
.top-product{
	background:url(images/blue-bg.jpg);
	background-size:cover;
	position:relative;
	background-attachment: fixed;
	padding:250px 0 100px;
	margin-top: 120px;
}
.top-product .Head01{
	position:absolute;
	top:-335px;
	left:0;
}
.top-product .Head01 h2{
	color:#fff;
}
.top-product:after{
	content:"";
	display:block;
	width:100%;
	height:100%;
	background:var(--main-blue);
	position:absolute;
	top:0;
	left:0;
	opacity: 0.7;
}
.top-product-contents{
	position:relative;
	z-index:1;
}
.item-deco{
	position:absolute;
	z-index: 1;
    width: 250px;
}
.item01{
	top:-60px;
	right:0;
}
.item02{
	bottom:-40px;
	left:0;
}
.top-product .linkBtn a{
	margin:auto;
}
.productListSlider .prev-btn, 
.productListSlider .next-btn{
	display:none;
}
.top-product-list{
	display:flex;
	justify-content:space-between;
	margin-bottom:80px;
}
.top-product-list li{
	width:30%;
	position:relative;
}
.product-link li:hover > a{
	color:var(--main-blue);
}
.product-link li a{
	overflow: hidden;
    display: block;
}   
.product-link li a{
	overflow: hidden;
    display: block;
}   
.product-link li a:hover img{
	transform: scale(1.1);
}
.product-link li .btn-arrow {
    top: auto;
    right: 20px;
    bottom: 20px;
    width: 46px;
    height: 46px;
}
.product-link li .btn-arrow:before, 
.product-link li .btn-arrow:after {
    width: 46px;
    height: 46px;
}
/*.top-product-list li:after{
	content: "";
    display: block;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-image: url(images/arrow.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
    position: absolute;
    right: 20px;
    bottom: 20px;
    background-color: var(--main-blue);
}*/
.top-product-list-title{
	background:#fff;
	display: block;
    padding: 15px 20px;
    font-weight: bold;
    font-size: 1.1rem;
    letter-spacing: 0.02em;
}
@media screen and (max-width: 1024px) {   
    .top-product {
		margin-top: 110px;
	}
    .item-deco { 
		width: 200px;
	}
}
@media screen and (max-width: 991px) { 
	.top-product-list {
		margin-bottom: 60px;
	}
    .top-product .Head01 {
		top: -320px;
	}
}
@media screen and (max-width: 850px) {    
    .top-product {
		padding: 230px 0 100px;
	}
    .top-product .Head01 {
        top: -300px;
	}
	.top-product {
		margin-top: 170px;
	}
}
@media screen and (max-width: 767px) {   
    .top-product-list li {
		width: 47%;
		margin-bottom: 50px;
	}
    .top-product-list {
		flex-wrap: wrap;
	}
    .top-product-list {
        margin-bottom: 0px;
	}
	.top-product .link-btn a {
		margin-left: 0;
	}
	.top-product {
        margin-top: 80px;
	}
	.item-deco {
        width: 160px;
	}
}
@media screen and (max-width: 600px) {     
    .top-product {
		padding: 200px 0 80px;
	}
    .top-product .Head01 {
        top: -260px;
	}
	.top-product {
        margin-top: 60px;
	}
}
        
@media screen and (max-width: 500px) {
	.top-product {
        margin-top: 0px;
	}
	.top-product {
        padding: 50px 0 60px;
	}
    .top-product .Head01 {
        position: static;
	}
	.item-deco {
        width: 120px;
	}
	.item01{
		top: -30px;
	}
	/* スライド */
	.top-product-list li {
        width: 100%;
		flex: 0 0 100%;
		scroll-snap-align: start;
		margin-right: 20px;
		min-width: 80%;
	}
	.productListSlider {
        position: relative;
        overflow: hidden;
        width: 100%;
		width: 100vw;
        margin: 0 calc(50% - 50vw);
        padding: 0 40px;
	}
	.top-product-list{
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        padding: 0;
        margin: 0;
		flex-wrap:nowrap;
		margin: 0px auto 20px;
	}
	.productListSlider .prev-btn, 
	.productListSlider .next-btn {
		position: absolute;
		top:33%;
		z-index: 10;
		cursor: pointer;
		display: block;
		width: 30px;
		height:50px;
		border-radius: 50%;
		background-image: url(images/arrow-slide.svg);
		background-repeat: no-repeat;
		background-size: 20px;
		background-position: center;
		border: none;
        background-color: transparent;
		background-size: 18px;
	}
	.productListSlider .prev-btn {
		left: 5px;
		transform: scale(-1, 1);
	}
	.productListSlider .next-btn {
		right: 5px;
	}
	.productListSlider .dots {
		display: flex;
		justify-content: center;
		margin-top: -50px;
        margin-bottom: 50px;
	}
	.productListSlider .dots .dot {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: #aeafaf;
		margin: 0 5px;
		cursor: pointer;
	}
	.productListSlider .dots .dot.active {
		background: #ffffff;
	}
}
@media screen and (max-width: 450px) {        
    /*.top-product-list li {
        width: 100%;
        margin-bottom: 30px;
	}
	.top-product-list { 
		max-width: 280px;
        margin: auto;
	}*/
}
@media screen and (max-width: 415px) { 
	.top-product-list {
		margin-bottom: 10px;
	}
	.item-deco {
        width: 35%;
	}
    .item01 {

	}
}
@media screen and (max-width: 390px) { 
}

/*埼玉ユニットについて*/
.top-company{
	padding:80px 80px 50px;
	position:relative;
	margin-top: 100px;
}
.top-company-line{
	border: 1px solid var(--main-text);
	padding: 100px;
}
.top-company .Head01 h2,
.top-company .Head01 h2 span{
	text-align:right;
}
.top-company-text{
	width: 40%;
    margin-left: 60%;
}
.top-company-text .linkBtn{
	margin-top:30px;
}
.top-company-text .linkBtn a{
	max-width: initial;
}
.top-company-photo{
	position: absolute;
    top: 0px;
    left: -10%;
    width: 52%;
}
.top-company-photo img{
	width: 100%;
	height:650px;
	object-fit:cover;
}
/*採用*/
.top-recruit-contents{
	display: flex;
    justify-content: flex-end;
	position:relative;   
	margin-top: 200px;
}
.top-recruit-photo{
	width:70%;
}
.top-recruit-photo img{
	width: 100%;
    height:500px;
    object-fit: cover;
    object-position: bottom;
}
.top-recruit-btn{
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	width: 40%;
    height:300px;
}
.top-recruit-btn > a{
	width: 100%;
    height: 100%;
	background:rgba(240,243,245,0.7);
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.top-recruit-btn > a:hover{
	background:rgba(240,243,245,1);
}
.top-recruit-btn h2{
	text-align: center;
    font-size: 1.4rem;
    margin-bottom: 25px;
}
.top-recruit-btn h2 span{
	display: block;
    font-size: 3.5rem;
    color: #C5C5C5;
    margin-bottom: 20px;
}
.top-recruit-btn .linBtn p{
	width: 270px;
	padding-right: 0;
}

.top-recruit-btn > a:hover .linkBtn p{
	background:var(--main-blue);
	color:#fff;
	transition: 0.3s ease-out;
	-webkit-transition:0.3s ease-out;
}
.top-recruit-btn > a:hover .linkBtn p .btn-arrow:before {
	animation-name: link-arrow;
	animation-delay: 0s;
}
.top-recruit-btn > a:hover .linkBtn p .btn-arrow:after {
	animation-name: link-arrow2;
	animation-delay: 0.2s;
}

@media screen and (max-width: 1500px) {
	.top-recruit-photo img {
		height: 450px;
	}
}
@media screen and (max-width: 1400px) {
	.top-recruit-photo img {
		height: 416px;
	}
}
@media screen and (max-width: 1300px) {
	.top-company-photo {
    	left: -0%;
	}
	.top-company-photo img {
		height: 600px;
	}
	.top-recruit-contents {
		margin-top: 100px;
	}
}
@media screen and (max-width: 1200px) {
	.top-company {
		margin-top: 50px;
	}
	.top-recruit-btn h2 span {
		font-size: 2.5rem;
		margin-bottom: 15px;
	}
	.top-recruit-photo img {
        height: 350px;
	}
	.top-recruit-btn {
		height: 250px;
	}
	.top-company-line {
		border: 1px solid var(--main-text);
		padding: 70px;
	}
	.top-company-photo img {
        height: 500px;
	}
	.top-company-photo {
		width: 45%;
	}
	.top-company-text {
    	width: 45%;
		margin-left: 55%;
	}
	.top-company-contents.basic-width {
		width: 100%;
	}
}
@media screen and (max-width: 1100px) {
	.top-company {
    	padding: 80px 80px 0px;
	}
	.top-recruit-btn .linkBtn {
    	width: 240px;
	}
}
@media screen and (max-width: 1024px) {
	.top-recruit-photo img {
        height: 300px;
	}
	.top-recruit-contents {
        margin-top: 70px;
	}
}
@media screen and (max-width: 991px) {
	.top-recruit-btn {
		width: 50%;
	}
	.top-company {
        padding: 80px 80px 20px;
	}
}
@media screen and (max-width: 900px) {
	.top-company {
        padding: 50px 50px 20px;
	}
	.top-company-photo {
		top: -30px;
	}
}
@media screen and (max-width: 850px) {
	.top-company {
        margin-top: 20px;
	}
	.top-company-line {
        padding: 50px;
	}
	.top-company-photo img {
        height: 300px;
	}
	.top-company-text {
        width: 100%;
        margin-left: 0%;
	}
	.top-company .Head01 h2, 
	.top-company .Head01 h2 span {
		text-align: left;
	}
	.top-company-photo {
        position: static;
        width: 100%;
        max-width: 400px;
        margin: 0 auto 30px;
	}
	.top-company-text .linkBtn a {
		max-width: 400px;
	}
	.top-recruit-photo {
		width: 100%;
		margin: auto;
	}
	.top-recruit-btn {
        margin: auto;
        right: 0;
	}
	.top-recruit-btn h2 span {
		color: #AFAEAE;
	}
	.top-recruit-btn > a {
		background: rgba(240, 243, 245, 0.8);
	}
	.top-recruit-btn {
        height: 230px;
		width: 70%;
        height: 70%;
	}
	.top-company .Head01 h2, .top-company .Head01 h2 span {
        letter-spacing: 0;
	}
}
@media screen and (max-width: 600px) {
	.top-company-line {
        padding: 40px;
    }
	.top-company {
        padding: 40px 6% 20px;
	}
	
}
@media screen and (max-width: 500px) {
	.top-recruit-btn h2 {
		font-size: 1.3rem;
		margin-bottom: 15px;
	}
	.top-recruit-btn .linkBtn {
        width: 210px;
        background: transparent;
        box-shadow: none;
	}
	.top-recruit-photo img {
        height: 280px;
	}
	.top-recruit-btn .linkBtn p {padding-right: 50px;}
}
@media screen and (max-width: 450px) {
    .top-company-photo img {
        height: 230px;
	}
	.top-company-line {
        padding: 40px 8%;
	}
	.top-recruit-btn h2 span {
		margin-top: 8px;
	}
	.top-recruit-btn {
    width:80%;}
}
@media screen and (max-width: 390px) {
    .top-recruit-btn {
        width: 90%;
	}
	.top-recruit-photo img {
        height: 250px;
	}
	.top-recruit-contents {
        margin-top: 50px;
	}
}
@media screen and (max-width: 360px) {
    .top-company-photo img {
        height: 200px;
	}
}
@media screen and (max-width: 350px) {
    .top-recruit-btn .linkBtn {
    width: 190px;}
    .top-recruit-btn .linkBtn p {
  padding-left: 20px;}
}
@media screen and (max-width: 320px) {
    .top-recruit-btn {
        width: 85%;
	}
	.top-recruit-btn h2 {
        font-size: 1.2rem;
        margin-bottom: 0px;
	}
	.top-recruit-btn h2 span {
        font-size: 2.2rem;
        margin-bottom: 10px;
        margin-top: 10px;
	}
	.top-recruit-btn .linkBtn{
        width: 200px;
		padding-left: 20px;
	}
	.top-company {
        padding: 40px 6% 0px;
	}
}
@media screen and (max-width: 320px) {
   .top-recruit-btn .linkBtn {
  padding-left:0px;}
  .top-recruit-btn h2 {
    margin-bottom: 15px;}
}
@media screen and (max-width: 319px) {
	.top-recruit-btn .linkBtn {
        width: 190px;
	}
}
@media screen and (max-width: 280px) {
  .top-recruit-btn {
    width: 100%;
    height: 100%;}
    .linkBtn a, .linkBtn p{padding-right: 50px;padding-left: 20px;}
    }
/*--------------------------トップページ---------------------------*/


/*--------------------------下層ページ共通---------------------------*/
.page-header {
    min-height: 500px;
	background-image:url(images/blue-bg.jpg);
	background-size:cover;
	position:relative;
	    align-items: flex-end;
}
.page-header:after {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background:var(--main-blue);
	opacity:0.74;
	position:absolute;
	top:0;
	left:0;
}
.page-header-title, 
h1.page-header-title {
    font-size: 2rem;
    line-height: 1;
    margin: 0;
    width: 46%;
    margin-left: 54%;
    text-align: left;
    color: #fff;
	margin-bottom: 70px;
	height: 190px;
}
.page-header-title:before, 
h1.page-header-title:before {
    font-size: 6rem;
    line-height: 1;
    margin: 0;
	content:"";
	display:block;
	width:100%;
	height:auto;
	margin-bottom: 20px;
}
.page-header-title:after, 
h1.page-header-title:after {
	content:"";
	display: block;
    font-size: 1.1rem;
    margin-top: 15px;
    width: 100%;
    height: auto;
}
.page-header-no-image .page-header-title, 
.page-header-no-image h1.page-header-title {
	margin-left: 0;
	width: 100%;
}

.breadcrumb-list {
    padding: 15px 0;
	text-align: right;
	height: 52px;
}
.breadcrumb-list li {
    font-size: 14px;
	color:#7c878d;
}
.breadcrumb-list li a,
.breadcrumb-list li span,
.breadcrumb-list li a .fa-home{
	color:#7c878d;
}
.breadcrumb-list li a .fa-home {
    margin-right: 5px;
}
.page-header-image{
	width: 46%;
	position: absolute;
    top: -80px;
	height: 410px;
}
.page-header-image img{
	width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 1100px) {
	.page-header-image {
		width: 40%;
	}
	.page-header-title, h1.page-header-title {
		margin-left: 50%;
	}
}
@media screen and (max-width: 991px) {
	.page-header {
    	min-height: 350px;
		align-items: center;
        padding-top: 60px;
	}
	.page-header-inner.container{
        max-width: initial;
		width: 88%;
		display: flex;
		align-items: center;
	}
	.page-header-image {
		position: static;
		width: 30%;
        margin-right: 8%;
		height: 200px;
	}
	.page-header-title, h1.page-header-title {
        margin-left: 0;
		margin-bottom: 0px;
		height: auto;
		width:62%;
	}
	.page-header-no-image .page-header-title, 
	.page-header-no-image h1.page-header-title{
		width: 100%;
	}
	.page-header-title:before, h1.page-header-title:before {
    	font-size: 5rem;
	}
}
@media screen and (max-width: 767px) {
	.page-header-title:before, h1.page-header-title:before {
        font-size: 4rem;
	}
	.page-header {
		min-height: 300px;
	}
	.page-header-image {
        display: none;
	}
}
@media screen and (max-width: 650px) {
	.page-header-title, h1.page-header-title {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 600px) {
	.page-header-inner.container {
        flex-direction: column;
	}
	
	.page-header-inner {
    	margin: 40px auto;
	}
	.page-header-title, h1.page-header-title {
        margin-left: 0;
		width: 100%;
	}
}
@media screen and (max-width: 415px) {
	.page-header-title:before, h1.page-header-title:before {
        font-size: 3rem;
		margin-bottom: 12px;
	}
	.page-header-title, h1.page-header-title {
        font-size: 1.5rem;
	}
	.page-header-inner.container {
        width: 100%;
	}
}
@media screen and (max-width:320px) {
	.page-header-image {
        width: 60%;
	}
	.page-header-title, h1.page-header-title {
        font-size: 1.4rem;
	}
}

/*--------------------------会社概要---------------------------*/
.page-id-7 .page-header-title:before, 
.page-id-7 h1.page-header-title:before {
	content:"About Us";
}
.page-id-7 .page-header-title:after, 
.page-id-7 h1.page-header-title:after {
	content:"埼玉ユニットについて";
}

.company-message{
	position:relative;
	padding-bottom: 100px;
}
.company01{
	width:40%;
	top: 150px;
	right: -10%;
}
.company02{
	width:25%;
	right: 33%;
    bottom: 0;
}
.company01,
.company02,
.company04{
	z-index:1;
	position:absolute;
}
.company03{
	position:absolute;
	top:calc(-3.5rem - 52px);
	left:0;
	width:30%;
}
.bg-gray{
	position:relative;
	padding-top: 80px;padding-top:120px;
	margin-top: -40px !important;
}
.bg-gray:before{
	display:block;
	content:"";
	width: 70%;
    height: 85%;
	background:#F6F7F8;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
.bg-gray > div{
	max-width:1280px;
	padding-bottom: 120px;
	position: relative;
}
.message p{
	line-height: 3;
    font-weight: bold;
}
.message p:first-child{
    margin-bottom: 50px !important;
}
.company-outline{
	position:relative;
	background:url(images/company-bg.jpg);
	background-attachment:fixed;
	background-size:cover;
}
.company-outline > div,
.company-outline > figure:not(.company04){
	position:relative;
	z-index: 1;
}
.company-outline:after{
	display:block;
	content:"";
	width: 100%;
    height: 100%;
	background:#1E86E2;
	position:absolute;
	top:0;
	left:0;
	opacity:0.8;
}
.company04{
	width:30%;
	top: 100px;
    left: 0%;
    max-width: 250px;
    z-index: 10;
}
.outline{
	background:#fff;
	padding: 80px 8%;
}
.outline.wp-block-table td:first-child{
	font-weight:bold;
	width:200px;
}
.outline.wp-block-table td{
    vertical-align: top;
}
.outline.wp-block-table td ul{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
.outline.wp-block-table td ul li{
	width:48%;
	margin-bottom: 5px;
}
.partner-photo{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
}
.partner-photo > div:first-child{
	width:55%;
}
.partner-photo > div{
	width:40%;
}
.company-access iframe{
	width:100%;
	height: 400px !important;
	margin-top:50px;
}
.company-outline,
.company-access{
	padding: 80px 0 100px;
}

.company-history{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
	padding-bottom: 80px;
}
.company-history > .history-right{
	width:40%;
	padding-bottom: 60px;
}
.company-history > .history-left{
	width:46%;
}
.company-history > figure{
	margin: 0 !important;
}
.company-history > figure.wp-block-image img:not([style*=object-fit]){
	width: 100%;
    height: 100% !important;
    object-fit: cover;
}
.history-right ul li p:first-child {
    width: 100px;
    font-weight: bold;
    font-size: 1.1rem;
    position: relative;
	margin-bottom: 0;
}
.history-right ul li p:last-child {
    width: calc(100% - 170px);
    font-weight: bold;
    font-size: 1.1rem;
    padding-bottom: 30px;
}
.history-right ul li {
    display: flex;
    justify-content: space-between;
}
.history-right ul{
	margin-top: 70px;
}
.history-right ul li p:first-child:before{
    content: "";
    display: block;
    width:2px;
    height: 115%;
    background:var(--main-blue);
    position: absolute;
    top: -20px;
    right: -30px;
}
.history-right ul li p:first-child:after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--main-blue);
    position: absolute;
    top: 4px;
    right: -38px;
}
.outline a{
	text-decoration:underline !important;
	text-underline-offset: 3px;
}
.outline a:hover{
	color:var(--main-blue);
}
@media screen and (max-width:1150px) {
	.company01, .company02{
		position:static;
	}
	.company01 {
		width: 50%;
		margin-top: 60px !important;
	}
	.company02 {
    	width: 30%;
	}
	.company-message .bg-gray{
		display:flex;
		flex-wrap: wrap;
	}
	.company-message .bg-gray > div {
    	padding-bottom: 0px;
	}
	.message{
		width:100%;
	}
	.outline.wp-block-table td:first-child {
		font-weight: bold;
		width: 130px;
	}
}
@media screen and (max-width:1024px) {
	.company-outline > div, 
	.company-history > .history-right {
    	padding-right: 30px;
	}
	.company-outline {
    	background-attachment: scroll;
	}
	.bg-gray {
		padding-right: 6%;
		padding-top: 100px;
	}
}
@media screen and (max-width:991px) {
	.company-outline > div {
    	padding-right: 0;
	}
	.outline {
    	padding: 40px 6%;
	}
}
@media screen and (max-width:850px) {
	.bg-gray {
		padding-right: 0;
	}
	.company-message .bg-gray {
        padding-right: 0;
	}
	.outline.wp-block-table td {
		padding: 30px 0 30px 20px;
	}
    .outline.wp-block-table td:first-child {
        width: 90px;
        padding: 30px 0;
	}
	.company04 {
    	top: 70px;
	}
	.outline.wp-block-table td ul li {
    	font-size: 15px;
	}
	.outline.wp-block-table td ul li {
    	width: 41%;
	}
	.outline.wp-block-table td ul li:nth-child(odd){
    	width: 58%;
	}
	.company-history {
    	flex-direction: column-reverse;
	}
	.company-history > .history-left {
    	width: 100%;
	}
	.company-history > figure.wp-block-image img:not([style*=object-fit]){
	    width: 88%;
	    margin: auto;
	    max-width: 400px;
	}
	.company-history > .history-right {
        padding-right: 0px;
        width: 100%;
	}
}
@media screen and (max-width:849px) {
	.outline.wp-block-table td ul li:nth-child(odd),
	.outline.wp-block-table td ul li{
        width: 100%;
	}
}
@media screen and (max-width:767px) {
	.company03 {
		position: absolute;
		top: -80px;
	}
	.partner-photo {
		flex-direction: column;
	}
	.partner-photo > div:first-child,
	.partner-photo > div {
    	width: 100%;
	}
	.partner-photo > div img{
		margin-top: 20px;
		max-width: 200px;
	}
}
@media screen and (max-width:700px) {
	.company-access iframe {
		height: 300px !important;
		margin-top: 0px;
	}
}
@media screen and (max-width:650px) {
	.bg-gray {
		padding-top: 80px;
		margin-top: -70px !important;
	}
}
@media screen and (max-width:600px) {
	.message p .pc-br{
		display:none;
	}
	.message p{
		line-height: 2.5;
	}
	.company-message {
    	padding-bottom: 60px;
	}
	.company-outline, .company-access {
    	padding: 50px 0 60px;
	}
	.history-right .Head01.text-right,
	.history-right .Head01.text-right span{
		text-align:left !important;
	}
	.company-history > .history-right {
		padding-bottom: 40px;
	}
	.company-history {
		padding-bottom: 50px;
	}
}
@media screen and (max-width:500px) {
	.company-history {
        padding-bottom: 0px;
	}
	.outline {
        padding: 10px 6%;
	}
}
@media screen and (max-width:450px) {
	.outline.wp-block-table td,
	.outline.wp-block-table td:first-child{
        display: block;
        width: 100%;
		padding: 20px 20px;
	}
	.outline.wp-block-table td:first-child{
		padding: 20px 0;
	}
}
@media screen and (max-width:415px) {
	.company04 {
        top: 30px;
	}
	.message p:first-child {
    	margin-bottom: 30px !important;
	}
	.company-history > .history-right {
        padding-bottom: 20px;
	}
	.history-right ul {
    	margin-top: 40px;
	}
	.company-outline, .company-access {
        padding: 40px 0 50px;
	}
	.company-message {
        padding-bottom: 50px;
	}
	.history-right ul li p:first-child {
    	width: 90px;
	}
	.history-right ul li p:last-child {
    	width: calc(100% - 130px);
	}
	.history-right ul li p:first-child:before {
		right: -15px;
	}
	.history-right ul li p:first-child:after {
		width: 16px;
		height: 16px;
		right: -22px;
	}
}
@media screen and (max-width:360px) {
	.company03 {
		width: 38%;
	}
	.company02 {
        width: 40%;
	}
	.company-message .bg-gray > div {
        margin-bottom: 20px;
	}
	.company01 {
        width: 50%;
        margin-top: 40px !important;
	}
}
@media screen and (max-width:320px) {
	.company-access iframe {
        height: 250px !important;
	}
}
/*--------------------------事業内容*---------------------------*/
.page-id-35 .page-header-title:before, 
.page-id-35 h1.page-header-title:before {
	content:"Business";
}
/*.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: initial;
    margin-left: 0 !important;
    margin-right: 0 !important;
}*/
.business-overview{
	padding-bottom: 60px;
}
.overview{
	max-width: initial;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.overview-contents{
	max-width:1000px;
	margin:auto;
	width:84%;
	display: flex;
    justify-content: flex-end;
}

.overview02 .overview-contents{
    justify-content: space-between;
	z-index: 1;
}
.overview .overview-contents > div{
	width:46%;
	position:relative;
}
.overview01 .overview-contents > div{
	margin-left: 0 !important;
    margin-right: 0 !important;
}
.overview01 > div{
	padding:80px 0 100px;
}
.overview{
	display: flex;
    justify-content: center;
}
.overview01{
	margin-bottom: 100px !important;
	margin-top: 100px !important;
}
.overview01:before{
	content: "";
    display: block;
    width: 60%;
    height: 100%;
    background: url(images/business01.jpg);
    position: absolute;
    top: 0;
    left: 0;
	background-position:center;
	background-size: 100%;
    background-repeat: no-repeat;
}
.h-frame{
	background:var(--main-blue);
	color:#fff;
	font-size: 1.3rem;
    padding: 20px 10%;
    line-height: 1.4;
}
.overview-frame{
	background:#F6F7F8;
	padding:30px 10%;
}
.overview02 .h-frame{
	background:#F0F3F5;
	color:var(--main-blue);
	font-size: 1.3rem;
    padding: 20px 10%;
    line-height: 1.4;
	position: absolute;
    top: -90px;
    width: 560px;
    z-index: 1;
}
.overview02 .overview-frame{
	background:#fff;
	margin-top: 240px;
}
.overview02{
	position:relative;
}
.overview02:before{
    display: block;
    content: "";
    width: 100%;
    height:calc(100% + 20px);
	background:url(images/business-bg.jpg);
	background-attachment: fixed;
    background-size: cover;
    position: absolute;
    top: 60px;
    left: 0;
}
.overview02:after {
    display: block;
    content: "";
    width: 100%;
    height: calc(100% + 20px);
    background: #32ABF2;
    position: absolute;
    top: 60px;
    left: 0;
    opacity: 0.9;
}
.overview02-photo > div{
	display:flex;
	justify-content:space-between;
	margin-top: 30px;
}
.business04{
	width:28%;
}
.business03{
	width:67%;
}
.certification{
	font-weight:bold;
	font-size:1.15rem;
}
.overview .linkBtn a{
	margin-top:60px;
}
.overview .linkBtn a br{
	display:none;
}
.business-equipment{
	padding:80px 0 160px;
	position:relative;
}

.business05{
	position:absolute;
	top:0;
	right: -80px;
    width: 23%;
}
.business-equipment h3{
	color:var(--main-blue);
}
.equipment-list{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-top: 50px !important;
}
.equipment-list02{
	flex-direction:row-reverse;
	margin-top: 100px !important;
}
.equipment-list .wp-block-table{
	width:65%;
	margin: 0 !important;
}
.equipment-photo{
	width:25%;
	margin: 0 !important;
}
.wp-block-image figcaption {
    text-align: left;
    font-size: 0.9rem;
}
.equipment-photo figure{
	margin-bottom:40px;
	/*width: 30%;*/
}
.caption-business11{
	display:flex;
	justify-content: space-between;
}
.equipment-list .wp-block-table td, 
.equipment-list .wp-block-table th {
    padding: 12px 5px;
	font-size: 0.95rem;
}
.equipment-list .wp-block-table tr:first-child td{
	border-bottom:2px solid #707070;
}
.equipment-list .wp-block-table td:nth-child(3){
	width: 240px;
}
.equipment-list .wp-block-table td:last-child{
	width: 60px;
	text-align: center;
}
.applicator-list{
	padding:30px 0;
	border-bottom:1px solid #AFAFAF;
	display:flex;
	justify-content:space-between;
}

.applicator-list:last-child{
	border-bottom:0px solid #AFAFAF;
	margin-bottom: 50px;
}
.applicator-list p{
	color:#707070;
	font-weight:bold;
	width: 340px;
}
.applicator-list .applicator-list-contents{
	font-weight:bold;
	width: calc(100% - 340px);
}
.applicator-list .applicator-list-contents ul{
	display:flex;
	flex-wrap: wrap;
}
.applicator-list ul li{
	width:25%;
	padding:5px 10px;
}

.applicator-list ul li:nth-child(n+5):nth-child(-n+8),
.applicator-list ul li:nth-child(n+13):nth-child(-n+16),
.applicator-list ul li:nth-child(n+21):nth-child(-n+24),
.applicator-list ul li:nth-child(n+29):nth-child(-n+32),
.applicator-list ul li:nth-child(n+37):nth-child(-n+40),
.applicator-list ul li:nth-child(n+45):nth-child(-n+48),
.applicator-list ul li:nth-child(n+53):nth-child(-n+56){
  background-color: #F3F3F3;
}
.business-applicator.Head01 h2{
	margin-bottom:100px !important;
}
.scroll-text{
	display:none;
	margin: 0 0 10px !important;
    font-size: 14px;
}
.overview-frame h4{
	margin-bottom:10px !important;
}
@media screen and (max-width: 1200px){
	.overview01 {
    	margin: 50px 0 !important;
	}
	.overview02 {
    	padding: 80px 0;
	}
	.business-equipment,
	.business-applicator{
		margin-right: 6%;
	}

	.overview02:before,
	.overview02:after{
		top: 0px;
		height: 100%;
	}
	.overview02 .h-frame {
		position: static;
		width: 100%;
	}
	.overview02 .overview-frame {
    	margin-top: 0;
	}
	.business-overview {
    	padding-bottom: 0px;
	}
}
@media screen and (max-width: 1199px){
	.wp-block-image figcaption,.caption-business11{font-size: 0.7rem;}
}
@media screen and (max-width: 1100px){
	.overview01 > div {
		padding: 00px 0 80px;
	}
	.equipment-list{
		flex-direction: column;
	}
	.equipment-list .wp-block-table {
    	width: 100%;
	}
	.equipment-photo {
		width: 100%;
		margin: 0 !important;
		display: flex;
		flex-wrap: wrap;
        justify-content: flex-start;
		gap: 3%;
	}
	.equipment-photo figure {
     	width: 31%;
		margin: 0 0 40px !important;
	}
	.applicator-list p {
    	width: 230px;
		margin: 0 !important;
	}
	.applicator-list .applicator-list-contents{
    	width: calc(100% - 260px);
		margin: 0 !important;
	}
	.business-equipment, 
	.business-applicator {
        margin-right: 0%;
    }
	.applicator-list ul li {
    	width: 33%;
	}
	.applicator-list ul li:nth-child(n+5):nth-child(-n+8), .applicator-list ul li:nth-child(n+13):nth-child(-n+16), .applicator-list ul li:nth-child(n+21):nth-child(-n+24), .applicator-list ul li:nth-child(n+29):nth-child(-n+32), .applicator-list ul li:nth-child(n+37):nth-child(-n+40), .applicator-list ul li:nth-child(n+45):nth-child(-n+48), .applicator-list ul li:nth-child(n+53):nth-child(-n+56) {
    background-color: #fff;
	}
	.applicator-list ul li:nth-child(n+4):nth-child(-n+6), .applicator-list ul li:nth-child(n+10):nth-child(-n+12), .applicator-list ul li:nth-child(n+16):nth-child(-n+18), .applicator-list ul li:nth-child(n+22):nth-child(-n+24), .applicator-list ul li:nth-child(n+28):nth-child(-n+30), .applicator-list ul li:nth-child(n+34):nth-child(-n+36), .applicator-list ul li:nth-child(n+40):nth-child(-n+42), .applicator-list ul li:nth-child(n+46):nth-child(-n+48), .applicator-list ul li:nth-child(n+52):nth-child(-n+54), .applicator-list ul li:nth-child(n+58):nth-child(-n+60){
    background-color: #F3F3F3;
	}
	.wp-block-image figcaption,.caption-business11{font-size: 0.9rem;}

}
@media screen and (max-width: 1024px){
	.overview02:before {
		background-attachment: scroll;
	}
}
@media screen and (max-width: 991px){
	.applicator-list {
		flex-direction: column;
        gap: 20px;
	}
	.applicator-list p br{
		display:none;
	}
	.applicator-list p {
        width: 100%;
	}
	.applicator-list .applicator-list-contents {
        width: 100%;
	}
	.equipment-photo figure {
     	width: 48%;
	}

}
@media screen and (max-width: 850px){
	.overview {
		flex-direction: column;
		margin: 0px 0 !important;
		gap:40px;
	}
    .overview01 > div {
        flex-direction: column;
        padding: 00px 0 60px;
		align-items: center;
	}
	.overview .overview-contents > div {
    	width: 100%;
	}
	.overview01:before {
		width: 100%;
		height: 300px;
		position: static;
		max-width: 400px;
		margin: auto;
		background-position: top;
	}
	.h-frame {
    	padding: 20px 30px;
	}
	.overview-frame{
    	padding: 30px 30px;
	}
	.overview02 {
        padding: 60px 0;
	}
	.overview02 .overview-contents {
    	flex-direction: column;
	}
	.overview .linkBtn a {
		margin: 40px auto;
	}
	.overview .overview-contents > div.overview02-photo{
		max-width:400px;
	}
	.business-equipment {
    	padding: 60px 0 80px;
	}
	.equipment-list02 {
    	margin-top: 60px !important;
	}
	.business-equipment, 
	.business-applicator {
        margin-right: 6%;
	}
	.equipment-list .wp-block-table td:nth-child(3) {
    	width: 200px;
	}
}
@media screen and (max-width: 768px){
	.equipment-list .wp-block-table td:nth-child(3) {
    	width: 170px;
	}
}
@media screen and (max-width: 767px){
	.business-equipment, 
	.business-applicator {
        margin-right: 0%;
	}
	.equipment-list .wp-block-table td:nth-child(2) {
    	width: 120px;
	}
	.applicator-list ul li {
        font-size: 15px;
	}

}
@media screen and (max-width: 600px){
	.Head01 + .applicator-list{
		padding-top:0;
	}
	
	.equipment-list .wp-block-table td,
	.equipment-list .wp-block-table td:nth-child(2),
	.equipment-list .wp-block-table td:nth-child(3){
        width: auto;
	}
	.equipment-list .wp-block-table td, .equipment-list .wp-block-table th {
    	padding: 12px 10px;
	}
	.applicator-list .applicator-list-contents{
        overflow-x: auto;
    	-webkit-overflow-scrolling: touch;
		position:relative;
	}
	.applicator-list.no-scroll .applicator-list-contents{
		overflow-x:visible;
	}
	.applicator-list ul{
		min-width: 560px;
	}
	.applicator-list ul li {
		min-width: 170px;
	}
	.applicator-list p{
		position:relative;
	}
	.applicator-list.no-scroll p:after{display:none;}
	.applicator-list p:after{
		content:"（下の表は横スクロールでご覧いただけます）";
		display:block;font-size: 14px;
		font-weight: normal;
	}
}
@media screen and (max-width: 550px){
	.equipment-photo figure {
     	width: 100%;
		margin: 0 0 40px !important;
	}
	.equipment-photo {
    	gap: 0;
	}
}
@media screen and (max-width: 500px){
	.equipment-list .wp-block-table{
		position:relative;
	}
	.scroll-text{
		display:block;
	}
	.equipment-list .wp-block-table td,
	.equipment-list .wp-block-table td:nth-child(2),
	.equipment-list .wp-block-table td:nth-child(3){
        width: 200px;
	}
	.equipment-list .wp-block-table table td{
		white-space: nowrap;
	}
	.equipment-list .wp-block-table{
        overflow-x: scroll;
		display: block;
	}
	.applicator-list:last-child {
    	margin-bottom: 0px;
		padding-bottom: 0;
	}
	
}
@media screen and (max-width: 450px){
	.overview01 > div {
        padding: 00px 0 40px;
	}

	.equipment-list {
		margin-top: 30px !important;
	}
	.overview-contents {
		width: 88%;
	}
	.overview-frame {
        padding: 30px 6%;
	}
	.h-frame,
	.overview02 .h-frame{
        padding: 15px 6%;
		font-size: 1.15rem;
	}
	.business-applicator .Head01.text-right,
	.business-applicator .Head01.text-right span{
		text-align:left !important;
	}
	.overview02 {
        padding: 40px 0;
	}
	.business-equipment {
        padding: 40px 0 60px;
	}
}
@media screen and (max-width: 390px){
    .applicator-list p br {
        display: block;
	}
}
@media screen and (max-width: 359px){
	.overview .linkBtn a br{
		display:block;
	}
}
@media screen and (max-width: 320px){
    .overview01:before {
        height: 250px;
	}
}
/*--------------------------納品までの流れ---------------------------*/
.page-id-44 .page-header-title:before, 
.page-id-44 h1.page-header-title:before {
	content:"Flow";
}
.bg-gray.flow:before {
    display: block;
    content: "";
    width: 70%;
    height: 95%;
    background: #F6F7F8;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#post-44 .wp-block-group.flow-item{
    display: flex;
	justify-content: space-between;
}
#post-44 .wp-block-group.flow-item+.wp-block-group.flow-item{
    margin-top:5.5rem;
}
#post-44 .wp-block-group.flow-item figure.wp-block-image.size-large{
    width:28.375rem;
    margin-left:0!important;
    margin-right:0!important;
}
#post-44 .wp-block-group .flow-item-block{
    margin-left:0!important;
    margin-right: 0 !important;
}
#post-44 .wp-block-group.flow-item .wp-block-group.item-block {
    margin-left:2rem!important;
    margin-right: 0 !important;
	width: 47%;
}
#post-44 .wp-block-group .wp-block-group-is-layout-constrained .flow-number{
    font-size:2.875rem;
    line-height: 2.5rem;
    color: var(--main-blue);
    font-weight:bolder;
}
#post-44 .wp-block-group .wp-block-group-is-layout-constrained .wp-block-heading{
    font-size:1.5rem;
    line-height:1.8125rem;
    color: var(--main-blue);
    font-weight:normal;
}
#post-44 .wp-block-group .wp-block-group-is-layout-constrained .txt{
    max-width:32.25rem;
    width:100%;
    font-size:1rem;
    line-height:1.9375rem;
    font-weight: normal;
}
#post-44 .wp-block-group.flow-content:not(:first-child) {
    margin-top:2rem;
}
#post-44 .flow-slider-wrapper {
    position: relative;
    width: 100vw;        /* ビューポート幅いっぱい */
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
    box-sizing: border-box;
    padding-bottom:5.625rem;
}
#post-44 .flow-slider-wrapper .flow-slide {
    padding: 0;
    margin: 0;
    list-style: none;
}
#post-44 .flow-slider-wrapper .flow-slide li {
    width: 25%; /* 画像3枚＋間隔2つ分で100% */
    margin-right: 1.6875rem;
    box-sizing: border-box;	
}
#post-44 .flow-slider-wrapper .flow-slide li:last-child {
    margin-right: 0;
}
#post-44 .flow-slider-wrapper .flow-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#post-44 .flow-slider-wrapper .slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    padding: 1rem;
}

@media screen and (max-width: 991px){
	.bg-gray.flow {
		padding-right: 0;
	}
	#post-44 .wp-block-group.flow-item figure.wp-block-image.size-large {
    	width: 45%;
	}
}
@media screen and (max-width: 850px){
    .bg-gray.flow {
        padding-right: 6%;
	}
	
}
@media screen and (max-width: 768px){
	#post-44 .flow-slider-wrapper {
		padding-bottom: 30px;
	}
}
@media screen and (max-width: 767px){
	.bg-gray.flow {
        padding-right: 0%;
	}
    .bg-gray > div {
        padding-top: 30px;
	}
	#post-44 .wp-block-group.flow-item {
		flex-direction: column;
	}
	#post-44 .wp-block-group.flow-item .wp-block-group.item-block {
		margin-left: 0 !important;
		width: 100%;
	}
	#post-44 .wp-block-group .wp-block-group-is-layout-constrained .txt {
    	max-width: initial;
	}
	#post-44 .wp-block-group.flow-item {
		gap: 30px;
	}
	#post-44 .wp-block-group.flow-item figure.wp-block-image.size-large {
        width: 100%;
	}
}
@media screen and (max-width: 500px){
	.bg-gray.flow:before {
        display:none;
	}
	.bg-gray.flow > div {
        padding-top: 0px;
	}
	.bg-gray.flow > div {
        padding-bottom: 50px;
	}
	#post-44 .wp-block-group.flow-item .wp-block-group.item-block {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;align-items: center;}
	#post-44 .wp-block-group .wp-block-group-is-layout-constrained .wp-block-heading {width: calc(100% - 80px);}
    #post-44 .wp-block-group .wp-block-group-is-layout-constrained .flow-number {width: 50px;}
    }
}
@media screen and (max-width: 450px){
	#post-44 .wp-block-group.flow-item {
        gap: 20px;
	}
	#post-44 .wp-block-group.flow-item+.wp-block-group.flow-item {
    	margin-top: 40px;
	}
	#post-44 .flow-slider-wrapper {
        padding-bottom: 0px;
	}
}
@media screen and (max-width:320px){
    #post-44 .wp-block-group .wp-block-group-is-layout-constrained .wp-block-heading {
  font-size: 1.35rem;}
  }
/*--------------------------納品までの流れ---------------------------*/

/*--------------------------よくある質問---------------------------*/
.page-id-42 .page-header-title:before, .page-id-42 h1.page-header-title:before {
    content: "FAQ";
}
.question-warp {
	 max-width: 65.1875rem;
	width:100%;
	padding-bottom:5rem;
}
.question-warp .accordion {
 width:100%;
  margin: 2rem auto 0;
}
.question-warp .question-warp-tit{
	font-size:1rem;
	line-height:1.8;
}

.question-warp .accordion-item {
    background: #fff;
    border-radius: 0px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
    box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -moz-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -webkit-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -o-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -ms-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
}
.question-warp .accordion-item + .accordion-item {
    margin-top: 2rem;
}
.js-accordion.is-active {
    box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -moz-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -webkit-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -o-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
    -ms-box-shadow: 0 0 15px rgba(136, 133, 133, 0.15);
}

.question-warp .accordion-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 1.8rem 5rem 1.8rem 2.5rem;
  position: relative;
  cursor: pointer;
  transition: background 0.3s ease;
}
.question-warp .accordion-header:hover {
  background: #fbfdff;
}
.js-accordion.is-active .accordion-header {
  background: #ffffff;
}

/* ====== Q/A アイコン ====== */
.question-warp .qa-badge {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  font-weight: 700;
  font-size: 2.125rem;
  letter-spacing: 0.02em;
  flex: 0 0 28px;
	align-self: flex-start; 
  user-select: none;
}
.question-warp .qa-badge--q {
  color: var(--main-blue);
}
.question-warp .qa-badge--a {
  color: #A8A8A8;
}

/* ====== タイトル ====== */
.question-warp .accordion-title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8125;
  flex: 1 1 auto;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ====== 開閉 ====== */
.question-warp .accordion-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}
.accordion-icon::before,
.accordion-icon::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  top: 10px;
  height: 2px;
  background: #32ABF2;
  border-radius: 2px;
  transition: transform 0.25s ease, opacity 0.2s ease, background 0.2s ease;
}
.question-warp .accordion-icon::after {
  transform: rotate(90deg);
}
.js-accordion.is-active .accordion-icon::before {
  transform: rotate(45deg);
  background: #1e90ff;
}
.js-accordion.is-active .accordion-icon::after {
  transform: rotate(-45deg);
  background: #32ABF2;
}
.question-warp .accordion-content {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
    will-change: height;
    position: relative;
}
.question-warp .accordion-content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%); 
    width: 90%;
    height: 1px;
    background: #A8A8A8;
}
.question-warp .accordion-content__inner {
    position: relative;
    display: flex;
    gap: 20px;
    padding: 1.8rem 5rem 1.8rem 2.5rem;
}
.question-warp .accordion-content__inner .qa-badge {
    margin-top: 2px;
    flex: 0 0 28px;
}
.question-warp .accordion-content__inner p {
  margin: 0;
	max-width: 53.18rem;
	width:100%;
  color: #3B4043;
  font-size: 1.06rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px){
	.question-warp .accordion-header {
		padding: 1.8rem 5rem 1.8rem 1.5rem;
	}
	.question-warp .accordion-content__inner{
		padding: 1.8rem 1.8rem 1.8rem 1.5rem;
	}
	.question-warp .accordion-title{
		font-size: 16px;
	}
}
@media screen and (max-width: 500px){
	.question-warp {
		padding-bottom: 0;
	}
	.question-warp .accordion-header {
        padding: 1.2rem 4rem 1.2rem 1.5rem;
	}
	.question-warp .accordion-content__inner{
		padding: 1.2rem 1.2rem 1.2rem 1.5rem;
	}
}

@media (max-width: 480px) {
  .accordion-header {
    padding: 16px 48px 16px 16px;
  }
  .accordion-title {
    font-size: 15px;
  }
  .accordion-content__inner {
    padding: 14px 16px 16px;
  }
}
@media screen and (max-width: 360px){
	.question-warp .accordion-header {
        padding: 1.2rem 3rem 1.2rem 1rem;
	}
	.question-warp .qa-badge {
		font-size: 1.8rem;
	}
	.question-warp .accordion-header {
    	gap: 8px;
	}
	.question-warp .accordion-title {
        font-size: 15px;
        line-height: 1.5;
	}
	.question-warp .accordion-content__inner {
        padding: 1.2rem 1.2rem 1.2rem 1rem;
		gap: 8px;
	}
	.question-warp .accordion-icon {
    	right: 10px;
	}
	.question-warp .accordion-title {
		-webkit-line-clamp: 3;
	}
	.question-warp .accordion-item + .accordion-item {
    	margin-top: 1.5rem;
	}
}
@media screen and (max-width: 319px){
	.question-warp .accordion-title {
        font-size: 14px;
	}
}
/*--------------------------よくある質問---------------------------*/




/*--------------------------個人情報保護方針---------------------------*/
.privacy-policy .page-header-title:before, .privacy-policy h1.page-header-title:before {
    content: "Privacy Policy";
}
.privacy-policy-warp {
	max-width: 56.25rem; 
	width:100%;
	margin: 0 auto;
	box-sizing:border-box;
}
.privacy-policy-title.individual-policy {
    font-size: 1.5rem;
	margin-top:4rem;
	line-height:2.625rem;
}
.privacy-policy-title.declaration {
	font-size: 1.5rem;
	margin-bottom:1.6rem;
}
.privacy-policy-title {
	font-size: 1.25rem; 
	font-weight: bold;
	text-align: left;
	margin-top: 2.68rem;
	margin-bottom: 1rem;
	line-height: 1.5;
}
.privacy-policy-title:first-child {
	margin-top: 0;
}
.privacy-policy-text {
	font-size: 1.1rem; 
	font-weight: normal;
	text-align: left;
	line-height: 1.8125rem; 
}
.privacy-policy-block {
	margin-top: 3rem;
}
.privacy-policy-highlight {
	color: red;
	font-size: 0.875rem;
	margin-left: 0.5rem;
}
/*.privacy-policy-text-adress{
	font-size: 1rem; 
	color:#707070;
	font-weight: normal;
	text-align: left;
	line-height: 1.5rem; 
}*/
@media screen and (max-width: 850px){
	.privacy-policy-warp {
		padding-right: 6%;
	}
}
@media screen and (max-width: 767px){
	.privacy-policy-warp {
		padding-right: 0;
	}
}
@media screen and (max-width: 415px){
	.privacy-policy-title.declaration {
    	font-size: 1.3rem;
	}
	.privacy-policy-title.individual-policy {
    	font-size: 1.3rem;
		margin-top: 40px !important;
	}
	.privacy-policy-title {
    	font-size: 1.15rem;
	}
	.privacy-policy .main-section{
		margin-bottom:0;
	}
}
/*--------------------------個人情報保護方針---------------------------*/

/*--------------------------選ばれる理由---------------------------*/
.strengtn {
  font-size: 1rem;
  color: #3B4043;
  padding: 2rem 1rem;
}

.strengtn__container {
  margin: 0 auto;
  max-width: 100%;
}

.strengtn__heading {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.strengtn__subheading {
  font-size: 1.2rem;
  margin-bottom: 2rem;
}

.strengtn__reason-box {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 3rem;
}
section.strengtn__reason-detail {
  position: relative;
  z-index: 1;
  overflow: visible;
}


.strengtn__reason-detail .bg-gray::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 320px; 
    background: url(images/top-strength02.jpg) no-repeat center bottom;
    background-size: cover;
    z-index: 1;
    pointer-events: none;
	mix-blend-mode: multiply;
}
.bg-gray > div.strengtn__reason-inner{
	margin-top: 30px;
}
.strengtn__image {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.strengtn__text {
  font-size: 1rem;
  line-height: 1.6;
}

.strengtn__points {
  margin-bottom: 4rem;
}

.strengtn__point-box {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

.strengtn__point-img {
  width: 100%;
  height: auto;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
}

.strengtn__point-text h3 {
  font-size: 1.5rem;
  font-weight: bold;
}

.strengtn__point-text span {
  font-size: 2rem;
  color: #007acc;
  margin-right: 0.5rem;
}

.strengtn__examples {
  background: #f9f9f9;
  padding: 2rem;
  border-radius: 0.5rem;
}

.strengtn__example {
  margin-bottom: 2rem;
}

.strengtn__example h4 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.strengtn__example p {
  font-size: 1rem;
  line-height: 1.5;
}

.strengtn__reason-inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2rem;gap:8%;
  max-width: 1140px;
  margin: 0 auto;
}
section.strengtn__reason-detail {
    padding-bottom: 3rem;
}
.strengtn__reason-img {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 2;
}

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

.strengtn__reason-text {
  flex: 1;
  color: #3B4043;
	max-width: 29.93rem;
}

.strengtn__reason-text h3 {
 font-size: clamp(1rem, 0.824rem + 0.751vw, 1.5rem);
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 1.6;
}

.strengtn__reason-text p {
  font-size: 1rem;
  line-height: 1.8;
}

.strengtn__point {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 4rem 1rem;
    z-index: 0;
    background: 
      linear-gradient(90deg, rgba(33, 150, 243, 0.85) 0%, rgba(100, 181, 246, 0.85) 100%),
      url("images/strength-bg.jpg") no-repeat center center;
    background-size: cover;
	background-attachment: fixed;
}

.strengtn__point-block {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
  max-width: 71.25rem;
  margin: 0 auto;
  padding: 2rem;
  border-radius: 0.5rem;
	position:relative;
}
.strengtn__point .strengtn__point-block:nth-of-type(3) {
    margin-top: 3rem;
}

.strengtn__point-block.reverse {
  flex-direction: row-reverse;
}

.strengtn__point-image  {
    width: 36.1rem;
    height: 28.8rem;
    margin-right: -7rem;
    margin-top: -3rem;
}
.strengtn__point-block.reverse .strengtn__point-image {
    width: 36.1rem;
    height: 28.8rem;
    margin-left: -7rem;
   display: block;
    transform: translateY(3rem);
}
.strengtn__point-content {
    color: #3B4043;
    background-color: rgba(255, 255, 255, 0.95);
    width: 36.18rem;
    height: 28.6rem;
    padding: 1.5rem 2.5rem;
	position: relative;
    z-index: 1;
}

.strengtn__point-label {
    font-size: 0.875rem;
    color: #3B4043;
    /*margin-bottom: 0.2rem;*/
    font-weight: bold;
	line-height: 1;
    margin-bottom: -5px;
}

.strengtn__point-number {
    font-size: clamp(2rem, 0.592rem + 6.009vw, 6rem);
	line-height:4rem;line-height: 1;
    font-weight: bold;
    color: #32ABF2;
    margin-bottom: 1rem;
}

.strengtn__point-content h3 {
	font-size: clamp(1rem, 0.673rem + 1.397vw, 1.93rem);
	line-height:2.75rem;
	font-weight: bold;
	margin-bottom: 1rem;
	margin-top: 20px;
}

.strengtn__point-text {
  font-size: 16px;
  line-height: 1.7;
	font-weight: normal;
}
.strengtn__solution {
  padding: 4rem 1rem;
}

.strengtn__solution-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
  max-width: 1140px;
  margin: 0 auto;
}

.strengtn__solution-image {
  flex: 1 1 45%;
}

.strengtn__solution-image img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.strengtn__solution-text {
  flex: 1 1 50%;
  position: relative;
  color: #3B4043;
	padding-left: 4rem;
}

.strengtn__solution-heading {
    font-weight: bold;
    color: rgba(59, 64, 67, 0.1);
    line-height: 1.2;
    margin: 0 0 1rem;
    font-size: clamp(2rem, 0.504rem + 6.385vw, 6.25rem);
    text-align: left;
}

.strengtn__solution-sub {
  font-size: 1.2rem;
  font-weight: 500;
  color: #3B4043;
  margin: 0;
}
.strengtn__case-badge {
display: inline-block;
    background-color: #3B4043;
    color: #fff;
    font-size: 1.37rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.7rem 3rem;
    margin-bottom: 1.2rem;
    position: absolute;
    top: -12px;
    left: 2rem;
}

.strengtn__case {
	position:relative;
  padding: 2rem 1rem;
  color: #3B4043;
	width: min(calc(100% - 2rem), 81.57rem);
}
.strengtn__case_title{
	display: flex;
    gap: 8%;
    align-items: center;
    margin: 80px auto 50px;
}
.strengtn__case-inner {
	position:relative;
	max-width:71.375rem;
	width:100%;
  margin: 0 auto;
  background-color: #eef3f6;
  padding: 2rem 4.5rem 3.5rem;
}

.strengtn__case-head {
    gap: 1rem;
    margin-bottom: 1.2rem;
    margin-top: 2rem;
	display: flex;
    align-items: center;
    justify-content: flex-start;
}
.strengtn__case-head img {
    width: 56.18px;
    height: 50.8px;
}
.strengtn__case-clip {
  width: 1.6rem;
  height: auto;
  flex: 0 0 auto;
}
.strengtn__case-title {
  font-size: 1.7rem;
  font-weight: 800;
  margin: 0;
}


.strengtn__case-client {
  font-size: 0.95rem;font-size: 1.1rem;
  margin: 0 0 0.8rem;
}


.strengtn__case-cards {
   gap: 2rem;
    display: flex;
    justify-content: space-between;
    align-items: normal;
	width: min(calc(100% - 2rem), 65.57rem);
}
.strengtn__case-clip {
  width: 56.18px;
  height: 5.08px;
  flex: 0 0 auto;
}

.strengtn__case-card:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -1.5rem;
    transform: translateY(-50%);
    width: 15px;
    height: 2rem;
    background: url(images/arrow-strength.png) no-repeat center center;
    background-size: contain;
    pointer-events: none;
    opacity: 0.8;
}
.strengtn__case-card {
	position: relative;
	background-color: #fff;
	border-radius: 2px;
	padding: 1.45rem;
	max-width:17.12rem;
	width:100%;
}
.strengtn__case-cardTitle {
	font-weight: 800;
	color: #32ABF2;
	margin: 0 0 0.6rem;
}
.strengtn__case-cardText {
	line-height: 1.3rem;
	margin: 0;
	font-weight:400;
	font-size: clamp(0.8rem, 0.730rem + 0.3vw, 1rem);
	line-height: 1.5; font-size: 16px;
}
.strengtn__btn-wrap {
	text-align: center;
	margin-top: 2rem;
}

.strengtn__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	padding: 0.8rem 1.6rem;
	border-radius: 9999px; /* 丸み */
	background: #fff;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	font-size: 1rem;
	font-weight: 600;
	color: #3B4043;
	text-decoration: none;
	transition: all 0.3s ease;
}

.strengtn__btn:hover {
	box-shadow: 0 6px 16px rgba(0,0,0,0.15);
	transform: translateY(-2px);
}

.strengtn__btn-icon {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: #1da1f2 url("images/arrow.svg") no-repeat center center;
	background-size: 50% auto;
}


.linkBtn.strengtn-link-btn a{
	margin:50px auto 70px;
}
.strengtn-link-btn br{
	display:none;
}
.post-name-strength .page-header-title:before, .post-name-strength h1.page-header-title:before {
    content: "Strength";
}
/*課題解決事例　page header*/
.post-type-archive-solution .page-header-title:before, .post-type-archive-solution h1.page-header-title:before {
    content: "Solution Example";
}
@media screen and (max-width: 1100px) {
	.strengtn__case-title {
    	font-size: 1.5rem;
	}
	.bg-gray > div.strengtn__reason-inner {
    	margin-top: 0px;
	}
	.strengtn__reason-text h3 {
    	font-size: 1.2rem;
	}
}
@media screen and (max-width: 1024px) {
	.strengtn__reason-detail .bg-gray::after {
		bottom: -40px;
		opacity: 0.6;
		height: 300px;
	}
	.strengtn__point {
        background-attachment: scroll;
	}
}
@media screen and (max-width: 991px) {
	.strengtn__case-cards {
		flex-direction: column;
		width: 100%;
	}
	.strengtn__case-card {
		max-width: initial;
	}
	.strengtn__case-card:not(:last-child)::after {
		top: auto;
		bottom: -26px;
		right: 0;
		left: 0;
		margin: auto;
		transform: rotate(90deg);
	}
	section.strengtn__reason-detail {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 0 6% 3rem;
	}
	.strengtn__point-block.reverse .strengtn__point-image {
    	margin-left: -9.5rem;
	}
	.strengtn__reason-inner {
		gap: 6%;
	}
	
}
@media screen and (max-width: 850px) {
	.strengtn__reason-img {
		max-width: 400px;
    	margin: auto;
	}
	.page-template-page-strength .Head01 h2 {
    	margin-bottom: 10px !important;
	}
	.strengtn__reason-detail .bg-gray::after {
		z-index:-1;
	}
	section.strengtn__reason-detail {
        padding: 0 6% 80px;
	}
	.bg-gray > div.strengtn__reason-inner {
        flex-direction: column;
        gap: 40px;
        padding: 0px 0;
	}
	.strengtn__reason-text {
    	max-width: 100%;
		max-width: 400px;
        margin: auto;
	}
	.strengtn__point {
		padding: 80px 1rem;
	}
	.bg-gray > div {
    	padding-bottom: 100px;
	}
	.strengtn__point-image {
		width: 50%;
		height: auto;
		margin-right: 0;
		margin-top: 0;
	}
	.strengtn__point-content {
		width: 50%;
		height: auto;
	}
	.strengtn__point-block {
		align-items: stretch;
		padding: 0 2rem 40px;
	}
	.strengtn__point-image img,
	.strengtn__point-block.reverse .strengtn__point-image img{
		height: 100%;
    	object-fit: cover;
	}
	.strengtn__point-content h3 {
    	line-height: 1.6;
		margin-top: 10px;
	}
	.strengtn__point-label {
    	margin-bottom: 0;
	}
	.strengtn__point-block.reverse .strengtn__point-image {
        margin: 0;
        width: 50%;
        height: auto;
		transform: unset;
	}
	.strengtn__point .strengtn__point-block:nth-of-type(3) {
    	margin-top: 0;
		padding: 0 2rem 0px;
	}
}
@media (max-width: 768px) {
	.strengtn__point-block,
	.strengtn__point-block.reverse{
        flex-direction: column;
		gap: 0;
	}
	.strengtn__point-content,
	.strengtn__point-image{
        width: 100%;
        height: auto;
		max-width: 454px;
        margin: auto;
	}
	.strengtn__point-block.reverse .strengtn__point-image,
	.strengtn__point-image{
		max-width: 454px;
		margin: auto;
		width: 100%;
	}
	.strengtn__reason-inner {
		flex-direction: column;
  	}
	.strengtn__reason-text h3 {
		font-size: 1.3rem;
	}
	.strengtn__solution-inner {
		flex-direction: column;
		text-align: center;
	}
	.strengtn__solution-heading {
		font-size: 2.2rem;
	}
	.strengtn__solution-sub {
		font-size: 1rem;
	}
	.strengtn__case_title {
		flex-direction: column;
    	gap: 50px;
		max-width: 454px;
	}
	.linkBtn.strengtn-link-btn a {
    	margin: 20px auto 70px;
	}
	.strengtn__point-image {
        max-width: 454px;
        margin: auto;
        width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.strengtn__case-inner {
		padding: 2rem 6% 40px;
	}
	.strengtn__case-badge {
		left: 6%;
		font-size: 1.2rem;
	}
	.strengtn__case-title {
        font-size: 1.3rem;font-size: 1.4rem;
	}
	.strengtn__case-head img {
    	width: 40px;
	}
	.strengtn__case {
		margin: auto;
	}
}
@media screen and (max-width: 650px) {
	.strengtn__reason-detail .bg-gray:before{
		display:none;
	}
	.page-template-page-strength .Head01 h2 {
        margin-bottom: 30px !important;
	}
}
@media screen and (max-width: 600px) {
	.page-template-page-strength .Head01 h2 br{
		display:none;
	}
	.strengtn__case_title .Head01 h2 {
        margin-bottom: -20px !important;
	}
}
@media screen and (max-width: 500px) {
	.link-btn.strengtn-link-btn a {
        margin: 40px auto;
	}
	.strengtn__case {
    	padding: 2rem 1rem 0;
	}
	.strengtn__case-title {
        font-size: 1.15rem;
	}
	.strengtn__case-head img {
        width: 30px;
	}
	.strengtn__point-content {
		padding: 1.5rem 6% 30px;
	}
	section.strengtn__reason-detail {
        padding: 0 6% 60px;
	}
	.strengtn__point {
        padding: 60px 1rem;
	}
	.strengtn__case_title {
		margin: 60px auto;
	}
	.strengtn__reason-detail .bg-gray::after{display:none;}
	.strengtn__point-image img, .strengtn__point-block.reverse .strengtn__point-image img {
    height: 200px;}
	.strengtn__point-content h3 {
  font-size: 1.5rem;}
	.strengtn__point-number {
  font-size: 3rem;}
  .strengtn__point-label {
  margin-bottom: -5px;}
}
@media screen and (max-width: 450px) {
	.strengtn__case {
        padding: 0;
		margin-bottom: 40px;
		width: 100%;
	}
	.strengtn__case:last-of-type {
		margin-bottom:0px;
	}
	.strengtn__point-block{
        padding: 0 calc(6% - 15px) 40px;
	}
	.strengtn__point .strengtn__point-block:nth-of-type(3){
        padding: 0 calc(6% - 15px) 0px;
	}
}
@media screen and (max-width: 415px) {
	.strengtn__case-head {
		gap: 5px;
		margin-top: 1rem;
		align-items: flex-start;
	}
	.strengtn__case-title {
        font-size: 1rem;font-size: 1.3rem;
        padding-top: 5px;
	}
	.page-template-page-strength .Head01 h2 {
        margin-bottom: 20px !important;
	}
	section.strengtn__reason-detail {
        padding: 0 6% 40px;
	}
	.strengtn__reason-text h3 {
        font-size: 1.2rem;
	}
	.strengtn__point {
        padding: 40px 1rem;
	}
	.strengtn__case_title {
		margin: 40px auto;margin: 40px auto 20px;
		gap: 30px;
	}
	.link-btn.strengtn-link-btn a {
        margin: 40px auto 10px;
	}

}
@media screen and (max-width: 375px) {
    .strengtn__reason-text h3 {
        font-size: 1.1rem;
	}
}
@media screen and (max-width: 360px) {
  .strengtn__case-title {
    font-size: 1.2rem;}
    }
@media screen and (max-width: 320px) {
    .strengtn__case-head img {
        width: 20px;
		height: 40px;
	}
	.strengtn__case-inner {
        padding: 2rem 6% 30px;
	}
	.strengtn__case-badge {
        font-size: 1.1rem;
	}
	.strengtn-link-btn br{
		display:block;
	}
	.linkBtn.strengtn-link-btn a {
        margin: 30px auto 0px;
	}
}

/* 一覧ページ */

/* ====== Flow cards ====== */
#flow-steps.case-flow {
	padding: 1.5rem 1rem;
}
#flow-steps .case-flow__inner {
    max-width: 71.25rem;
    margin: 0 auto;
    padding: 0 6rem;
}
#flow-steps .case-flow__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;          /* すべて同じ高さの行に */
}

/* カード */
#flow-steps .case-flow__item {
  flex: 1 1 0;
  min-width: 0;
  background: #f5f9ff;
  border: 0.0625rem solid #e4edf8;
  border-radius: 0.5rem;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
}
#flow-steps .case-flow__title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  line-height: 1.4;
  color: #1e86df;
  font-weight: 700;
}
#flow-steps .case-flow__text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.9;
  color: #333;
}

/* 矢印（別フレックス要素：常に中央） */
#flow-steps .case-flow__arrow {
flex: 0 0 2rem;          /* PCでの矢印用スペース（rem） */
  display: flex;
  align-items: center;     /* 垂直中央 */
  justify-content: center; /* 水平中央 */
}
#flow-steps .case-flow__arrow::before{
  content: "";
  display: block;
  aspect-ratio: 1 / 2;     /* 矢印の縦横比（> っぽく縦長） */
  /* 画像パスを自サイトに合わせて変更してください */
background: url(images/arrow-strength.png) no-repeat center center;
  /* 透過PNGなら色の上書き不要。単色にしたい場合は filter で調整可 */
	width: 2.4rem; 
	height: 2rem;
	background-size: 50%;
}

#flow-steps .case-flow__icon {
  width: 1.25rem;
  height: 1.25rem;
  margin: auto;                  /* 縦横ど真ん中に固定 */
  display: block;
  fill: #c1cfe3;                 /* 矢印色 */
}



@media (max-width: 769px) {      
  #flow-steps .case-flow__list {
    flex-direction: column;
  }
  #flow-steps .case-flow__arrow{
    width: 100%;
    height: 2.25rem;
  }
  #flow-steps .case-flow__arrow::before{
    transform: rotate(90deg);
  }
  #flow-steps .case-flow__icon {
    transform: rotate(90deg);    /* ↓ に向ける */
  }
}



/*--------------------------採用情報---------------------------*/
.page-id-255 .page-header-title:before, .page-id-255 h1.page-header-title:before {
    content: "Recruit";
}
.job-description {
  padding: 2rem;
  max-width: 80rem;
  margin: 0 auto;
  box-sizing: border-box;
}
.job-description .bg-gray:before {
    display: block;
    content: "";
    width: 70%;
    height: 100%;
    background: #F6F7F8;
    position: absolute;
    top: 7rem;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.job-description__row {
	display: flex;
	gap: 2rem;
	margin-bottom: 4rem;
	justify-content: space-between;
}
.job-description .bg-gray > div {
    padding-bottom: 0px;
}
.job-description__row--reverse {
	flex-direction: row-reverse;
}

.job-description__image-box,
.job-description__text-box {
	flex: 1 1 100%;
	max-width: 100%;
}

.job-description__image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.5rem;
}

.job-description__heading {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.job-description__text p{
	line-height: 1.8;
	margin-bottom:10px;
}
.ideal-candidate {
  position: relative;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 6rem 2rem;
  color: #fff;
	position: relative;
	margin-top: 6rem;
}
.ideal-candidate::before {
     content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: url(images/ideal-candidate-bg.jpg) no-repeat top center;
    background-size: cover;
    z-index: -2;
}

.ideal-candidate::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: rgba(50, 171, 242, 0.83); /* 半透明オーバーレイ */
  z-index: -1;
}


.ideal-candidate__inner {
  max-width: 68.75rem;
  margin: 0 auto;
  text-align: center;
}

.ideal-candidate__header {
  flex-direction: column;
  align-items: center;
  margin-bottom: 3rem;
}

.ideal-candidate__title-box {
  margin-bottom: 1.5rem;
}

.ideal-candidate__title {
  font-size: 3.75rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
color:#E9E9E9;
	line-height:4.3rem;
}

.ideal-candidate__subtitle {
  font-size: 1.5rem;
	color:#fff;
	line-height:3rem;
}


.ideal-candidate__image {
  width: 100%;
  height: auto;
  display: block;
}

.ideal-candidate__lead {
  font-size: 1.5rem;
	color:#ffffff;
	line-height:3rem;
  font-weight: bold;
  margin-bottom: 2rem;
	text-align:left;
}

.ideal-candidate__cards {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.ideal-candidate__card {
  background: #fff;
  color: #000;
  padding: 2rem;
  text-align: left;
}

.ideal-candidate__card-title {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1rem;
	text-align:center;
}

.ideal-candidate__card-text {
	font-size: 1rem;
	line-height: 1.6;
	color:#3B4043;
}
.no-recruitment-list{
	padding:80px 0;
	max-width:1100px;
	width:88%;
	margin:auto;
	text-align:center;
}

.job-description__image-box,
.job-description__text-box {
    flex: 1 1 47%;
    max-width: 47%;
}
.ideal-candidate__header {
    align-items: center;
    text-align: left;
	width: 100%;
	position: relative;
    height: 19rem;
	display: flex;
    flex-direction: row;
}

.ideal-candidate__title-box {
	margin-bottom: 0;
	/*max-width: 19.87rem;*/width: 45%;
	margin-top: -50px;
}
.ideal-candidate__title-box .Head01 h2,
.ideal-candidate__title-box .Head01 h2 span{
	text-align:left;
}
.ideal-candidate__title-box .Head01 h2{
	color:#fff;
}
.ideal-candidate__image-box {
    width: 38.43rem;width: 50%;
    transform: translateY(-9rem);
    position: absolute;
    z-index: 2;
    right: 0;
    top: 0rem;
	    margin-right: 3rem;
    margin-left: 4rem;
}
.ideal-candidate__image-box img{
	width: 100%;
    height: 400px;
    object-fit: cover;
}

  .ideal-candidate__cards {
    flex-direction: row;
    justify-content: space-between;
  }

  .ideal-candidate__card {
    flex: 1;
    max-width: 30%;
  }
section.recruitment {
    position: relative;
    display: block;
	margin-top: 6.14rem;
	width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
section.recruitment .wp-block-heading span{
	font-size:4.28rem;
}
section.recruitment::before {
    content: "";
    width: 220px;
    height: 280px;
    background-image: url(images/job-description05.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    left: 0px;
    z-index: -3;
    top: -96px;
    position: absolute;
	left: -10px;
}

.recruit .tab-container {
  max-width: 60rem;
  margin: 0 auto;
}

.recruit .tabs {
  display: flex;
  border-bottom: 0.2rem solid #ccc;
  margin-bottom: 1rem;
}

.tab-container {
  max-width: 60rem;
  margin: 0 auto;
}

.tab-container .tabs {
  display: flex;
  border-bottom: 0.2rem solid #ccc;
  margin-bottom: 1rem;
}

.tab-container .tab {
  padding: 1rem 2rem;
  border: none;
  background: #eee;
  cursor: pointer;
  font-size: 1.2rem;
  transition: background 0.3s;
}

.tab-container .tab:hover {
  background: #ddd;
}

.tab-container .tab.active {
  background: #00a0e9;
  color: white;
  font-weight: bold;
}

.tab-container .tab-content {
  display: none;
}

.tab-container .tab-content.active {
  display: block;
}

.tab-container .recruit table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2rem;
  font-size: 1rem;
}

.tab-container .recruit th,
.tab-container .recruit td {
  padding: 1rem;
  border-bottom: 0.1rem solid #ccc;
  text-align: left;
  vertical-align: top;
}

.tab-container .recruit th {
  width: 10rem;
  background-color: #f0f0f0;
}
.tab-group {
    max-width: 1100px;
	width:100%;
    list-style: none;
    text-align: center;
    margin: 0 auto;
	padding-bottom: 6rem;
}

.tab-button {
    display: flex;
    justify-content: space-between;
    list-style: none;
    cursor: pointer;
    gap: 1rem;
    font-size: 1.28rem;
    font-weight: bold;
    line-height: 1.9rem;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
	padding-bottom: 80px;
}

/* タブ */
.tab-button .tab {
  width: calc(100% / 3);
  padding: 8px;
  border: 0;
  background: #DBDBDB;
  color: #32ABF2;
  cursor: pointer;
}

.tab-button .tab.is-active {
  background: #32ABF2;
  color: #FFF;
}

.tab-contents {
    border-top: none;
    padding: 0 2rem;
}
.tab-contents .tab-txt {
    display: block;
    text-align: right;
	font-size:0.9;
	color:#3B4043;
	line-height:1.357;
}
.tab-txt p:first-child {
  padding-right: 4rem;
}
.tab-contents h2{
	font-size:1.42rem;
	color:#32ABF2;
	text-align: left;
	border-bottom: 2px solid #32ABF2;
    padding-bottom: 1rem;
}
.tab-contents .content {
    display: none;
    padding: 8px;
    text-align: left;
}

.content.is-display {
    display: block;
    height: auto;
}

.recruit-dl {
  margin: 0;
  padding: 1.2rem 0;
  display: grid;
  grid-template-columns: 12rem 1fr; /* ラベル幅 */
  gap: 1rem;
  border-bottom: 1px solid #ddd; /* 行の下だけ罫線 */
}
.recruit-dl:last-child { border-bottom: none; }

.recruit-dl dt {
  margin: 0;
  font-weight: 700;
  line-height: 1.6;
}
.recruit-dl dd {
  margin: 0;
  line-height: 1.8;
}
.recruit-dl a{
	text-decoration:underline !important;
	text-underline-offset: 3px;
}
.recruit-dl a:hover{
	color:var(--main-blue);
}
@media screen and (max-width: 1100px){
	.job-description__text {
		font-size: 1rem;
	}
	.job-description {
    	padding: 0 2rem 2rem;
	}
	.ideal-candidate__image-box {
		width: 45%;
	}
}
@media screen and (max-width: 1024px){
	.ideal-candidate__inner,
	.tab-group{
		padding-right: 6%;
	}
	.ideal-candidate__title-box {
    	width: 55%;
	}
	.ideal-candidate__image-box {
        margin: 0;
	}
}
@media screen and (max-width: 991px){
	.job-description .bg-gray {
		padding-right: 0;
	}
	.job-description {
        padding: 0 0 2rem;
	}
	.ideal-candidate {
    	margin-top: 4rem;
	}
	section.recruitment::before {
		background-position: top left;
		left: -50px;
		background-size: contain;
	}
}
@media screen and (max-width: 900px){
	.tab-button {
		padding: 20px 2rem 60px;
	}

}
@media screen and (max-width: 850px){
	.ideal-candidate__image-box {
        position: static;
		transform: none;
        width: 100%;
        max-width: 400px;
	}
	.ideal-candidate__header {
		flex-direction: column;
	}
	.ideal-candidate__image-box img {
    	height: auto;
	}
	.ideal-candidate__header {
    	height: auto;
	}
	.ideal-candidate__title-box {
    	margin-top: 0;
		width: 100%;
        max-width: 400px;
	}
	.tab-group {
    	padding-bottom: 50px;
	}
}
@media (max-width: 769px) {
  .recruit-dl { grid-template-columns: 1fr; }/* SPで縦積み */
  .recruit-dl dt { margin-bottom: 0.25rem; }
}
@media screen and (max-width: 768px){
	.job-description .bg-gray {
        padding-right: 6%;
	}
}
@media screen and (max-width: 767px){
	.job-description .bg-gray > div {
		flex-direction: column;
	}
	.job-description__image-box, .job-description__text-box {
    	max-width: 100%;
	}
	.ideal-candidate {
        margin-top: 30px;
	}
	.ideal-candidate {
    	padding: 60px 2rem;
	}
	section.recruitment {
    	margin-top: 60px;
	}
}
@media screen and (max-width: 700px){
	.ideal-candidate__cards {
    	flex-direction: column;
	}
	.ideal-candidate__card {
    	max-width: 100%;
	}
	.ideal-candidate__lead {
		margin-bottom: 10px;
	}
	.tab-button .tab {
    	font-size: 14px;
		line-height: 1.4;
        text-align: left;
	}
	section.recruitment::before {
        left: -40px;
        top: -70px;
        width: 150px;
	}
}
@media screen and (max-width: 600px){
	.no-recruitment-list{
		padding:0px 0 80px;
		text-align:left;
	}
	section.recruitment::before {
        top: -50px;
	}
    section.recruitment {
        margin-top: 40px;
	}
	.tab-button {
        padding: 20px 2rem 40px;
	}
	.ideal-candidate__inner, .tab-group {
        padding-right: 0;
	}
	.ideal-candidate {
        padding: 40px 2rem;
	}
	.ideal-candidate__title-box .Head01 h2 {
    	margin-bottom: 30px !important;
	}
	.ideal-candidate {
        margin-top: 0;
	}
	.job-description .bg-gray:before{
		display:none;
	}
	.job-description .bg-gray {
        padding-right: 0;
		padding-top: 70px;
	}
	.job-description .bg-gray > div:last-child{
		margin-bottom:0;
	}
	.job-description{
        padding: 0 0 40px;
	}
	.job-description__heading {
    	font-size: 1.3rem;
	}
	.tab-contents h2 {
    	font-size: 1.2rem;
	}
}
@media screen and (max-width:500px){
	.tab-group {
        padding-bottom: 0px;
	}
	.tab-button {
        padding: 0px 2rem 30px;
	}
	.job-description__row {
		gap: 20px;
    	margin-bottom: 40px;
	}
	.page-id-255 .main-section {
        margin-bottom: 0;
	}
}
@media screen and (max-width:450px){
    .no-recruitment-list {
        padding: 0px 0 30px;
	}
}
@media screen and (max-width:415px){
	.job-description{
    	width: 100vw;
        margin: 0 calc(50% - 50vw);
        padding: 0 6% 40px;
	}
	.tab-button {
        padding: 0px 6% 30px;
	}
	section.recruitment::before{
		display:none;
	}
	.tab-button .tab {
        font-size: 13px;
	}
	.tab-contents {
    	padding: 0 6%;
	}
	.tab-button {
    	gap: 5px;
	}
	.recruit-dl {
		gap: 5px;
	}
	.ideal-candidate {
        padding: 40px 6%;
	}
	.ideal-candidate__lead {
    	font-size: 1.2rem;
	}
	.ideal-candidate__header {
		margin-bottom: 30px;
	}
}
@media screen and (max-width:359px){
    .tab-button {
        flex-direction: column;
	}
	.tab-button .tab {
        width: 100%;
	}
}
/*--------------------------製品紹介---------------------------*/
.post-type-archive-product .page-header-title:before, 
.post-type-archive-product h1.page-header-title:before {
	content:"Products";
}
.product{
    margin-bottom: 100px;
}

.sort-btn{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:2.66%;
	margin-bottom: 80px;
	margin-top: 50px;
}
.sort-btn li{
	width:23%;
}
.sort-btn li a{
	background: #F0F3F5;
    color: var(--main-blue);
    text-align: center;
    display: block;
    width: 100%;
    padding: 10px 20px;
}
.sort-btn li a:hover{
	background: var(--main-blue);
    color: #fff;
}
.sort-btn li:first-child a{
	background: var(--main-blue);
    color: #fff;
}
/*タブ切り替え全体のスタイル*/
/*.tabs {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:2.66%;
	margin-top: 150px;
}

.tab_item {
	width:23%;
	background:#F0F3F5;
    color:var(--main-blue);
    text-align: center;
    display: block;
    padding: 10px 20px;
	transition: all 0.2s ease;
}
.tab_item:hover {
	opacity: 0.75;
}
input[name="tab_item"] {
  display: none;
}*/

/*タブ切り替えの中身のスタイル*/
.tab_content {
  padding: 0px 0px 0;
  clear: both;
  overflow: hidden;
}
.tabs input:checked + .tab_item {
	background: var(--main-blue);
    color: #fff;
}

.product-classification{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.product-classification.bg-gray {
    padding-top: 150px;
    margin-top: -60px !important;
}
.product-classification ol{
	padding-left: 1em;
}
.product-classification ol li{
	list-style-type: decimal;
	margin-bottom: 10px;
    line-height: 1.7;
}
.product-classification .linkBtn{margin: 30px 0 50px;}
.product-image03{
	width:50%;
	margin-top:20px;
}
.product-classification > div{
	width:45%;
	position: relative;
}

.post-type-archive-product .site-body{
	padding: 3.5rem 0 150px;
	margin-bottom: 80px;
}
.post-type-archive-product .productList,
.tax-productcat .productList{
	max-width: 1110px;
	margin: 20px auto 0;
	display: flex;
    gap: 5%;
	flex-wrap: wrap;
}
.productList li{
	width: 30%;
	margin-bottom: 50px;
}
.productList li:hover h3.productItemTitle a,
.productList li:hover p a{
	color:var(--main-blue) !important;
}
.productItemThumbnail{
	position:relative;
}
.productItemThumbnail img{
	width: 100%;
    height: 200px;
    object-fit: cover;
	display: block;
	transition: 0.5s ease-out;
	-webkit-transition:0.5s ease-out;
}
.productList-cat{
	background:var(--main-blue);
	color:#fff;
	position:absolute;
	top:0;
	left:0;
	padding: 5px 20px;
}
.productList-cat:hover{
    background: #fff;
	color:var(--main-blue);
}
.productItemTitle{
    font-size: 1.15rem;
    margin: 12px 0 15px;
	position: relative;
	padding-right: 70px;
}
.product-link li .productItemTitle .btn-arrow {
    top: -20px;
  right: 15px;
  bottom: auto;
}

/*.productItemTitle:after {
    content: "";
    display: block;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-image: url(images/arrow.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center;
    position: absolute;
    right: 5px;
    top: -20px;
    bottom: 0;
    margin: auto;
    background-color: var(--main-blue);
}*/
.application{
	font-size:14px;
	position:relative;
	height: 3.5em;
    overflow: hidden;
}
.application:after{
	content:"…";
	display:block;
	background:#fff;
	position:absolute;
	bottom: 6px;
	right:0;
	width:1.3em;
	height:1em;
}
.product-message{
	font-weight:bold;
	text-align:center;
	font-size:1.1rem;
}
.lower-page-link{
	display: flex;
    justify-content: space-between;
    gap: 10%;
    max-width: 600px;
    margin: 50px auto 0px;
}
.lower-page-link li{
	width: 45%;
}
.lower-page-link li a{
	position:relative;
	display:block;
	overflow: hidden;
}
.lower-page-link li a img{
	display: block;
	transition: 0.3s ease-out;
	-webkit-transition:0.3s ease-out;
}
.lower-page-link li a:hover img{
	transition: 0.3s ease-out;
	-webkit-transition:0.3s ease-out;
	transform:scale(1.1);
}
.lower-page-link li a > div{
	position: absolute;
    top: 0;
    left: 0;
    background: rgba(50, 171, 242, 0.8);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	transition: 0.3s ease-out;
	-webkit-transition:0.3s ease-out;
}
.lower-page-link li > a > div > p{
	color: rgba(255, 255, 255, 0.8);
    font-weight: bold;
    font-size: 2.5rem;
	text-align: center;
    line-height: 1;
	letter-spacing: 0.03em;
}
.lower-page-link li > a > div > p > span{
	color: #fff;
    font-weight: bold;
    font-size: 1.1rem;
	display:block;
	margin: 15px 0 30px;
}
.lower-page-link li > a:hover .linkBtn p{
	background:var(--main-blue);
	color:#fff;
	transition: 0.3s ease-out;
	-webkit-transition:0.3s ease-out;
}

.lower-page-link li a:hover > div {
    background: rgba(50, 171, 242, 0.1);
	transition: 0.3s ease-out;
	-webkit-transition:0.3s ease-out;
}

.lower-page-link li > a:hover .linkBtn p .btn-arrow:before {
	animation-name: link-arrow;
	animation-delay: 0s;
}
.lower-page-link li > a:hover .linkBtn p .btn-arrow:after {
	animation-name: link-arrow2;
	animation-delay: 0.2s;
}
.product-h2 br{
	display:none;
}

.cat-linkBtn{
	display:flex;
	gap:4%;
	justify-content: center;
}
.term-medical .medical-btn,
.term-industrial .industrial-btn,
.term-product-other .product-other-btn{
	display:none;
}

/*ページネーション*/
.pagination {
    display: flex;
}
ul.page-numbers li span.page-numbers.current {
    color: #fff;
    background-color: var(--main-blue);
}
ul.page-numbers li:first-child>.page-numbers {
    border-radius: 4px;
    border: none;
}
ul.page-numbers li:last-child>.page-numbers {
    width: 32px;
}
ul.page-numbers li a, ul.page-numbers li span.page-numbers {
    border: none;
    background: #F0F3F5;
    margin: 0 3px;
    border-radius: 4px;
    color: var(--main-blue);
}
.tax-productcat .productItemTitle { padding-right: 60px;}
@media screen and (max-width: 1300px){
	.product {
		margin-bottom: 50px;
	}
	.post-type-archive-product .site-body {
    	padding: 3.5rem 0 70px;
	}
}
@media screen and (max-width: 1200px){
	.product.ContentsBody{
		width:100%;
		margin:auto;
	}
	.product-box-inner{
		width:88%;
		margin:auto;
	}
}
@media screen and (max-width: 1199px) { 
  .productItemTitle {
  padding-right: 60px;
  font-size: 1.1rem;}
  }
@media screen and (max-width: 1100px){
	.post-type-archive-product .site-body {
    	padding: 3.5rem 0 80px;
	}
	.product {
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 991px){
	.product-classification.bg-gray {
    	padding-top: 130px;
    	margin-top: -80px !important;
	}
	.post-type-archive-product .linkBtn {
		padding: 0 0 50px;
	}

	.post-type-archive-product .site-body {
		margin-bottom: 0px;
	}
	.bg-gray.product-classification {
        padding-right: 0;
	}
	.bg-gray.product-classification:before {
    	top: -50px;
	}
	.bg-gray.product-classification > div {
		padding-bottom: 50px;
	}
	.sort-btn {
		margin-bottom: 50px;
    	margin-top: 20px;
	}
	.product {
        margin-bottom: 30px;
	}
	.product-link li .productItemTitle .btn-arrow {
  top: -60px;
  right: 10px;}

  .product-link li .btn-arrow {
  width: 40px;
  height: 40px;}
  .product-link li .btn-arrow::before, .product-link li .btn-arrow::after {
  width: 40px;
  height: 40px;}
	.productItemTitle {
    padding-right: 0px;}
    .post-type-archive-product .lower-page-link .linkBtn {
    padding: 0 0 0px !important;}
	.tax-productcat .productItemTitle { padding-right:0;}
}
@media screen and (max-width: 850px){
	.sort-btn {
		margin-top: 0px;
		margin-bottom: 30px;
	}
}
@media screen and (max-width:768px){
	.cat-linkBtn {
		margin-bottom: 50px;
	}
}
@media screen and (max-width:767px){
	.cat-linkBtn {
		flex-direction:column;
		gap:30px;
	}
	.cat-linkBtn .linkBtn a{
		margin: auto;
		padding-right: 60px;
	}
	.post-type-archive-product .site-body, 
	.tax-productcat .site-body {
    	background: var(--light-green);
    	padding: 2rem 0 0rem;
	}
	.bg-gray > div {
        padding-top: 0px;
	}
	.post-type-archive-product .Head01 h2 {
    	margin-bottom: 10px !important;
	}
	.bg-gray.product-classification {
        flex-direction: column;flex-direction: column-reverse;
	}
	.product-classification > div {
    	width: 100%;
	}
	.product-classification > div.product-image-contents {
    	display:flex;
		gap:4%;
	}
	.product-classification > div.product-image-contents figure {
    	width:48%;
	}
	.product-image03 {
		margin-top: 0px;
	}
	.sort-btn li a {
		padding: 10px 5px;
	}
	.productList li {
    	width: 47%;
	}
	.product {
		margin-bottom: 0px;
	}
	.post-type-archive-product .main-section{
		margin-bottom: 90px !important;
	}
	.product-classification .linkBtn {
  margin: 20px 0 0px;}
}
@media screen and (max-width: 650px){
    .post-type-archive-product .Head01 h2 {
        margin-bottom: 40px !important;
	}
	.post-type-archive-product .tab_content .Head01 h2 {
    margin-bottom: 20px !important; }
}
@media screen and (max-width: 600px){
	.bg-gray.product-classification:before{
		display:none;
	}
	.product-classification figure,
	.product-image03{
		max-width: 400px;
    	margin: auto;margin: 0 auto;margin-top: 0px;
		width: 100%;
	}
	.product-message {
		font-size: 1.05rem;
	}
	.productItemTitle:after {
		right: 10px;
		top: -110px;
	}
	.product-classification.bg-gray {
        padding-top: 80px;
	}
}
@media screen and (max-width: 500px){
	.post-type-archive-product .site-body {
		margin-bottom: 40px;
	}
	.post-type-archive-product .site-body {
    	padding: 2rem 0 2rem;
	}
	.post-type-archive-product .linkBtn {
        padding: 0 0 0px;
	}
	.post-type-archive-product .Head01 h2 {
        font-size: 1.6rem;margin-bottom: 20px !important;
	}
	.product-message {
		text-align:left;
	}
	.product-message br{
		display:none;
	}
	.lower-page-link {
		margin: 30px auto 0px;
	}
	.post-type-archive-product .main-section {
        margin-bottom: 0px !important;
	}
	.post-type-archive-product .site-body {
        margin-bottom: 20px;
	}
	.product-h2 br{
		display:block;
	}
	.post-type-archive-product .Head01.product-h2 h2 {
        font-size: 1.3rem;
	}
	.lower-page-link {
		flex-direction: column;
    	gap: 30px;
    	align-items: center;
	}
	.tax-productcat .linkBtn.strengtn-link-btn a {
        margin: 0px auto 40px;
	}
	.product-classification .linkBtn {
    margin: 20px 0 40px;}
	.lower-page-link li {
  min-width: 220px;}
}
@media screen and (max-width: 450px){
	.bg-gray.product-classification {
        padding-top: 80px;
	}
	.bg-gray.product-classification > div {
        padding-bottom: 30px;
	}
	.sort-btn {
        margin-top: 10px;
	}
	.productItemThumbnail img {
		height: 150px;
	}
	.productItemTitle:after {
		width: 40px;
    	height: 40px;
	}
    .sort-btn li a {
        font-size: 15px;
	}
	.lower-page-link li {
    	min-width: 250px;
	}
	.productItemTitle:after {
        right: 8px;
        top: -100px;
	}
}
@media screen and (max-width: 415px){
	.productList-cat {
		font-size: 14px;
	}
	.sort-btn li {
    	width: 49%;
	}
	.sort-btn {
        gap: 8px 0;
	}
	.application {
    	font-size: 14px;
	}
	.productItemTitle {
		font-size: 1.15rem;
		margin: 7px 0 7px;
	}
	.product-link li .productItemTitle .btn-arrow {
    	top: -55px;
  	}
	
}
@media screen and (max-width: 390px){
	.productList li {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 360px){
	.post-type-archive-product .Head01 h2 {
        margin-bottom: 0px;
	}
	.product-message {
        font-size: 1rem;
	}
}

@media screen and (max-width: 320px){
	.productItemTitle:after {
        width: 35px;
        height: 35px;
	}
	.productItemTitle:after {
        top: -95px;
	}
}
/*商品詳細*/
/*.single-product .Head03 p{
	margin-bottom: 20px;
}*/
.single-productItemTitle{
	margin: 40px 0 30px;
}

.single-product .page-header-title:before, 
.single-product h1.page-header-title:before,
.tax-productcat .page-header-title:before, 
.tax-productcat h1.page-header-title:before{
	content:"Products";
}

.product-page{
	background: #eee;
    padding: 20px 20px 20px 50px;
	position: relative;
}
.product-page .product-outline{
	max-height: 1.5em; /* 約3行分の高さに制限 */
	overflow: hidden;
	transition: max-height 0.4s ease;
	position: relative;
}
.product-page .product-outline.expanded {
	max-height: 1000px; /* 展開時は十分大きな高さに */
}
.product-page .product-outline:after{
	content:"…";
	display:block;
	width:30px;
	height:30px;
	background:#eee;
	position:absolute;
	top:0;
	right:0;    
	text-align: center;
}
.product-page .product-outline.expanded:after{
	display:none;
}

.read-more {
  /*margin-top: 10px;
  padding: 6px 12px;
  background: linear-gradient(84deg, #41C697 0%, #144B37 100%) 0% 0% no-repeat padding-box;
  color: white;
  border-radius: 4px;
	width:100px;*/
  border: none;
  cursor: pointer;
	text-align:center;width:100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    margin: auto;
    left: 0;background: transparent;
    text-align: left;padding-left: 20px;
}

/*slick*/
.slider6-wrap {
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.slider-6 .slick-slide {
    height: auto;
    overflow: hidden;
}
.slider-6 .slick-slide img {
    width: 100%;
    height: 43vh;height: auto !important;
    display: block;
    object-fit: contain;
	object-position: center;
}
.thumbs_dots {
	max-width: 400px;
    margin: 0 auto;
}
.thumbs_list li {
    display: inline-block;
    width: 31%;
    height: 120px;
    opacity: 0.4;
    cursor: pointer;
    transition: opacity 0.3s;
	object-fit: cover;
    object-position: center;
	margin-right: 3.5%;
	background-position:center !important;
}
.thumbs_list li:last-child {
	margin-right: 0%;
}
.thumbs_list li.slick-active {
    opacity: 1;
}
.ProductContents {
    margin-bottom: 100px;
	gap : 70px;
}
.ProductInnerContents {
    width: 45%;
}
.ProductTxt h2{
	font-size:1.3rem;
	margin-bottom: 15px;
	margin-top: 30px;
}

.ProductTxt {
    width: 55%;
}
.ProductTxt h1.single-productItemTitle {
	color:var(--main-text);
    border-bottom: 2px solid var(--main-blue);
    padding-bottom: 10px;
	margin-bottom: 20px;
	font-size:1.7rem;
	line-height:1.5;
	margin-top:0;
}
.product-type{
	background:var(--main-blue);
	color:#fff;
	display: inline-block;
    padding: 5px 20px;
}
.ProductTxt ul{
    margin-bottom: 60px;
}
.ProductTxt ul li {
    list-style-position: inside;
    list-style: none;
    margin-bottom: 10px;
    position: relative;
    padding-left: 30px;
}
.ProductTxt ul li::before {
	content: '\f0da';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    padding:3px 8px;
    color: var(--main-text);
    font-size: 20px;
    position: absolute;
    left: 0px;
}

.LinkBack .linkBtn a{
	margin: auto;
	margin-bottom: 100px;
}
.nav-links{
	display: flex;
    justify-content: space-between;
    margin: 80px auto;
	align-items: center;
}
.nav-links:has(div:first-child.nav-next){
	justify-content:flex-end;
}
.ProductTxt-contents .linkBtn a{
	margin-top:20px;
}
@media screen and (max-width: 1100px) {
.slider-6 .slick-slide img {
  height: 45vh;
  object-fit: cover;}
  }
@media screen and (max-width: 991px) {
	.ProductContents {
		flex-direction: column;
		gap: 0;
	}
	.ProductTxt {
		width: 100%;
		display: contents;
	}
	
	.ProductTxt h1.single-productItemTitle {
		order: 1;
	}
	.product-type{
		order: 2;
	}
	.ProductInnerContents {
		width: 100%;
		max-width: 500px;
		margin: 50px auto 20px;
		order: 3;
	}
	.ProductTxt-contents{
		order: 4;
	}
	.ProductTxt-contents .linkBtn a{
		margin:auto;
	}
	.product-type {
		width: auto !important;
		max-width: 150px;
		text-align: center;
	}
	.slider-6 .slick-slide img {
		height: 50vh;
  		object-fit: cover;
	}
}
@media screen and (max-width: 500px) {
	.LinkBack .linkBtn a {
		margin-bottom: 60px;
	}
	.slider-6 .slick-slide img {
		height: 50vh;
		object-fit: cover;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 450px) {
	.slider-6 .slick-slide img {
		/*height: 30vh;*/
	}
	.slick-dotted.slick-slider {
    	margin-bottom: 20px;
	}
}
@media screen and (max-width: 415px) {
	.slider-6 .slick-slide img {
		/*height: 28vh;*/
	}
	.thumbs_list li {
		height: 110px;
	}
	.ProductInnerContents {
    	margin: 30px auto 0px;
	}
}
@media screen and (max-width: 375px) {
	.nav-links {
		margin: 50px auto;
		align-items: center;
		gap: 20px;
	}
	.slider-6 .slick-slide img {
		height: 35vh;
	}
	.thumbs_list li {
		height: 100px;
	}
}
@media screen and (max-width: 320px) {
	.slider-6 .slick-slide img {
		/*height: 20vh;*/
	}
	.thumbs_list li {
		height: 80px;
	}
	.slick-dotted.slick-slider {
    	margin-bottom: 10px;
	}
}
/*--------------------------個人情報保護方針---------------------------*/
.privacy-policy h2{
	margin-bottom:20px;
}
.privacy-policy p+h3{
	font-size: 1.2rem;
	margin-top: 30px;
	margin-bottom:10px;
}
.privacy-policy .site-body-bottom{
	display:none;
}
@media screen and (max-width: 767px) {
	.privacy-policy h2{
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 450px) {
	.privacy-policy h2{
		font-size: 1.5rem;
	}
}
/*--------------------------個人情報保護方針---------------------------*/


/*--------------------------お問い合わせ---------------------------*/
.page-id-8 .page-header-title:before, 
.page-id-8 h1.page-header-title:before {
	content: "Contact";
}

.contact-form-bg{
	background:#F6F7F8;
	padding: 60px 0;
}
.contact-top {
	padding: 60px 20px 40px;
	max-width: 100%;
	margin: 0 auto;
}
#wpcf7-f26-p8-o1{
	background: #fff;
    max-width: 900px;
    margin: auto;
    padding: 30px 80px;
	width: 88%;
}
.contact-quality {
  text-align: center;
  font-size: 1rem;
  line-height: 1.81rem;
  margin-bottom: 4.6rem;
	font-weight:bold;
}

.contact-urgent {
	max-width:42.3rem;
	width:100%;
  background-color: #F0F3F5;
  text-align: center;
  padding: 2.25rem 2rem;
  margin-bottom: 60px;
	margin:0 auto;
}

.contact-urgent-title {
  font-weight: bold;
	line-height:2.6rem;
  font-size: 1.5rem;
	margin-bottom: 1.1rem;
}

.contact-urgent-subtext {
	font-size: 1.125rem;
	margin-bottom: 2rem;
}

.contact-phone {
	font-size: clamp(1.25rem, 0.151rem + 4.687vw, 4.37rem);
	font-weight: bold;
	line-height: 1.4rem;
	color: #333;
	margin-bottom: 2rem;
}

.phone-icon {
	margin-right: 5px;
    font-size: 36px;
	vertical-align: middle;
	filter: grayscale(100%) brightness(0);
}

.contact-hours {
	font-size: 13px;
	color: #555;
}

.contact-form-header {
	text-align: center;
	margin-top: 7rem;
}

.contact-form-title {
  font-size:3.75rem;
  color: #DBDBDB;
  font-weight: bold;
}

.contact-form-subtitle {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 20px;
  color: #3B4043;
}

.contact-form-description {
  font-size: 1rem;
  line-height: 1.81rem;
  color: #3B4043;
}

#contact-form.FormContents {
  max-width: 54.37rem;
	width:100%;
  margin: 0 auto;
  font-family: "Helvetica Neue", sans-serif;
  color: #333;
}

#company-name.wpcf7-form-control {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 0px;
  font-size: 14px;
  box-sizing: border-box;
	font-size: 16px;
}

#your-name.wpcf7-form-control {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #CDD6DD;
  border-radius: 0px;
  font-size: 14px;
  box-sizing: border-box;
}
.contact-form-heading{margin-top:30px;}

#your-tel.wpcf7-form-control {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 0px;
  font-size: 14px;
  box-sizing: border-box;
}

#your-email.wpcf7-form-control,
#your-email-confirm.wpcf7-form-control {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 0px;
  font-size: 1rem;
  box-sizing: border-box;
}

#your-message.wpcf7-form-control {
  width: 100%;
  height: 120px;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 0px;
  font-size: 1rem;
  box-sizing: border-box;
  resize: vertical;
}

#contact-type.wpcf7-form-control {
	margin-bottom:10px;
	display: block;
}

#privacy-consent.wpcf7-acceptance {
	margin-top: 10px;
}

#label-company-name.required,
#label-your-name.required,
#label-your-email.required,
#label-your-email-confirm.required,
#label-contact-type.required,
#label-your-message.required,
#label-privacy-consent.required {
  color: #f65;
  font-size: 12px;
  margin-left: 5px;
}



#submit-button.wpcf7-submit {
    color: #fff;
    border: none;]
	width:15.5rem;
	height:4.6rem;
    padding: 1rem 3.56rem 1rem 2.43rem ;
    font-size: 1.5rem;
	line-height:2.1rem;
    border-radius: 2.14rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 2.125rem;
    position: relative;
	max-width: unset;
    z-index: 0; 
    background: #FFCF31;
	background: linear-gradient(130deg,rgba(255, 207, 49, 1) 5%, rgba(255, 140, 90, 1) 100%);
    padding-right: 4.28rem; 
}



#submit-button {
  position: relative;
  padding-right: 2.5em;
}

.cobtn-submit {
    position: relative;
    max-width: 21.5rem;
    width: 100%;
	margin:0 auto;
}
.cobtn-submit .btn-arrow {
    top: 17px;
    right: 20px;
    bottom: auto;
    background-color: #fff;
}
.cobtn-submit .btn-arrow:before,
.cobtn-submit .btn-arrow:after {
    background-image: url(images/arrow-orange.svg);
}



#submit-button.wpcf7-submit:hover {
    background: #ffb249;
}

#privacy-consent.wpcf7-acceptance + span {
  display: inline-block;
  margin-right: 10px;
  font-weight: bold;
}
#privacy-consent.wpcf7-acceptance {
  display: inline-block;
  margin-right: 6px;
  vertical-align: middle;
}
#privacy-section.privacy-section {
  margin-top: 20px;
  padding: 10px 0;
  font-size: 14px;
  line-height: 1.6;
}

#privacy-section.privacy-section .privacy-title {
  margin-bottom: 8px;
  font-weight: bold;
}

#privacy-section.privacy-section .privacy-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

#privacy-consent.wpcf7-acceptance {
  margin: 0;
}
#privacy-section.privacy-consent-row {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    justify-content: flex-start;
}
.wpcf7-list-item+.wpcf7-list-item{
	margin-top:0.56rem;
}
.label-privacy-consent {
  font-weight: bold;
  margin-bottom: 6px;
}

#contact-form .privacy-description >p {
	font-weight:400;
}
#contact-form .privacy-description a {
	text-decoration:underline !important;
}
#contact-form .privacy-description a:hover {
	color:#FF8531;
}
#contact-form .label-privacy-consent {
    font-size: 1.05rem;
}
#privacy-consent.wpcf7-acceptance {
	margin: 0;
	display: inline-block;
	vertical-align: middle;
}

.privacy-label {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-weight: 400;
}

.label-privacy-consent .required {
  background-color: #f26522;
  color: white;
  font-size: 10px;
  padding: 2px 6px;
  margin-left: 5px;
  border-radius: 3px;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 8px;
}
input[type="text"].wpcf7-form-control:hover,
input[type="email"].wpcf7-form-control:hover,
input[type="tel"].wpcf7-form-control:hover,
textarea.wpcf7-form-control:hover {
  border-color: #007BFF !important;
  transition: border-color 0.3s ease;
}

input[type="text"].wpcf7-form-control:focus,
input[type="email"].wpcf7-form-control:focus,
input[type="tel"].wpcf7-form-control:focus,
textarea.wpcf7-form-control:focus {
  border-color: #007BFF !important;
  box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.2);
  outline: none;
}
#contact-form .required {
    background: #FF8531;
    color: #fff;
    font-size: 12px;
    font-weight: normal;
    margin-left: 20px;
    padding: 1px 10px 2px;
    border-radius: 4px;
}
#contact-form > p {
    margin-top: 0px;
}
input[type="checkbox"] + span.wpcf7-list-item-label:before {
    border: 1px solid #aaaaaa;
    background-color: #ffffff;
    height: 25px;
    width: 25px;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 0;
}
.contact-form-header h2 br{
	display:none;
}
@media screen and (max-width: 1024px){
	.contact-quality .sp-br{
		display:block;
	}
	.contact-top {
    	padding: 0px 20px 40px;
	}
	#wpcf7-f26-p8-o1{
    	padding: 30px 6%;
	}
}
@media screen and (max-width: 991px){
	.phone-icon {
		font-size: 22px;
	}
	.contact-quality {
    	margin-bottom: 40px;
	}
	.contact-form-header {
		margin-top: 60px;
	}
	.contact-form-description {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 0 6%;
	}
}
@media screen and (max-width: 600px){
    .contact-form-description {
        text-align: left;
	}
	.contact-info{
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding: 0 6%;
	}
	.contact-quality {
        text-align: left;
	}
	.contact-quality .sp-br{
		display:none;
	}
	.contact-phone {
    	font-size: 3em;
	}
}
@media screen and (max-width: 500px){
	.br-500{
		display:block;
	}
    #wpcf7-f26-p8-o1 {
        padding: 10px 6%;
	}
	
}
@media screen and (max-width: 415px){
	.contact-phone {
        font-size: 2.3em;
		margin-bottom: 15px;
    }
	.phone-icon {
        font-size: 18px;
	}
	.privacy-description br{
		display:none;
	}
}
@media screen and (max-width: 390px){
	.privacy-label {
		flex-direction: column;
		align-items: flex-start;
	}
	.privacy-label .wpcf7-list-item {
		margin: 0;
	}
}
@media screen and (max-width: 360px){
	.contact-form-bg {
		padding: 40px 0;
	}
	.contact-form-header {
        margin-top: 40px;
	}
}
@media screen and (max-width: 359px){
	.contact-urgent-subtext {
		font-size: 1rem;
		text-align: left;
	}
	.contact-urgent-subtext .br-500{
		display:none;
	}
	.contact-phone {
        font-size: 2em;
	}
	.phone-icon {
        font-size: 16px;
	}

}
@media screen and (max-width: 319px){
	.contact-phone {
        font-size: 1.8em;
	}
	.contact-form-header h2 br{
		display:block;
	}
}
.FormContents p:not(.acceptance p):not(.text-submit){
	font-weight:bold;
	margin-bottom: 10px;
    font-size: 1.05rem;
}
.FormContents input[type=email], 
.FormContents input[type=tel], 
.FormContents input[type=text], 
.FormContents textarea {
    margin: 0 0 0px;
	border: 1px solid var(--sub-green);
	line-height: 1.5;
}
.FormContents > p{
	margin-top:30px !important;
}


/* プレースホルダー色 */
input[type=email]::placeholder, 
input[type=tel]::placeholder,
input[type=text]::placeholder,
textarea::placeholder{
	color:#CDD6DD;
	font-size:14px;
	line-height:1.5;
}
/* プレースホルダー色　Microsoft Edge */
input[type=email]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
input[type=text]::-ms-input-placeholder,
textarea::-ms-input-placeholder{
	color: #cdd6dd;
	font-size:14px;
	line-height:1.5;
}
/* ラジオボタン */
input[type="radio"] {
	opacity: 0;
	visibility: hidden;
	position: absolute;
}
span.wpcf7-list-item-label {
	position: relative;
	display: flex;
	align-items: center;
	cursor: pointer;
}
span.wpcf7-list-item-label::before {
	display: block;
	content: "";
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	border: 1px solid #cdd6dd;
}
span.wpcf7-list-item-label::after {
	display: block;
	position: absolute;
	content: "";
	border-radius: 50%;
	width: 12px;
	height: 12px;
	background-color: var(--sub-green);
	left: 4px;
	top: 50%;
	transform: translateY(-50%);
	display: none;
}
input[type="radio"]:checked + span.wpcf7-list-item-label::after {
	display: block;
}

/*チェックボックス*/
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + span {
	padding-left: 36px;
	display: inline-block;
	position: relative;
}
input[type="checkbox"] + span:after,
input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
}
input[type="checkbox"] + span:before {
	border: 1px solid #aaaaaa;
	background-color: #ffffff;
	height: 25px;
    width: 25px;
    left: -5px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 0;
}
input[type="checkbox"] + span::after {
	border: none;
	background:url(images/check.png);
	background-repeat: no-repeat;
	background-size:contain;
	height: 1.3rem;
    width: 1.3rem;
    left: 1px;
	top: 50%;
	transform: translateY(-50%);
	display: none;
}
input[type="checkbox"]:checked + span::after {
	display: block;
}

.required{
	background:#FF4343;
	color:#fff;
	font-size: 13px;
    font-weight: normal;
    margin-left: 10px;
    padding: 1px 10px;
    border-radius: 5px;
}
.wpcf7-radio{
	/*margin-bottom: 50px;*/
    display: block;
}
.wpcf7-list-item:not(.acceptance-pp .wpcf7-list-item) {
    display: block;
	font-weight: normal;
}
.acceptance{
	display:flex;
	margin: 20px 0 0px;
}
.acceptance p a{
	font-weight:bold;
	text-decoration:underline !important;
	text-underline-offset: 5px;
}
.acceptance p a:hover{
	color:var(--sub-green);
}
.acceptance-pp{
	margin-left: 50px;
}
.text-submit{
	margin-top:80px;
	text-align:center;
}
input[type=submit] {
    border: none;
	background: linear-gradient(180deg, #1FAF81 0%, #14825F 27%, #064632 100%) 0% 0% no-repeat padding-box;
	width: 100%;
    max-width: 270px;
    margin:30px auto 0;
    border-radius: 36px;
    padding: 12px 10px;
    display: block;
    font-weight: bold;
}



@media screen and (max-width: 767px){
	.Contactform > div > p:first-child {
		text-align: left;
	}
}
@media screen and (max-width: 600px){
	.Contactform {
		margin: 0px auto;
	}
}
@media screen and (max-width: 500px){
	.FormContents input[type=email], 
	.FormContents input[type=tel], 
	.FormContents input[type=text], 
	.FormContents textarea {
    	margin: 0 0 0px;
	}
	.FormContents {
    	margin-top: 30px;
	}
	.phone-number a {
    	font-size: 2.5rem;
	}
	.phone-number a:before {
		width: 26px;
    	height: 26px;
    	margin-right: 10px;
	}
	.text-submit {
		margin-top: 60px;
		text-align: left;
	}
	.contact-tel-contents p:first-child br,
	.contact-tel-contents p:last-child br{
		display:block;
	}
}
@media screen and (max-width: 415px){
	.acceptance {
		flex-direction: column;
	}
	.acceptance-pp {
		margin-left: -10px;
		margin-top: 10px;
	}
	.page-id-19 .site-body {
    	padding: 2rem 0 0rem;
	}
}
@media screen and (max-width: 350px){
	.phone-number a {
        font-size: 2.2rem;
	}
	.phone-number a:before {
        width: 20px;
        height: 20px;
        margin-right: 7px;
	}
}
@media screen and (max-width: 319px){
    .phone-number a {
        font-size: 2rem;
	}
}
/*--------------------------お問い合わせ---------------------------*/


/*--------------------------お知らせ（念のため）---------------------------*/
.single:not(.product-template-default) .page-header {
    min-height: 300px;
}
.single .page-header-title, 
.single h1.page-header-title {
    height: auto;
}
.single .author{
	display:none;
}

/*強み　詳細ページ*/
.single .solution-card__subtitle{
	margin:40px 0;
}
.single .solution-card__subtitle_img{
	max-width:400px;
	margin-bottom: 50px;
}
.single .solution-card{
    max-width: 700px;
    margin: auto;
}
.single-strength .LinkBack .linkBtn a{
	margin-left:0;
}
.single-strength .LinkBack .linkBtn{
	max-width: 700px;
    margin: auto;
}
/*事例　詳細ページ*/
.strengtn__case_single-text{
	margin-bottom: 40px;
}
.single .strengtn__case{
	margin-bottom: 40px;
}