@charset "utf-8";
300;400;500;700;900&display=swap');

.aligncenter {
    display: block;
    margin: 0 auto;
}


img[class*="wp-image-"], img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}
.wp-block-image figure, .wp-block-image figcaption {
    display: block;
}


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, font, 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, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
    font-size: 62.5%;
}
@media all and (max-width: 374px) {
	html {
		font-size: calc(1000vw / 375);
	}
}
body, table, input, textarea, select, option {
    font-family: "Noto Sans JP", serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
    outline: 0;
}
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}
img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a, a:link {
    color: #333;
    text-decoration: none;
	transition: .3s;
}
a:visited {
    color: #333;
}
a:hover {
    color: #333;
}
a:active {
    color: #333;
}
.en {
	font-family:"futura-pt",sans-serif;
}
.superscript {
	vertical-align: super;
	font-size: smaller;  
}

.bracket-wrap::before {
  content: "（";
  margin-left: -0.25em;
}
.bracket-wrap::after {
  content: "）";
  margin-right: -0.25em;
}


body {
    color: #333;
    font-size: clamp(14px, 1.6rem, 1.7rem);
    line-height: 1.5;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    background-color: #FFF;
}

#container {
    text-align: left;
    overflow: hidden;
}
#main {
    padding: 0 0 23.5rem;
}
a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}
@media all and (min-width: 897px) {
    .sp {
        display: none !important;
    }
}
@media all and (min-width: 897px) and (max-width: 1550px) {
	html {
		font-size: calc(1000vw / 1550);
	}
}
@media all and (max-width: 896px) {
    body {
        min-width: inherit;
        font-size: clamp(10px,1.2rem,1.3rem);
    }
    #main {
		padding: 0 0 10rem;
    }
    a:hover, a:hover img {
        opacity: 1 !important;
    }
    .pc {
        display: none !important;
    }
    a[href^="tel:"] {
        cursor: pointer;
        pointer-events: auto;
    }
}

#gHeader {
    position: fixed;
    top: 3.2rem;
    left: 6rem;
    width: calc(100% - 12rem);
    z-index: 999;
}
#gHeader .hBox {
	display: flex;
    align-items: center;
    padding: 0 2.3rem 0 4.7rem;
	border-radius: 2rem;
	border: 0.2rem solid #FFF;
	background: rgba(255, 255, 255, 0.60);
	box-shadow: 3rem 3rem 3rem 0 rgba(0, 0, 0, 0.10);
	backdrop-filter: blur(0.5rem);
	-webkit-backdrop-filter: blur(0.5rem);
	flex-wrap: nowrap;
}
#gHeader .hBox h1 {
    display: flex;          
  align-items: center;
  justify-content: center;
  width: clamp(160px, 22.7rem, 22.7rem);         
  margin: 0;              
  line-height: 1;
}
#gNavi {
    display: block;
}
#gNavi > ul > li {
    padding: 0 2.75rem;
	position: relative;
}
#gNavi li a {
	height: 7.6rem;
	min-height: 50px;
	display: flex;
	align-items: center;
    position: relative;
    color: #1F1F1F;
    font-size: clamp(15px, 1.6rem, 1.6rem);
	font-weight: 500;
    letter-spacing: 0.1em;
}
#gNavi .liStyle > a .after {
	margin: 1rem 0 0 1.2rem;
	display: inline-block;
	width: 0;
	height: 0;
	border: 0.8rem solid transparent;
	border-left-width: 0.5rem;
	border-right-width: 0.5rem;
	border-top-color: #007AFC;
	content: "";
}
#gNavi li .dropMenu {
	display: none;
	padding: 0 2.4rem;
    position: absolute;
    left: 0;
    top: 100%;
	border-radius: 2rem;
	border: 0.2rem solid #FFF;
	background: rgba(255, 255, 255, 0.60);
	box-shadow: 3rem 3rem 3rem 0rem rgba(0, 0, 0, 0.10);
	backdrop-filter: blur(0.5rem);
	-webkit-backdrop-filter: blur(0.5rem);
}
#gNavi li .dropMenu01 {
	left: auto;
	right: 0;
}
#gNavi .dropMenu ul {
	display: flex;
	gap: 4.5rem;
}
#gNavi .dropMenu li {
	padding: 0;
}
#gNavi .dropMenu a {
	padding: 0 2rem;
	position: relative;
	white-space: nowrap;
}
#gNavi .dropMenu a span {
	position: relative;
}
#gNavi .dropMenu a span::after {
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: -0.7rem;
	left: 0;
	background: #007AFC;
	content: "";
	opacity: 0;
	transition: .3s;
}
#gNavi .dropMenu a span span::after { content: none; }

@media all and (min-width: 897px) {
	#gNavi li.current > a,
	#gNavi li a:hover {
		color: #007AFC;
	}
	#gNavi .dropMenu a:hover span::after {
		opacity: 1;
	}
	#gNavi {
		display: block !important;
	}
	#gNavi .logo {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
    #gHeader {
        transition: all ease .3s;
		top: 0;
		left: 0;
		width: 100%;
    }
    #gHeader .hBox {
        padding: 0.8rem 2rem 0.8rem;
		border-radius: 0;
		border-width: 0px;
		box-sizing: border-box;
		min-height: 4.6rem;
        box-shadow:0rem 0rem 2rem 0 rgba(0, 0, 0, 0.12);
    }
    #gHeader .hBox h1 {
        width: 13.7rem;
        position: relative;
        z-index: 20;
    }
	#gNavi {
		position: fixed;
		display: none;
		top: -1px;
		left: -1px;
		width: calc(100% + 2px);
		height: calc(100svh + 1px);
		z-index: 88;
		overflow: auto;
		background-color: #353535;
		border: none;
	}
	#gNavi .logo {
		width: clamp(100px,13.7rem,16rem);
		position: absolute;
		margin:2.0rem 2.1rem 0.5rem;
	}
    #gNavi > ul {
        padding: 84px 42px;
        display: block;
    }
	#gNavi > ul > li {
		padding: 0;
	}
	#gNavi li a {
		height: inherit;
		font-size: clamp(13px,1.7rem,1.8rem);
		color: #FFF;
		letter-spacing: 0.05em;
	}
	#gNavi li .dropMenu {
		margin: 0;
		padding: 1.1rem 0 0.4rem 1.2rem;
		position: static;
		display: block;
		background: none;
		border: none;
		box-shadow: none;
	}
	#gNavi .dropMenu ul {
		flex-wrap: wrap;
		gap: 0rem;
	}
	#gNavi .dropMenu ul li {
		min-width: 0;
		width: 100%;
	}
	#gNavi .dropMenu a {
		padding: 0 2rem;
		display: inline-block;
		vertical-align: top;
		position: relative;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#gNavi .dropMenu a::after {
		width: 0.5rem;
		height: 0.5rem;
		border: 1px solid;
		border-color: #fff #fff transparent transparent;
		transform: rotate(45deg);
		content: "";
		position: absolute;
		top: 0.7rem;
		left: 0.2rem;
	}
    #gHeader .menu-trigger {
		display: block;
		position: absolute;
		right: 1.7rem;
		top: 1.9rem;
		width: 3rem;
		height: 0.9rem;
		transition: all .4s;
		z-index: 99;
		cursor: pointer;
	}
    #gHeader .menu-trigger span {
        display: inline-block;
        position: absolute;
        left: 0;
        width: 100%;
        height: 0.1rem;
        background-color: #000;
        transition: all .4s;
    }
    #gHeader .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    #gHeader .menu-trigger span:nth-of-type(2) {
        bottom: 0;
    }
    #gHeader .menu-trigger.active span:nth-of-type(1) {
        transform: translateY(0.4rem) rotate(-45deg);
    }
    #gHeader .menu-trigger.active span:nth-of-type(2) {
        transform: translateY(-0.4rem) rotate(45deg);
    }
	#gHeader .menu-trigger.active span {
		background-color: #fff;
	}
}

#gFooter {
    padding: 6.4rem 2rem 0;
	position: relative;
	background-color: #1F1F1F;
}
#gFooter .fBox {
    margin: 0 auto;
    max-width: 143.6rem;
}
#gFooter .fLogo {
    margin: 0 auto 4.3rem;
    width: clamp(180px,19.4rem,20rem);
}
#gFooter .fNavi {
    margin-bottom: 5rem;
	display: flex;
	gap: 2rem;
}
#gFooter .fNavi > li {
	border-radius: 0.6rem;
    padding: 2.5rem 3rem 4.7rem;
	width: calc((100% - 10rem)/6);
	background: #1F1F1F;
	box-shadow: 0.4rem 0.4rem 0.8rem 0rem rgba(0, 0, 0, 0.50), -0.3rem -0.3rem 0.6rem 0rem rgba(255, 255, 255, 0.10);
}
#gFooter .fNavi a {
    color: #FFF;
	font-size: clamp(15px,1.6rem,1.7rem);
	letter-spacing: 0.16rem;
}
#gFooter .fNavi a .en {
	margin-top: 0.4rem;
	display: block;
    color: #8A8A8A;
	font-size: clamp(11px,1.3rem,1.4rem);
	letter-spacing: 0.26rem;
}
#gFooter .fNavi a:hover {
    opacity: 0.7;
}
#gFooter .fNavi .subNavi {
	padding-top: 1.4rem;
}
#gFooter .fNavi .subNavi li {
	margin-top: 1.6rem;
}
#gFooter .fNavi .subNavi a {
	font-size: clamp(12px,1.4rem,1.5rem);
	letter-spacing: 0;
}
#gFooter .fNavi .subNavi.flex {
	display: flex;
}
#gFooter .fNavi .subNavi.flex li {
	width: 41%;
	min-width: 8rem;
}
#gFooter .sns-btn {
    margin: 4.3rem 0 3.5rem;
    justify-content: center;
    display: flex;
	gap: 1.5rem;
}
#gFooter .sns-btn li {
	width: clamp(32px,3.6rem,3.8rem);
}
#gFooter .sns-btn a:hover {
	opacity: 0.7;
}
#gFooter .linkUl {
    margin-bottom: 4.9rem;
    text-align: center;
	display: flex;
	justify-content: center;
	gap: 6rem;
}
#gFooter .linkUl a {
    display: inline-block;
    color: #FFF;
	font-size: clamp(12px,1.3rem,1.4rem);
}
#gFooter .linkUl a:hover {
    text-decoration: underline;
}
#gFooter address {
	padding: 1.6rem 2rem 2.1rem;
    font-style: normal;
    text-align: center;
	color: #8A8A8A;
	font-size: 12px;
	font-weight: 400;
	font-family:"futura-pt",sans-serif;
	letter-spacing: 0.08rem;
	border-top: 0.1rem solid #323232;
}
@media all and (max-width: 896px) {
    #gFooter {
        padding: 5.7rem 0 0;
    }
    #gFooter .fBox {
        width: auto;
    }
    #gFooter .fLogo {
        margin: 0 auto 1.5rem;
        width: 16rem;
    }
    #gFooter .linkUl {
        margin-bottom: 4.2rem;
		flex-direction: column;
		gap: 0.7rem;
    }
    #gFooter .fNavi li a:hover {
        opacity: 1;
    }
    #gFooter .linkUl a:hover {
        text-decoration: none;
    }
}


.flex, .flexA, .flexB, .flexC {display: flex;flex-wrap: wrap;}

.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
.tk-futura-pt{font-family:"futura-pt",sans-serif;}
.tk-hiragino-kaku-gothic-pron{font-family:"hiragino-kaku-gothic-pron",sans-serif;}

.content {
	padding: 0 2rem;
    margin: 0 auto;
    max-width: 110.5rem;
}
.content.large {
	max-width: 144.2rem;
}
@media all and (max-width: 896px) {
    .content {
        padding: 0 3rem;
        width: auto;
    }
}

.headLine01 {
    margin-bottom: 6.5rem;
    font-size: clamp(18px, 2rem, 2.1rem);
}
@media all and (max-width: 896px) {
    .headLine01 {
        margin-bottom: 3.5rem;
        font-size: clamp(18px, 2rem, 2.1rem);
    }
}

.headLine02 {
    margin-bottom: 0.5rem;;
}

.headLine03 {
    margin-bottom: 18.2rem;
    color: #2F2F2F;
    font-size: clamp(36px, 4rem, 4.2rem);
    text-align: center;
    letter-spacing: 0.2em;
}
@media all and (max-width: 896px) {
    .headLine03 {
        margin-bottom: 5.2rem;
        font-size: clamp(15px,1.6rem,1.7rem);
    }
}

.headLine04 {
    margin-bottom: 13.7rem;
 	font-size: clamp(30px, 3.2rem, 3.4rem);
    letter-spacing: 0.13em;
}
@media all and (max-width: 896px) {
    .headLine04 {
        margin-bottom: 3rem;
        font-size: clamp(13px,1.4rem,1.5rem);
        letter-spacing: 0.13em;
        text-align: center;
		display: none;
    }
}


.keyVisual {
	margin-bottom: 6rem;
	padding: 11.8rem 2rem 1rem;
	min-height: 45.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #D9D9D9;
}

.keyVisual .keyTtl {
	color: #1F1F1F;
	font-size: clamp(30px, 3.2rem, 3.4rem);
	font-weight: 500;
	letter-spacing: 0.16rem;
	text-align: center;
}
.keyVisual .keyTtl .en {
	margin-top: 2.6rem;
	display: block;
	font-family:"futura-pt",sans-serif;
	color: #8A8A8A;
	font-size: clamp(22px, 2.4rem, 2.5rem);
	font-weight: 300;
	letter-spacing: 0.23rem;
}
.keyVisual .keyTtlBox {
	padding: 2rem 0;
	margin: 0 auto;
	min-height: 46.8rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 90%;
	max-width: 140.8rem;
}
.keyVisual .keyTtlBox .keyTtl {
	margin: 0;
	width: auto;
	color: #FFF;
	text-align: left;
}
.keyVisual .keyTtlBox .keyTtl .jp {
	letter-spacing: 0.1rem;
}
.keyVisual .keyTtlBox .keyTtl .en {
	margin-top: 1.5rem;
	font-size: clamp(36px, 4rem, 4.4rem);
	letter-spacing: 0.4rem;
}
.keyVisual .keyTtlBox p {
	margin: -1.2rem 1.8rem 0 0;
	color: #FFF;
	text-align: right;
	font-size: clamp(22px,2.4rem,2.6rem);
	letter-spacing: 0.48rem;
}
@media all and (max-width: 896px) {
	.keyVisual {
		padding: 4.6rem 2rem 1rem;
		min-height: 24.3rem;
	}
	.keyVisual .keyTtl {
		font-size: clamp(20px, 2.2rem, 2.3rem);
		letter-spacing: 0;
	}
	.keyVisual .keyTtl .en {
		margin-top: 0.5rem !important;
		font-size: clamp(17px, 2rem, 2.2rem) !important;
	}
	.keyVisual .keyTtlBox {
		padding: 0 0.5rem 2.2rem !important;
		width: 100%;
		min-height: 18.1rem;
		flex-direction: column;
		justify-content: center;
	}
	.keyVisual .keyTtlBox .keyTtl {
		width: 100%;
		font-size: clamp(14px,1.6rem,1.8rem);
	}
	.keyVisual .keyTtlBox .keyTtl .en {
		font-size: clamp(11px,1.2rem,1.3rem) !important;
		letter-spacing: 0.1em;
	}
	.keyVisual .keyTtlBox p {
		width: 100%;
		margin: 2rem 0 0 0;
		font-size: clamp(13px, 1.4rem, 1.5rem);
		text-align: left;
		letter-spacing: 0.1em;
	}
}


.comBtnBox {
    padding-right: 2.7rem;
}
.comBtn {
    margin: 0 auto;
    width: 58.4rem;
    position: relative;
}
.comBtn::before {
    position: absolute;
    top: 3rem;
    left: 3rem;
    width: 100%;
    height: 100%;
    background-color: #2F2F2F;
    content: '';
    z-index: -1;
}
.comBtn a {
    padding: 4.3rem 1rem;
    position: relative;
    display: block;
    color: #2F2F2F;
    font-size: clamp(30px,3.2rem,3.4rem);
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.2em;
    border: 1px solid #2F2F2F;
    background: url("/assets/07a911b27a21facdef51.png") no-repeat right 10.5rem center / 1.4rem auto;
    z-index: 2;
    background-color: #fff;
    transition: transform .2s;
}
.comBtn a:hover {
    color: #fff;
    border: 1px solid #fff;
}
.comBtn a span {
    position: relative;
    z-index: 2;
}
.comBtn a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    content: '';
    background: #2F2F2F;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .2s;
}
.comBtn a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}
.comBtn a:hover::after {
    position: absolute;
    top: 0;
    right: 10.5rem;
    width: 1.4rem;
    height: 100%;
    background: url("/assets/08f28751e24277eaf0d7.png") no-repeat right center / 14px auto;
    content: '';
    z-index: 2;
}
@media all and (max-width: 896px) {
    .comBtnBox {
        padding-right: 0.5rem;
    }
    .comBtn {
        width: 14rem;
    }
    .comBtn::before {
        top: 0.5rem;
        left: 0.5rem;
    }
    .comBtn a {
        padding: 0.6rem 1rem;
        font-size: clamp(13px, 1.4rem, 1.5rem);
        letter-spacing: 0.2em;
        background: url("/assets/07a911b27a21facdef51.png") no-repeat right 2rem center / 0.4rem auto;
        z-index: 2;
        background-color: #fff;
    }
    .comBtn a:hover {
        color: #2F2F2F;
        border: 1px solid #2F2F2F;
    }
    .comBtn a::before {
        display: none;
    }
    .comBtn a:hover::after {
        display: none;
    }
}





.fuwafuwa {
	animation: fuwafuwa 3s ease-in-out infinite alternate;
}
@keyframes fuwafuwa {
	0% {
		transform:translate(0, 0) rotate(-4deg);
	}
	50% {
		transform:translate(0, -4px) rotate(0deg);
	}
	100% {
		transform:translate(0, 0) rotate(4deg);
	}
}



#policy p {
    margin-bottom: 3rem;
    line-height: 2.1;
}
#policy .text01 {
    margin-bottom: 1.5rem;
}
#policy p:last-child {
    margin-bottom: 0;
}
#policy .headLine01 {
	font-size: clamp(18px,2rem,2.2rem);
	margin-top: 7.5rem;
	margin-bottom: 4.5rem;
}
#policy .headLine02 {
	font-size: clamp(15px,1.6rem,1.7rem);
}

#policy .title02 {
	font-size: clamp(14px,1.5rem,1.6rem);
}
#policy .title-txt {
	margin-bottom:1rem;
}
#policy .textUl {
    margin: -1.5rem 0 2.4rem;
    padding-left: 7rem;
}
#policy .textUl span {
    margin-bottom: 0.5rem;
    display: block;
    font-weight: 700;
}
#policy .textUl p {
    margin-bottom: 0;
    padding-left: 1.5rem;
}
#policy .textUl li:not(:last-child) {
    margin-bottom: 2.3rem;
}
#policy .name {
    margin: 6rem -1.3rem 0 0;
    text-align: right;
}
#policy .small-txt {
	font-size: clamp(12px,1.3rem,1.4rem);
}

#policy .title {
	font-size: clamp(14px,1.5rem,1.6rem);
	padding-left: 1em;
	margin-bottom: 0.3rem;
}

#policy .noteUl {
    padding-left: 2em;
	margin-bottom: 3.5rem;
    line-height: 2.1;
}
#policy .noteUl02 {
	margin-bottom: 1.5rem;
}
#policy .noteUl .superscript {
	vertical-align: super;
	font-size: smaller;
}
#policy .noteUl li {
    padding-left: 1em;
    text-indent: -1em;
}
#policy .noteUl01 {
	margin-top: 0rem;
    margin-bottom: 3.6rem;
}
#policy .subUl {
	padding-left:2em;
	margin-top:1rem;
}
@media all and (max-width: 896px) {
    #policy p {
        margin-bottom: 2rem;
        line-height: 1.8;
        }
    #policy .textUl {
        padding-left: 0;
    }
    #policy .textUl span {
        margin-bottom: 0.5rem;
    }
    #policy .name {
        margin-top: 5rem;
    }
    #policy .small-txt {
		font-size:clamp(12px, 1.3rem, 1.5rem);
	}
	#policy .headLine01 {
		margin-top: 5rem;
		margin-bottom: 3rem;
		font-size:clamp(16px,1.8rem,1.9rem);
		line-height:1.7;
	}
	#policy .headLine02 {
		font-size: clamp(13px, 1.4rem, 1.5rem);
		line-height:1.7;
	}
	#policy .title {
		font-size: clamp(13px, 1.4rem, 1.5rem);
		padding-left: 0em;
		margin-bottom: 0.3rem;
	}
	#policy .noteUl {
    	padding-left: 1em;
		line-height: 1.8;
	}
	#policy .noteUl02 {
    	padding-left: 0em;;
		line-height:1.8;
		margin-left: 1em;
	}
	#policy .small-txt {
		font-size: clamp(12px, 1.3rem, 1.5rem);
	}
}

.privacy p {
    margin-bottom: 0.5rem;
    line-height: 2.1;
}
.privacy .text01 {
    margin-bottom: 1.4rem;
}
.privacy .headLine01 {
    margin-bottom: 1.5rem;
}
.privacy .text02 {
    margin-bottom: 3.9rem;
}
.privacy .text03 {
    margin-bottom: 3.5rem;
}
.privacy .noteUl {
    margin-bottom: 0.5rem;
    padding-left: 4.2rem;
}
.privacy .noteUl li {
    line-height: 2.13;
    padding-left: 1em;
    text-indent: -1em;
}
.privacy .noteUl01 {
    margin-bottom: 3.6rem;
}
.privacy .textUl01 {
    margin: -0.5rem 0 0.1rem;
}
.privacy .textUl01 li {
    line-height: 2.13;
    padding-left: 1em;
    text-indent: -1em;
}
.privacy .textUl02 {
    margin-left: 6.5rem;
}
.privacy .title01 {
    margin-bottom: 0.5rem;
}
.privacy p a:hover {
    text-decoration: underline;
}
@media all and (max-width: 896px) {

	.privacy .noteUl {
        padding-left: 2.8rem;
    }
    .privacy .textUl02 {
        margin-left: 2.8rem;
    }
    .privacy p a:hover {
        text-decoration: none;
    }
	.privacy .headLine02.title02 {
        padding-left: 1.1em;
        text-indent: -1.1em;
    }
}

#contact .keyVisual {
	background: url("/assets/0ee929659150643a3b98.jpg") no-repeat right center / cover;
}
#contact .head {
	margin: 10.2rem 0 4rem;
	text-align: center;
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.5rem;
}
#contact .midTxt {
    margin-bottom: 7.2rem;
    font-size: clamp(17px,1.9rem,2.0rem);
    line-height: 2.1;
    text-align: center;
}
#contact .tabBox {
    margin: 0 auto;
    width: 71.2rem;
}
#contact table {
    margin-bottom: 4rem;
    width: 100%;
    border-collapse: collapse;
}
#contact th, #contact td {
    width: 100%;
    float: left;
    clear: left;
    font-weight: 400;
    text-align: left;
}
#contact th {
    padding-bottom: 2rem;
    font-size: clamp(17px,1.9rem,2.0rem);
    font-weight: bold;
}
#contact th .must {
    margin: -0.3rem 1.5rem 0 0;
    padding: 0.2rem;
    width: 6.4rem;
    display: inline-block;
	vertical-align: middle;
    color: #fff;
    font-size: clamp(14px,1.5rem,1.6rem);
    font-weight: 500;
    text-align: center;
    box-sizing: border-box;
	border-radius: 0.2rem;
    background-color: #D6006C;
}
#contact th .arbitrarily {
    background-color: #AAA;
}
#contact td {
    padding-bottom: 4.5rem;
    font-size: clamp(17px,1.9rem,2.0rem);
}
#contact td .checkUl {
    margin: -0.8rem 0 -1rem;
}
#contact td li:not(:last-child) {
    margin-bottom: 2rem;
}
#contact td input[type="checkbox"] {
    display: none;
}
#contact td input[type="checkbox"] ~ span {
    padding: 0 0 0 5rem;
    display: inline-block;
	cursor: pointer;
    background: url("/assets/7b092351b0a798a46be3.png") no-repeat left center / 3.8rem 1.8rem;
}
#contact td input[type="checkbox"]:checked ~ span {
    background-image: url("/assets/82b9bf4c53a939f8f037.png");
}
#contact form {
	margin-top: -11rem;
	padding-top: 11rem;
}
.mailForm td textarea, .mailForm td input[type="text"], .mailForm td input[type="email"], .mailForm td input[type="tel"] {
    padding: 0.2rem 1.3rem;
    width: 100%;
    height: 5.6rem;
    font-size: clamp(14px,1.6rem,1.8rem);
    border-radius: 0;
    border: 1px solid #D7D7D7;
    box-sizing: border-box;
    -webkit-appearance: none;
}
.mailForm td textarea:-webkit-autofill, .mailForm td input[type="text"]:-webkit-autofill, .mailForm td input[type="email"]:-webkit-autofill, .mailForm td input[type="tel"]:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 100rem #fff inset !important;
}
.mailForm td textarea {
    height: 38.3rem;
}
.mailForm .type {
    display: block;
    margin: 0.8rem 0 -1.5rem;
}
.mailForm .wpcf7-list-item {
    margin: 0 0 1.5rem 0;
    display: block;
}
.mailForm .policyTxt {
    margin-bottom: 1.5rem;
    text-align: center;
}
.mailForm .policyTxt a {
    color: #00C2FF;
    font-size: clamp(14px,1.5rem,1.6rem);
    letter-spacing: 0.05em;
    text-decoration: underline;
}
.mailForm .submit {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.mailForm .submit li {
    margin: 0.7rem 2.5rem;
    width: 30rem;
    position: relative;
}
.mailForm .submit li input {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    opacity: 0;
    cursor: pointer;
}
.mailForm .submit li span {
    padding: 4.3rem 1rem;
    position: relative;
    display: block;
    text-align: center;
    letter-spacing: 0.2em;
    z-index: 2;
    background-color: #fff;
    transition: transform .2s;
    color: #fff;
    padding: 1.6rem;
    font-size: clamp(13px,1.4rem,1.5rem);
    font-weight: 400;
    border: 1px solid #000;
    background: #000 url("/assets/08d7e270155e810033a1.png") no-repeat right 1.5rem center / 0.7rem auto;
}

.mailForm .submit li .edit {
    background-color: #666;
    border: 1px solid #666;
}
.mailForm .submit li input ~ span small {
    position: relative;
    z-index: 2;
}
.mailForm .submit li input ~ span::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    content: '';
    background: #fff;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .2s;
}



.pupBox {
	display: none;
    max-width: 110rem;
}
.pupBox .privacy {
    padding: 6rem;
}

@media all and (min-width: 897px) {
    .mailForm .policyTxt a:hover {
        text-decoration: none;
    }
	.mailForm .submit li input:hover ~ span {
		color: #000;
	}
	.mailForm .submit li input:hover ~ span::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}
@media all and (max-width: 896px) {
    #contact .midTxt {
        margin: 0 -2rem 4rem;
        font-size: clamp(13px,1.4rem,1.5rem);
    }
    #contact .tabBox {
        padding: 0 1rem;
        width: auto;
    }
    #contact th {
        padding-bottom: 1.3rem;
        font-size: clamp(13px,1.4rem,1.5rem);
    }
    #contact th .must {
        margin-right: 1rem;
        padding: 0.1rem 0.3rem 0.3rem;
        width: 3.7rem;
        font-size: clamp(9px,1rem,1.1rem);
    }
    #contact td {
        padding: 0 0 3.4rem;
        font-size: clamp(12px,1.3rem,1.4rem);
    }
    #contact td ul {
        margin-top: -0.8rem;
        padding: 0 0 0 1rem;
    }
    #contact td .checkUl {
        margin-top: -0.8rem;
        padding: 0;
    }
    #contact td .checkUl .wpcf7-list-item {
        margin-bottom: 0;
    }
    #contact td li:not(:last-child) {
        margin-bottom: 0;
    }
    #contact td input[type="checkbox"] ~ span {
        padding: 0.6rem 0 0.5rem 3.8rem;
        display: inline-block;
        background: url("/assets/7b092351b0a798a46be3.png") no-repeat left center / 3.2rem auto;
    }
    #contact td input[type="checkbox"]:checked ~ span {
        background-image: url("/assets/82b9bf4c53a939f8f037.png");
    }
    .mailForm td textarea, .mailForm td input[type="text"], .mailForm td input[type="email"], .mailForm td input[type="tel"] {
        padding: 0.2rem 1rem;
        height: 5rem;
        font-size: clamp(14px,1.5rem,1.6rem);
    }
    .mailForm td textarea {
        height: 24.7rem;
    }
    .mailForm .checkUl .type {
        margin: 0;
    }
    .mailForm .submit li input:hover + span {
        color: #fff;
    }
    .mailForm .submit li input:hover + span::before {
        transform-origin: left top;
        transform: scale(0, 1);
    }


	.pupBox {
		max-height: 85vh;
		overflow-y: auto;
	}
    .pupBox .privacy {
        padding: 3rem 2rem;
    }




	#contact .head {
		font-size: clamp(26px,2.8rem,2.9rem);
		margin: 0 0 2rem;
	}
}
@media all and (max-width: 359px) {
	.mailForm .submit li span {
		letter-spacing: 0;
	}
}




#news {
	margin-bottom: -23.5rem;
	padding-bottom: 17.2rem;
	background-color: #000000;
}
#news .keyVisual {
	background-color: #FFF;
}
#news .keyVisual .keyTtl {
	margin-top: 1rem;
}
#news .keyVisual .keyTtl .en {
	margin-top: 1.5rem;
	font-size: clamp(35px,4rem,4.1rem);
	letter-spacing: 0.4rem;
}
#news .comNewsList a {
	padding: 4rem 0 4rem 0.5rem;
	display: flex;
	justify-content: space-between;
	gap: 4rem;
	color: #FFF;
	border-bottom: 0.1rem solid #FFF;
}
#news .comNewsList .category {
	width: 23.5rem;
	font-size: clamp(13px,1.4rem,1.5rem);
	font-weight: 500;
	flex-shrink: 0;
}
#news .comNewsList .flexW {
	margin-left: auto;
	width: calc(100% - 32.1rem);
	display: flex;
	justify-content: space-between;
	gap: 4rem;
}
#news .comNewsList .pho {
    overflow: hidden;
	width: 41.9rem;
	aspect-ratio: 419/252;
	flex-shrink: 0;
	order: 3;
}
#news .comNewsList .pho span {
    display: block;
    height: 100%;
    background-size: cover !important;
    background-position: center !important;
    transition: all cubic-bezier(0.075, 0.82, 0.165, 1);
    transform: scale(1);
    transition-duration: 2s;
}
#news .comNewsList a:hover .pho span {
    opacity: 1;
    transform: scale(1.1);
}
#news .comNewsList .txtBox {
	flex: 1;
}
#news .comNewsList p {
    line-height: 1.8;
	font-size: clamp(14px,1.6rem,1.7rem);
	letter-spacing: 0.06rem;
}
#news .comNewsList .ttl {
    margin-bottom: 2.5rem;
    font-size: clamp(18px,2rem,2.2rem);
	letter-spacing: 0.2rem;
	line-height:1.6;
}
#news .comNewsList .time {
    margin-bottom: 0.2rem;
    font-size: clamp(13px,1.4rem,1.6rem);
	font-weight: 300;
	letter-spacing: 0.14rem;
}
#news .comNewsList .pc {
	font-weight: 300;
	height: 12rem;
	overflow: hidden;
	text-align: left;
}
#news .newstxt{
	line-height:1.8;
}
@media all and (max-width: 896px) {
    #news .comNewsList a:hover .pho span {
        opacity: 1;
        transform: scale(1);
    }
}
@media all and (max-width: 896px) {
	#news {
		margin-bottom: -10rem;
		padding-bottom: 10rem;
	}
	#news .keyVisual {
		margin-bottom: 3.4rem;
	}
	#news .comNewsList {
		margin: 0 -0.4rem;
	}
	#news .comNewsList a {
		padding: 0 0 2.3rem;
		display: block;
		position: relative;
	}
	#news .comNewsList li {
		margin-bottom: 3.4rem;
	}
	#news .comNewsList li:last-child {
		margin-bottom: 0;
	}
	#news .comNewsList .category {
		margin-bottom: 0;
		width: calc(100% - 57.8%);
		font-size: clamp(12px,1.3rem,1.4rem);
		position: absolute;
		top: -1px;
		right: 0;
	}
	#news .comNewsList .pho {
		width: 54.5%;
	}
	#news .comNewsList .ttl {
		font-size: clamp(11px,1.5rem,1.7rem);
		margin-bottom: 1rem;
		font-weight: bold;
		letter-spacing: 0.07rem;
	}
	#news .comNewsList .flexW {
		display: block;
		width: auto;
	}
	#news .comNewsList .time {
		margin-bottom: 0;
		font-size: clamp(11px,1.4rem,1.5rem);
		letter-spacing: 0.05em;
		width: calc(100% - 57.8%);
		position: absolute;
		top: 1.6rem;
		right: 0;
	}
	#news .comNewsList p {
		font-size: clamp(11px,1.4rem,1.5rem);
	}
	#news .comNewsList .pc {
		display: block !important;
		height: auto;
		max-height: 8rem;
	}
	#news .comNewsList .txtBox {
		margin-top: 1.5rem;
	}
	#news .news-heading-sp {
		font-size:1.32em !important;
	}
}

#news .wp-pagenavi {
	margin: 16.3rem 0 0;
	font-size: 0;
	clear: both;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}
.wp-pagenavi a,
.wp-pagenavi span {
	padding: 1rem 0.5rem;
	width: 6.4rem;
	height: 6.4rem;
	flex-shrink: 0;
	color: #FFF;
	font-family:"futura-pt",sans-serif;
	font-weight: 300;
	font-size: clamp(26px,2.8rem,2.9rem);
	display: inline-block;
	text-decoration: none;
	border: 0.1rem solid #CCC;
	border-radius: 100%;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	opacity: 0.7;
}
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .pages,
.wp-pagenavi .extend {
	display: none;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	padding: 0.8rem 1.5rem;
	width: auto !important;
	border: none;
	border-radius: 0;
	font-size: clamp(26px,2.8rem,2.9rem);
	font-weight: 500;
	letter-spacing: 0.15rem;
}
@media all and (max-width: 896px) {
	.wp-pagenavi {
		margin: 8rem 0 0;
		gap: 1rem;
	}
	.wp-pagenavi a,
	.wp-pagenavi span {
		padding: 0.5rem 0.2rem;
		width: 4rem;
		height: 4rem;
		font-size: clamp(18px,2rem,2.1rem);
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		padding: 0.6rem 1rem;
		font-size: clamp(14px,1.6rem,1.8rem);
	}
}

#detail {
    padding-top: 29.8rem;
	word-break: break-all;
}
#detail h2 {
    margin-bottom: 4.8rem;
    font-size: clamp(22px,2.4rem,2.5rem);
    text-align: center;
    line-height: 1.6;
}
#detail .content {
    width: 90rem;
}
#detail {
    font-size: clamp(15px,1.7rem,1.8rem);
}
#detail pre {
    margin-bottom: 1rem;
    font-size: clamp(15px,1.7rem,1.8rem);
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-word;
}
#detail img {
    margin-bottom: 2.5rem;
    width: 100%;
}
#detail .comBtn {
    margin-top: 5rem;
    width: 24rem;
}
#detail .comBtn::before {
    display: none;
}
#detail .comBtn a {
    color: #fff;
    padding: 1.6rem;
    font-size: clamp(13px,1.4rem,1.5rem);
    font-weight: 400;
    border: 1px solid #000;
    background: #000 url("/assets/08d7e270155e810033a1.png") no-repeat right 2rem center / 0.7rem auto;
}
#detail .comBtn a::before {
    background: #fff;
}
#detail .comBtn a:hover {
    color: #000;
    border-color: #000;
}
#detail .comBtn a:hover::after {
    display: none;
}
@media all and (max-width: 896px) {
    #detail .headLine04 {
        margin-bottom: 2.5rem;
        font-size: clamp(13px,1.4rem,1.5rem);
        font-weight: 700;
    }
    #detail h2 {
        margin-bottom: 1.5rem;
        font-size: clamp(13px,1.4rem,1.5rem);
        text-align: left;
        line-height: 1.6;
    }
    #detail .content {
        padding: 0 1.2em;
        width: auto;
    }
    #detail .content.cont {
        padding: 0;
    }
    #detail {
		padding-top: 15rem;
        font-size: clamp(12px,1.3rem,1.4rem);
    }
    #detail pre {
        font-size: clamp(12px,1.3rem,1.4rem);
    }
    #detail img {
        margin-bottom:0rem;
        width: 100%;
    }
	#detail .comBtn a:hover {
        color: #fff;
    }
}

#businessTop {
	overflow: hidden;
}
#businessTop .keyVisual {
	margin-bottom: 0;
	padding: 11.5rem 0 0;
	height: inherit;
	display: block;
	background: url("/assets/cc0e95a8a9fc4946b5a6.jpg") no-repeat center bottom / cover;
}
#businessTop .keyVisual .textArea {
	margin-top: 1.3rem;
	padding: 10rem 2rem 9.8rem;
	color: #1F1F1F;
	font-size: clamp(16px,1.8rem,1.9rem);
	text-align: center;
	letter-spacing: 0.08rem;
	line-height: 2;
	background: rgba(255, 255, 255, 0.8);
}
#businessTop .imgBox {
	margin: 0 auto;
	max-width: 140.8rem;
	padding: 17rem 2rem;
    display: flex;
    flex-direction: row-reverse;
	gap: 7.7rem;
}
#businessTop .imgBox:last-child {

	border-bottom: none;
}
#businessTop .imgBox .txtBox {
	flex: 1;
    letter-spacing: 0.08em;
	position: relative;
}
#businessTop .imgBox h3 {
	margin-bottom: 4.3rem;
	color: #1F1F1F;
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.16rem;
}
#businessTop .imgBox h3 .bracket-wrap {
    display: inline-block;
    white-space: nowrap;
}
#businessTop .imgBox p {
    margin-bottom: 3.5rem;
	color: #1F1F1F;
	font-size: clamp(14px,1.6rem,1.8rem);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.16rem;
}
#businessTop .imgBox .txtLink a {
	padding: 0 1.6rem 0 0;
	color: #007EFC;
	font-size: clamp(13px,1.4rem,1.5rem);
	letter-spacing: 0;
	display: inline-block;
	background: url("/assets/42eaf7b74f20916efc2e.png") no-repeat right center / 0.7rem;
	letter-spacing: 0.07rem;
}
#businessTop .imgBox .txtLink a:hover {
    opacity: 0.7;
}
#businessTop .imgBox02 {
    flex-direction: row;
	position: relative;
}
#businessTop .imgBox02::after {
	position: absolute;
	left: 50%;
	top: 0;
	width: 999rem;
	height: 100%;
	content: '';
	background-color: #F0F0F0;
	transform: translateX(-50%);
	z-index: -1;
}
#businessTop .imgBox .photoBox {
    width: 75.7rem;
}
#businessTop .imgBox .photoBox img {
    width: 100%;
}
#businessTop .notes {
    font-size: clamp(13px,1.4rem,1.5rem);
	margin-top:15px;
}

@media all and (max-width: 896px) {
	#businessTop {
		padding-top: 4.6rem;
		background-color: #000;
	}
	#businessTop .whiteBg {
		background-color: #fff;
		padding-top: 2.7rem;
	}
	#businessTop .keyVisual {
		margin-bottom: 0;
		padding-top: 0;
		background-color: rgba(255, 255, 255, 0.80);
		background-image: url("/assets/103363288d62746d49e3.png");
		background-position: center top;
	}
	#businessTop .keyVisual .keyTtlBox {
		padding: 1rem 2.5rem 0 !important;
		min-height: 19.7rem;
	}
    #businessTop .keyVisual .textArea {
		margin-top: 0;
		padding: 2rem 2.6rem 2.1rem;
		font-size: clamp(13px,1.4rem,1.5rem);
		text-align: left;
		line-height: 1.97;
		letter-spacing: 0.05rem;
	}
	#businessTop .imgBox {
		padding: 0 0 3.1rem;
		display: block;
		position: relative;
	}
    #businessTop .imgBox .txtBox {
		padding: 0 0 2.1rem;
		border-bottom: 1px solid #D9D9D9;
		margin: 0.7rem 2.6rem 0;
		position: static;
	}
	#businessTop .imgBox h3 {
		margin-bottom: 0;
		font-size: clamp(16px,1.8rem,1.9rem);
		position: absolute;
		top: 0.5rem;
		left: 0;
		width: 100%;
		text-align: right;
		box-sizing: border-box;
		padding: 1rem 2.6rem 0 2.6rem;
		letter-spacing: 0.05em;
		color: #fff;
		line-height: 1.2;
		text-shadow: 1px 1px 4px rgba(0, 0, 40, 0.3);
	}
	#businessTop .imgBox02 h3 {
		text-align: left;
		color: #fff;
	}

    #businessTop .imgBox p {
		margin-bottom: 1.3rem;
		font-size: clamp(13px,1.4rem,1.5rem);
		line-height: 1.65;
		letter-spacing: 0.05em;
	}
	#businessTop .imgBox .photoBox {
		width: 100%;
	}
	#businessTop .imgBox02::after {
		display: none;
	}
	#businessTop .notes {
    	font-size: clamp(12px,1.3rem,1.4rem);
	}
}

#computer .keyVisual {
	margin-bottom: 13rem;
    background: #fff url("/assets/1a6930f4160d32548182.jpg") no-repeat right bottom / auto 100%;
}
#computer .keyVisual .keyTtlBox .keyTtl { color: #333; }
#computer .keyVisual .keyTtl .en {
	color:#333;
	letter-spacing:0.2rem;
	line-height:1.0;
	margin-top:2.5rem;
}
#computer .intro-support { font-size: 90%; font-weight: 100; }
#computer .keyTtl .en { display: block; }
#computer .keyTtl .sub-en { display: block; font-size: 88%; }

#computer .content { width: auto; max-width: 141.1rem; }
#computer .inner { margin-bottom: 15rem; }
#computer .headLine03 {
    margin-bottom: 4.5rem;
	color: #1F1F1F;
    font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.16rem;
}
#computer .text01 {
    margin-bottom: 1rem;
    font-size: clamp(16px,1.8rem,1.9rem);
    text-align: center;
    line-height: 2;
    letter-spacing: 0.09rem;
}
#computer .heading {
	margin-bottom: 2.8rem;
    color: #8A8A8A;
	text-align: center;
	font-family:"futura-pt",sans-serif;
	font-size: clamp(35px,4rem,4.1rem);
	font-weight: 300;
	letter-spacing: 0.4rem;
}
#computer .imgBox {
    padding: 10rem 0;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 0.2rem solid #D7D7D7;
	gap: 6.4rem;
}
#computer .imgBox .photoBox { width: 56.45%; }
#computer .imgBox .photoBox01 { margin: -2.5rem 0 -10rem; }
#computer .imgBox .photoBox img { width: 100%; }
#computer .imgBox .txtBox { flex: 1; }
#computer .imgBox .txtBox h4 {
    margin-bottom: 1.4rem;
    font-size: clamp(24px,2.7rem,2.8rem);
    letter-spacing: 0.04em;
}
#computer .imgBox .txtBox h4 sup { font-size: clamp(13px,1.4rem,1.5rem); }
#computer .imgBox .txtBox p {
    margin-bottom: 1.4rem;
    font-size: clamp(14px,1.6rem,1.8rem);
    line-height: 1.7;
    text-align: left;
	letter-spacing: 0.08rem;
}
#computer .imgBox .txtBox p:last-child { margin-bottom: 0; }
#computer .imgBox .txtBox .notes { font-size: clamp(13px,1.4rem,1.5rem); }

#computer .linkBox {
	padding-right: 0;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#computer .linkBox a { color: blue; text-decoration: underline; cursor: pointer; transition: none; }


#computer .img-bt { display: inline-block; }
#computer .img-bt img {
    width: 65em;
    height: auto;
    border: none;
    display: block;
	transition: opacity 0.3s ease;
}
#computer .img-bt img:hover { opacity: 0.8; }


#computer .comBtnBox { margin-top: 4.5rem; margin-bottom: 8rem; }
#computer .comBtnBox p {
   margin: 0 1rem 3rem;
   text-align: center;
   font-size: clamp(22px,2.4rem,2.5rem);
   font-weight: 700;
   letter-spacing: 0.5rem;
}
#computer .comBtnBox .sml {
   margin-bottom: 0.7rem;
   display: block;
   font-size: clamp(14px,1.6rem,1.8rem);
   font-weight: 500;
   letter-spacing: 0.3rem;
}
#computer .comBtnBox .comBtn { width:72%; }
#computer .comBtnBox .comBtn::before { top: 1.2rem; left: 1.2rem; }

#computer .comBtnBox .comBtn a {
   position: relative;
   padding: 4.6rem 0 4.8rem;
   background: #fff;
   font-size: 2.3rem;
   font-weight: 400;
   letter-spacing: 0;
   text-align: center;
}


#computer .comBtnBox .comBtn a::after {
  content:"";
  position: absolute;
  top: 0;
  right: 6.4rem;
  width: 1.0rem;
  height: 100%;
  background: url("/assets/07a911b27a21facdef51.png") no-repeat right center / 1.4rem auto;
}


#computer .comBtnBox .comBtn a .btnText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}


#computer .sp-img { display: none; }
#computer .inner.inner02 { display: block; }
#computer .inner.inner02 .serviceGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12rem;
  margin-top: 7rem;
}
#computer .inner.inner02 .imgBox {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 0;
  border-bottom: 0;
  background: #fff;
}
#computer .inner.inner02 .imgBox .photoBox,
#computer .inner.inner02 .imgBox .photoBox01 {
  width: 100%;
  margin: 0;
  overflow: hidden;
}
#computer .inner.inner02 .imgBox .photoBox img,
#computer .inner.inner02 .imgBox .photoBox01 img {
  width: 100%;
  height: auto;
  display: block;
}
#computer .inner.inner02 .imgBox .txtBox { padding-top: 4.5rem; }


@media all and (min-width: 897px) {
  #computer .comBtnBox .comBtn a:hover::after { background-image: url("/assets/08f28751e24277eaf0d7.png"); }
  #computer .comBtnBox .comBtn a:hover .img01 { display: none; }

}


@media all and (max-width: 896px) {
  #computer .keyVisual { margin-bottom: 6rem; }
  #computer .keyVisual .keyTtlBox {
    padding: 0 0.5rem 0rem !important;
    width: 100%;
    min-height: 18.1rem;
    flex-direction: column;
    justify-content: center;
  }
	#computer .keyVisual{
    position: relative; 
  }
  #computer .keyVisual::before{
    content:"";
    position:absolute; inset:0;
    pointer-events:none;
    
    background: linear-gradient(
      to left,
      rgba(255,255,255,0) -12%,
      rgba(255,255,255,.78) 75%,
      #fff 100%
    );
  }
	#computer .intro-support { font-size: 85%; font-weight: 400; }
  #computer .inner { margin-bottom: 8rem; }
  #computer .headLine03 {
    margin: 0 -2.5rem 2rem;
    font-size: clamp(14px,1.6rem,1.8rem);
  }
  #computer .heading {
    margin-bottom: 0;
    font-size: clamp(27px,3rem,3.2rem);
  }
  #computer .text01 {
    margin-bottom: 1rem;
    font-size: clamp(13px,1.4rem,1.5rem);
    letter-spacing: 0;
    text-align: left;
  }
  #computer .imgBox { padding: 4rem 0; gap: 0; }
  #computer .imgBox .photoBox { margin: 0 0 2rem; width: 100%; }
  #computer .imgBox .txtBox { flex: auto; }
  #computer .imgBox .txtBox h4 { font-size: clamp(14px,1.6rem,1.8rem); }
  #computer .imgBox .txtBox h4 sup { font-size: clamp(12px,1.3rem,1.4rem); }
  #computer .imgBox .txtBox p {
    font-size: clamp(13px,1.4rem,1.5rem);
    line-height:1.7;
    letter-spacing: 0.05;
  }
  #computer .imgBox .txtBox .notes { font-size: clamp(12px,1.3rem,1.4rem); }
  #computer .comBtnBox { margin-top: 3.6rem; margin-bottom: 4.4rem; }
  #computer .comBtnBox .comBtn { width: 90%; }
  #computer .comBtnBox .comBtn::before { top: .5rem; left: .5rem; }
  #computer .comBtnBox .comBtn a {
    padding: 3.2rem 0;
    font-size: 1.6rem;
    padding-right: 2.2rem;
  }
  #computer .comBtnBox .comBtn a::after {
    right: 2.8rem;
    width: .8rem;
    background-size: .8rem auto;
  }
  #computer .comBtnBox .comBtn a .btnText { gap: .6rem; }
  #computer .comBtnBox p { font-size: clamp(15px,1.7rem,1.8rem); }
  #computer .comBtnBox .comBtn a img { width: 15rem; }

  #computer .pc-img { display: none; }
  #computer .sp-img { display: block; }
  #computer .img-bt img { width: 40em; padding: 0 10px; }
  #computer .inner.inner02 .serviceGrid {
    grid-template-columns: 1fr;
    gap: 6rem;
	margin-top:5rem;
  }
  #computer .inner.inner02 .imgBox .txtBox {
    padding-top: 3.6rem;
  }
}


@media all and (max-width: 560px) {
  #computer .comBtnBox .comBtn { width: 90%; }
}
@media all and (max-width: 374px) {
  #computer .comBtnBox p { font-size: clamp(14px,1.5rem,1.6rem); }
}



#data .keyVisual {
	margin-bottom: 13rem;
    background: #242424 url("/assets/66ae26e8d5e4f315ab8e.png") no-repeat right bottom / auto 100%;
}
#data .content {
    width: auto;
    max-width: 141.1rem;
}
#data .inner {
    margin-bottom: 11.2rem;
}
#data .headLine03 {
    margin-bottom: 4.5rem;
	color: #1F1F1F;
    font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.16rem;
}
#data .text01 {
    margin-bottom: 1rem;
    font-size: clamp(16px,1.8rem,1.9rem);
    text-align: center;
    line-height: 2;
    letter-spacing: 0.09rem;
}
#data .heading {
	margin-bottom: 2.8rem;
    color: #8A8A8A;
	text-align: center;
	font-family:"futura-pt",sans-serif;
	font-size: clamp(35px,4rem,4.1rem);
	font-weight: 300;
	letter-spacing: 0.4rem;
}
#data .imgBox {
    padding: 10rem 0;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 0.2rem solid #D7D7D7;
	gap: 6.4rem;
}
#data .imgBox .photoBox {
    width: 56.45%;
}
#data .imgBox .photoBox01 {
	margin: -2.5rem 0 -10rem;
}
#data .imgBox .photoBox img {
    width: 100%;
}
#data .imgBox .txtBox {
    flex: 1;
}
#data .imgBox .txtBox h4 {
    margin-bottom: 2.9rem;
    font-size: clamp(22px,2.4rem,2.5rem);
    letter-spacing: 0.08em;
}
#data .imgBox .txtBox h4 sup {
    font-size: clamp(13px,1.4rem,1.5rem);
}
#data .imgBox .txtBox p {
    margin-bottom: 1.4rem;
    font-size: clamp(14px,1.6rem,1.8rem);
    line-height: 2;
    text-align: justify;
	letter-spacing: 0.08rem;
}
#data .imgBox .txtBox p:last-child {
    margin-bottom: 0;
}
#data .imgBox .txtBox .notes {
    font-size: clamp(13px,1.4rem,1.5rem);
}
#data .linkBox {
	padding-right: 0;
	display: flex;
    flex-direction: column; 
    align-items: center;    
    justify-content: center; 
    text-align: center;      
}

#data .img-bt {
    display: inline-block;

}

#data .img-bt img {
    width: 65em; 
    height: auto; 
    border: none;
    display: block; 
	transition: opacity 0.3s ease; 
}

#data .img-bt img:hover {
    opacity: 0.8; 
}


#data .linkBox a {
	color: blue;
    text-decoration: underline;
	cursor: pointer;
	transition: none;
}

#data .comBtn:before {
    top: 0.8rem;
    left: 0.8rem;
}
#data .comBtnBox {
	padding-right: 0;
}
#data .comBtnBox .ttl {
	margin-bottom: 2.4rem;
	display: block;
	color: #1F1F1F;
    font-size: clamp(13px,1.4rem,1.5rem);
	font-weight: 700;
	letter-spacing: 0.14rem;
	text-align: center;
}

#data .comBtn {
	width: 56rem;
}
#data .comBtn a {
    padding: 0;
	background: #FFF !important;
}
#data .comBtn a::after {
	display: none;
}
#data .comBtn a img {
	height: 20.7rem;
	display: block;
}
#data .comBtn a .over {
	display: none;
}

#data .sp-img {
    display: none;
}

@media all and (min-width: 897px) {
	#data .comBtn a:hover img {
		filter: brightness(1);
	}
	#data .comBtn a:hover .over {
		display: block;
	}
	#data .comBtn a:hover .img {
		display: none;
	}
}
@media all and (max-width: 896px) {
	#data .keyVisual {
		margin-bottom: 6rem;
	}
	#data .keyVisual .keyTtlBox {
		padding: 0 0.5rem 0rem !important;
		width: 100%;
		min-height: 18.1rem;
		flex-direction: column;
		justify-content: center;
	}
    #data .inner {
        margin-bottom: 8rem;
    }
    #data .headLine03 {
        margin: 0 -2.5rem 2rem;
        font-size: clamp(14px,1.6rem,1.8rem);
    }
	#data .heading {
		margin-bottom: 0;
		font-size: clamp(27px,3rem,3.2rem);
	}
    #data .text01 {
        margin-bottom: 1rem;
        font-size: clamp(13px,1.4rem,1.5rem);
		letter-spacing: 0;
		text-align: left;
    }
    #data .imgBox {
        padding: 4rem 0;
		gap: 0;
    }
    #data .imgBox .photoBox {
        margin: 0 0 2rem;
        width: 100%;
    }
    #data .imgBox .txtBox {
        flex: auto;
    }
    #data .imgBox .txtBox h4 {
        font-size: clamp(14px,1.6rem,1.8rem);
    }
	#data .imgBox .txtBox h4 sup {
		font-size: clamp(12px,1.3rem,1.4rem);
	}
    #data .imgBox .txtBox p {
        font-size: clamp(13px,1.4rem,1.5rem);
    }
    #data .imgBox .txtBox .notes {
        font-size: clamp(12px,1.3rem,1.4rem);
    }
    #data .comBtn {
        width: 30rem;
    }
    #data .comBtn a {
        padding: 0;
    }
	#data .comBtn a img {
		height: 10rem;
	}

   #data .pc-img {
    display: none; 
    }
    #data .sp-img {
    display: block; 
    }
	#data .img-bt img {
    width: 40em; 
	padding: 0 10px;

}
}

#businessGpu .keyVisual {
	margin-bottom: 13rem;
	background: #0A0F17 url("/assets/716a152dcc1984af9ef5.jpg") repeat center top / auto 100%;
}
#businessGpu .keyVisual .keyTtlBox .keyTtl .jp {
	letter-spacing: 0.2rem;
	color:#333;
}
#businessGpu .keyVisual .keyTtlBox .keyTtl .jp .enbig {
	font-size: 1.15em;
	display: inline-block;
	transform: translateY(0.04em);
}
#businessGpu .content { width: auto; max-width: 141.1rem; }
#businessGpu .inner { margin-bottom: 15rem; }
#businessGpu .headLine03 {
    margin-bottom: 4.5rem;
	color: #1F1F1F;
    font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.16rem;
}
#businessGpu .text01 {
    margin-bottom: 1rem;
    font-size: clamp(16px,1.8rem,1.9rem);
    text-align: center;
    line-height: 2;
    letter-spacing: 0.09rem;
}
#businessGpu .heading {
	margin-bottom: 2.8rem;
    color: #8A8A8A;
	text-align: center;
	font-family:"futura-pt",sans-serif;
	font-size: clamp(35px,4rem,4.1rem);
	font-weight: 300;
	letter-spacing: 0.4rem;
}
#businessGpu .imgBox {
    padding: 10rem 0;
    display: flex;
    flex-wrap: wrap;
    border-bottom: 0.2rem solid #D7D7D7;
	gap: 6.4rem;
}
#businessGpu .imgBox .photoBox { width: 56.45%; }
#businessGpu .imgBox .photoBox01 { margin: -2.5rem 0 -10rem; }
#businessGpu .imgBox .photoBox img { width: 100%; }
#businessGpu .imgBox .txtBox { flex: 1; }
#businessGpu .imgBox .txtBox h4 {
    margin-bottom: 1.4rem;
    font-size: clamp(24px,2.7rem,2.8rem);
    letter-spacing: 0.04em;
}
#businessGpu .imgBox .txtBox h4 sup { font-size: clamp(13px,1.4rem,1.5rem); }
#businessGpu .imgBox .txtBox p {
    margin-bottom: 1.4rem;
    font-size: clamp(14px,1.6rem,1.8rem);
    line-height: 1.7;
    text-align: left;
	letter-spacing: 0.08rem;
}
#businessGpu .imgBox .txtBox p:last-child { margin-bottom: 0; }
#businessGpu .imgBox .txtBox .notes { font-size: clamp(13px,1.4rem,1.5rem); }

#businessGpu .linkBox {
	padding-right: 0;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#businessGpu .linkBox a { color: blue; text-decoration: underline; cursor: pointer; transition: none; }


#businessGpu .img-bt { display: inline-block; }
#businessGpu .img-bt img {
    width: 65em;
    height: auto;
    border: none;
    display: block;
	transition: opacity 0.3s ease;
}
#businessGpu .img-bt img:hover { opacity: 0.8; }


#businessGpu .comBtnBox { margin-top: 6.5rem; margin-bottom: 8rem; }
#businessGpu .comBtnBox p {
   margin: 0 1rem 3rem;
   text-align: center;
   font-size: clamp(22px,2.4rem,2.5rem);
   font-weight: 700;
   letter-spacing: 0.5rem;
}
#businessGpu .comBtnBox .sml {
   margin-bottom: 0.7rem;
   display: block;
   font-size: clamp(14px,1.6rem,1.8rem);
   font-weight: 500;
   letter-spacing: 0.3rem;
}
#businessGpu .comBtnBox .comBtn { width:72%; }
#businessGpu .comBtnBox .comBtn::before { top: 1.2rem; left: 1.2rem; }

#businessGpu .comBtnBox .comBtn a {
   position: relative;
   padding: 4.6rem 0 4.8rem;
   background: #fff;
   font-size: 2.3rem;
   font-weight: 400;
   letter-spacing: 0;
   text-align: center;
}


#businessGpu .comBtnBox .comBtn a::after {
  content:"";
  position: absolute;
  top: 0;
  right: 6.4rem;
  width: 1.0rem;
  height: 100%;
  background: url("/assets/07a911b27a21facdef51.png") no-repeat right center / 1.4rem auto;
}


#businessGpu .comBtnBox .comBtn a .btnText {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}


#businessGpu .sp-img { display: none; }
#businessGpu .inner.inner02 { display: block; }
#businessGpu .inner.inner02 .serviceGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12rem;
  margin-top: 7rem;
}
#businessGpu .inner.inner02 .imgBox {
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 0;
  border-bottom: 0;
  background: #fff;
}
#businessGpu .inner.inner02 .imgBox .photoBox,
#businessGpu .inner.inner02 .imgBox .photoBox01 {
  width: 100%;
  margin: 0;
  overflow: hidden;
}
#businessGpu .inner.inner02 .imgBox .photoBox img,
#businessGpu .inner.inner02 .imgBox .photoBox01 img {
  width: 100%;
  height: auto;
  display: block;
}
#businessGpu .inner.inner02 .imgBox .photoBox .photo03Custom {
  height: 42.7rem;
  object-fit: cover;
}
#businessGpu .inner.inner02 .imgBox .txtBox { padding-top: 4.5rem; }

.serviceGrid02 {
	width: 90%;
	margin: 0 auto;
	margin-top: 5em;
}

.serviceGrid02 .txtBox {
	width: 80%;
	margin: 0 auto;
	text-align: center;
}

.serviceGrid02 .wpBr {
	text-align: center !important;
	font-size: clamp(20px,1.6rem,1.8rem) !important;
	font-weight: 600;
}


@media all and (min-width: 897px) {
  #businessGpu .comBtnBox .comBtn a:hover::after { background-image: url("/assets/08f28751e24277eaf0d7.png"); }
  #businessGpu .comBtnBox .comBtn a:hover .img01 { display: none; }

}


@media all and (max-width: 896px) {
  #businessGpu #main {
		padding: 0 0 8rem;
	}
	#businessGpu .keyVisual .keyTtlBox {
		padding: 0 0.5rem 0rem !important;
		width: 100%;
		min-height: 18.1rem;
		flex-direction: column;
		justify-content: center;
	}
	#businessGpu .keyVisual {
	margin-bottom: 6rem;
	}
	#businessGpu .intro-support { font-size: 85%; font-weight: 400; }
  #businessGpu .inner { margin-bottom: 8rem; }
  #businessGpu .headLine03 {
    margin: 0 -2.5rem 2rem;
    font-size: clamp(14px,1.6rem,1.8rem);
  }
  #businessGpu .heading {
    margin-bottom: 0;
    font-size: clamp(27px,3rem,3.2rem);
  }
  #businessGpu .text01 {
    margin-bottom: 1rem;
    font-size: clamp(13px,1.4rem,1.5rem);
    letter-spacing: 0;
    text-align: left;
  }
  #businessGpu .imgBox { padding: 4rem 0; gap: 0; }
  #businessGpu .imgBox .photoBox { margin: 0 0 2rem; width: 100%; }
  #businessGpu .imgBox .txtBox { flex: auto; }
  #businessGpu .imgBox .txtBox h4 { font-size: clamp(14px,1.6rem,1.8rem); }
  #businessGpu .imgBox .txtBox h4 sup { font-size: clamp(12px,1.3rem,1.4rem); }
  #businessGpu .imgBox .txtBox p {
    font-size: clamp(13px,1.4rem,1.5rem);
    line-height:1.7;
    letter-spacing: 0.05;
  }
  #businessGpu .imgBox .txtBox .notes { font-size: clamp(12px,1.3rem,1.4rem); }
  #businessGpu .comBtnBox { margin-top: 3.6rem; margin-bottom: 4.4rem; }
  #businessGpu .comBtnBox .comBtn { width: 90%; }
  #businessGpu .comBtnBox .comBtn::before { top: .5rem; left: .5rem; }
  #businessGpu .comBtnBox .comBtn a {
    padding: 3.2rem 0;
    font-size: 1.6rem;
    padding-right: 2.2rem;
  }
  #businessGpu .comBtnBox .comBtn a::after {
    right: 2.8rem;
    width: .8rem;
    background-size: .8rem auto;
  }
  #businessGpu .comBtnBox .comBtn a .btnText { gap: .6rem; }
  #businessGpu .comBtnBox p { font-size: clamp(15px,1.7rem,1.8rem); }
  #businessGpu .comBtnBox .comBtn a img { width: 15rem; }

  #businessGpu .pc-img { display: none; }
  #businessGpu .sp-img { display: block; }
  #businessGpu .img-bt img { width: 40em; padding: 0 10px; }
  #businessGpu .inner.inner02 .serviceGrid {
    grid-template-columns: 1fr;
    gap: 6rem;
	margin-top:5rem;
  }
  #businessGpu .inner.inner02 .imgBox .photoBox .photo03Custom {
	height: auto;
  }
  #businessGpu .inner.inner02 .imgBox .txtBox {
    padding-top: 3.6rem;
  }

  .serviceGrid02 {
	width: 100%;
	margin-top: 1rem;
  }

  .serviceGrid02 .txtBox {
	width: 100%;
  }

  .serviceGrid02 .wpBr {
	text-align: center !important;
	font-size: clamp(18px,1.2rem,1.8rem) !important;
  }
}


@media all and (max-width: 560px) {
  #businessGpu .comBtnBox .comBtn { width: 90%; }
}
@media all and (max-width: 374px) {
  #businessGpu .comBtnBox p { font-size: clamp(14px,1.5rem,1.6rem); }
}









































@media all and (min-width: 897px) {



}


@media all and (max-width: 896px) {





























}


@media all and (max-width: 560px) {

}
@media all and (max-width: 374px) {

}


#index .sec01 {
	padding: 16rem 0 0;
	position: relative;
	overflow: hidden;
}
#index .sec01 .pos {
	position: absolute;
	z-index: 10;
	mix-blend-mode: overlay;
	filter: blur(0.3rem);
	backdrop-filter: blur(1rem);
	-webkit-backdrop-filter: blur(1rem);
	display: none !important;
}
#index .sec01 .pos01 {
	left: 3rem;
    top: 7.1rem;
}
#index .sec01 .pos01 .inner,
#index .sec01 .pos02 .inner {
	width: 64.5rem;
  	height: 30rem;
	background: url("/assets/2a9865f047c22d5a8089.png") no-repeat left top / 100% 100%;
	filter: blur(25px);
	backdrop-filter: blur(2rem);
	-webkit-backdrop-filter: blur(2rem);
}
#index .sec01 .pos02 {
	top: 19rem;
	top: 10rem;
	right: 3rem;
}
#index .sec01 .pos02 .inner {
	width: 57rem;
	
	background-image: url("/assets/affc3e0fddc760dbc45d.png");
}
#index .sec01 .movie {
	width: 100%;
	height: 34vw;
	position: relative;
}
#index .sec01 .movie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#index .sec01 .inn {
	margin: 0 auto;
	width: 94%;
	max-width: 145rem;
}
#index .finishTxt {
	color: #000;
	font-size: clamp(22px,2.4rem,2.5rem);
	letter-spacing: 0.52rem;
	text-align: center;
}
#index .bgBox {
	margin-top: -7.9rem;
	padding: 29.3rem 0 30.7rem;
	position: relative;
}

#index .newsBox {
	margin: 8.3rem 0 0 auto;
	padding: 2.9rem 5.2rem;
	width: calc(50% + 6.5rem);
	border-radius: 2rem 0 0 2rem;
	border: 2px solid #000;
	border-right: none;
	background: #FFF;
	position: relative;
  	z-index: 10;
}
#index .newsBox .flexBox {
	max-width: 73.6rem;
	display: flex;
	justify-content: space-between;
	position: relative;
	box-sizing: border-box;
}
#index .newsBox .lBox {
	width: 19.2rem;
	padding-right: 1rem;
	margin-top: 1.2rem;
	box-sizing: border-box;
}
#index .newsBox .lBox .headLine05 .en {
	color: #C0C0C0;
}
#index .newsBox .rBox {
	flex: 1;
}
#index .newsBox .rBox a {
	padding-right: 6.5rem;
	display: block;
	color: #1F1F1F;
	font-size: clamp(14px,1.6rem,1.7rem);
	position: relative;
}
#index .newsBox .rBox a::after {
	margin-top: 0.5rem;
	width: 6rem;
	height: 6rem;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url("/assets/8451c3124c3ceb861141.png") no-repeat left top / 100% 100%;
	content: "";
}
#index .newsBox dt {
	margin-bottom: 2.1rem;
	font-size: clamp(12px,1.4rem,1.6rem);
}
#index .newsBox dt .cat {
	padding: 0.6rem 0.5rem;
	min-width: 13rem;
	font-weight: 300;
	border: 1px solid #000;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.05em;
}
#index .newsBox dt .time {
	color: #999;
	display: inline-block;
	vertical-align: middle;
	margin-left: 1.4rem;
	font-size: clamp(14px,1.6rem,1.7rem);
	font-weight: 400;
	letter-spacing: 0.12em;
}
#index .newsBox dd {
	letter-spacing: 0.1em;
	line-height:1.8;
}
.bgMovie {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	width: 100%;
	height: calc(100% + 2px);
	pointer-events: none;
	z-index: -1;
}
.bgMovie img,
.bgMovie video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bgMovie.on img {
	-webkit-animation: zoom 10s 1;
	animation: zoom 10s 1;
	animation-fill-mode: forwards;
}

@keyframes zoom {
	0% {
		transform: scale(1.5);
	}
	100% {
		transform: scale(1);
	}
}

#index .aboutBox {
	margin-bottom: 21.7rem;
	position: relative;
	max-width: 153.4rem;
	box-sizing: border-box;
}
#index .aboutBox .finishTxt {
	margin: 0 0 24.6rem;
}
#index .aboutBox .finishBtm {
	margin-bottom: 0;
}
#index .aboutBox .bgImg {
	margin: -3rem 0 0 8.1rem;
	width: 164.2rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
#index .aboutBox .bgImg img {
	width: 100%;
}
#index .aboutBox .flexBox {
	color: #1F1F1F;
	display: flex;
	width: 100%;
	margin: 0 auto 44.8rem;
	max-width: 115.4rem;
}
#index .aboutBox .photo {
	width: 57.8rem;
	order: 3;
}
#index .aboutBox .photo img {
	width: 100%;
}
#index .aboutBox .lBox {
	padding: 10.7rem 2rem 0 10rem;
	flex: 1;
}
#index .aboutBox .link img {
	width: clamp(78px,8.4rem,8.8rem);
}
#index .aboutBox .headLine05 {
	margin-bottom: 2.4rem;
	font-size: clamp(30px, 3.2rem,3.4rem);
}
#index .aboutBox .headLine05 .en {
	color: #8A8A8A;
	font-size: clamp(16px,1.8rem,1.9rem);
	letter-spacing: 0.2em;
}
#index .aboutBox .link {
	margin-left: -0.4rem;
}

#index .serviceBox {
	padding: 5.4rem 5rem 7.7rem;
	max-width: 146.4rem;
	width: calc(100% - 4rem);
	position: relative;
}
#index .serviceBox::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	background: url("/assets/75966a1c54acd808f93b.png") no-repeat center center / cover;
	backdrop-filter: blur(50px) brightness(2);
	-webkit-backdrop-filter: blur(50px) brightness(2);
}
#index .serviceBox .headLine05 {
	margin-bottom: 2.4rem;
	text-align: center;
}
#index .serviceBox .link {
	margin: 0 0 6rem 1.2rem;
	text-align: center;
}
#index .serviceBox .link img {
	width: clamp(78px,8.4rem,8.8rem);
}
#index .serviceBox .innerBox {
	position: relative;
	z-index: 10;
}
#index .serviceBox .listUl {
	display: flex;
	flex-wrap: wrap;
	gap: 3.6rem;
}
#index .serviceBox .listUl li {
	width: calc((100% - 7.2rem) / 3);
}


#index .serviceBox .listUl a {
	position: relative;
	display: block;
}
#index .serviceBox .listUl a::after {
	display:none;
	width: clamp(36px,4rem,4.2rem);
	height: clamp(36px,4rem,4.2rem);
	position: absolute;
	left: 50%;
	background: url("/assets/a97018cae7ae18295e45.png") no-repeat left top / 100% 100%;
	content: "";
	transform: translateX(-50%);
	bottom: 3.4rem;
}
#index .serviceBox .listUl .textBox {
	color: #fff;
	box-sizing: border-box;
	padding: 3rem 3rem 3.2rem;
	letter-spacing: 0.04em;
}
#index .serviceBox .listUl .textBox p {
	position: relative;
	z-index: 10;
	font-weight: 300;
	line-height:1.8;
	font-size:clamp(15px,1.6rem,1.7rem);
	letter-spacing:0.02rem;
}
#index .serviceBox .listUl .item03 .textBox p {
	letter-spacing:0.08rem;
}
#index .serviceBox .listUl .textBox .ttl {
	margin-bottom: 1.4rem;
	font-size: clamp(17px,2rem,2.2rem);
	font-weight: 700;
}

#index .releaseBox {
	padding: 7.9rem 0 7.6rem;
	background-color: #000;
}
#index .releaseBox .headLine05 {
	margin-bottom: 4.4rem;
	color: #fff;
}
#index .releaseBox .content {
	padding: 0 4rem;
	max-width: 151.6rem;
}
#index .releaseBox .releaseList {
	max-width: 1100px; 
	margin: 0 auto;
}

#index .releaseBox .releaseList li {
	border-bottom: 1px solid #8a8a8a;
}
#index .releaseBox .releaseList a {
	display: block;
	position: relative;
	padding: 3.1rem 3.6rem 3rem 0; 
	color: #fff;
}

#index .releaseBox .releaseList .meta {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	margin-bottom: 0.8rem;
}
#index .releaseBox .releaseList .meta .category {
	display: inline-block;
	border: 1px solid #fff;
	padding: 0.4rem 0.5rem;
	min-width: 110px;
	text-align:center;
	line-height: 1;
	font-size: clamp(12px,1.3rem,1.4rem);
	font-weight:300;
}
#index .releaseBox .releaseList .meta .time {
	color: #fff;
	font-size: clamp(13px,1.4rem,1.5rem);
	letter-spacing: 0.08em;
}

#index .releaseBox .releaseList .ttl {
	font-size: clamp(15px,1.7rem,1.8rem);
	font-weight: 400;
	line-height: 1.6;
}

#index .releaseBox .releaseList a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4px;
	width: 1rem;
	height: 1rem;
	border-top: 1.5px solid #fff;
	border-right: 1.5px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}
#index .releaseBox .moreBtn {
	margin: 7.3rem auto 0;
	max-width:1100px;
}
@media (hover:hover) {
  #index .releaseBox .releaseList a:hover {
    opacity: 0.8;
  }
}

#index .recruitBox {
	background: #007EFC;
	overflow: hidden;
	padding-bottom: 8rem;
}
#index .recruitBox .photo {
	margin: 0 -0.4rem;
}
#index .recruitBox .photo img {
	width: 100%;
}
#index .recruitBox .headLine05 {
	color: #fff;
	margin-bottom: 3.2rem;
}
#index .recruitBox .headLine05 .en {
	color: rgba(255, 255, 255, 0.60)
}
#index .recruitBox .imgBox {
	margin-top: -7.8rem;
	max-width: 153.4rem;
	padding-left: 4.5rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	font-size: clamp(16px,1.8rem,1.9rem);
	color: #fff;
}
#index .recruitBox .imgBox p {
	letter-spacing: 0.3em;
	font-size: clamp(14px, 1.6rem, 1.7rem);
}
#index .recruitBox .imgBox .lBox {
	flex: 1;
	padding: 16.7rem 2rem 0 0.9rem;
	transition: .3s;
}
#index .recruitBox .imgBox .rBox {
	width: 62.8rem;
	background-color: #fff;
}

#index .recruitBox .imgBox .rBox img {
	width: 100%;
	transition: .3s;
}
#index .recruitBox .imgBox .link {
	margin-top: 4.1rem;
}
#index .recruitBox .imgBox .link img {
	width: 6.4rem;
}

#index .pageBox {
	margin-top: 0;
	padding: 18.5rem 0 28.5rem;
	position: relative;
	overflow: hidden;
}
#index .pageBox .bgImg {
	width: 210rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin: -1.4rem 0 0 5.3rem;
}
#index .pageBox .content {
	max-width: 84rem;
	position: relative;
	z-index: 10;
}
#index .pageBox .linkUl li {
	margin-bottom: 11rem;
}
#index .pageBox .linkUl li:last-child {
	margin-bottom: 0;
}
#index .pageBox .linkUl a {
	padding: 1.8rem 7.1rem 2rem;
	height: 20rem;
	border-radius: 2rem;
	border: 2px solid #FFF;
	background: rgba(255, 255, 255, 0.60);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	display: flex;
	align-items: center;
	position: relative;
}
#index .pageBox .linkUl .headLine05 {
	width: 100%;
	display: flex;
	align-items: center;
	letter-spacing: 0.1em;
}
#index .pageBox .linkUl .headLine05 .jp {
	width: 155px;
	flex-shrink: 0;
	font-size:clamp(23px,2.4rem,2.5rem);
}
#index .pageBox .linkUl .headLine05 .en {
	color: #1F1F1F;
	margin: 0;
	flex: 1;
}
#index .pageBox .linkUl a::after {
	width: 8rem;
	height: 8rem;
	position: absolute;
	right: 7.1rem;
	background: url("/assets/83937e15f88df6e9d3fb.png") no-repeat left top / 100% 100%;
	content: "";
	transform: translateY(-50%);
	top: 50%;
}
#index {
	margin-bottom: -23.5rem;
}
@media all and (min-width: 897px) {
	#index .recruitBox .imgBox a:hover {
		opacity: 0.7;
	}
	#index .pageBox .linkUl a:hover {
		opacity: 0.7;
	}
	#index .serviceBox .listUl a:hover {
		opacity: 0.7;
	}
	#index .serviceBox .link a:hover {
		opacity: 0.7;
	}
	#index .aboutBox a:hover {
		opacity: 0.7;
	}
	#index .newsBox .rBox a:hover {
		opacity: 0.7;
	}
	#index .serviceBox .listUl .white a::after {
		background-image: url("/assets/83dabc74476e2ddca131.png");
	}
	#index .serviceBox .listUl .textBox {
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background-color: rgba(0,0,0,0.3);
		backdrop-filter: blur(1rem);
		-webkit-backdrop-filter: blur(1rem);
		min-height:207px;
	}
	#index .serviceBox .listUl .white .textBox {
		color: #000;
	}
	#index .serviceBox .listUl .white .textBox {
		background-color: rgba(255,255,255,0.7);
	}
		#index .serviceBox .listUl .white.item03 .textBox {
		background-color: rgba(240,254,255,0.85);
	}
	#index .serviceBox .listUl .item03 .textBox::after {
		display: none;
	}
	#index .serviceBox .listUl .image {
  overflow: hidden;
  position: relative;
	height:58rem;

	}

	#index .serviceBox .listUl .image img {
		width: 100%;
	}
	#index .serviceBox .listUl li.item01 img.pc {
	  object-fit: cover;
	  width: 100%;
	  height: 100%;
	  transform: translateY(0%);
	}
	#index .serviceBox .listUl li.item02 img.pc {
	  object-fit: cover;
	  width: 100%;
	  height: 100%;
	  transform: translateY(0%);
	}

	#index .serviceBox .listUl li.item03 img.pc {
	  object-fit: cover;
	  width: 100%;
	  height: 100%;
	  transform: translateY(0%);
	}
	#index .sec01 .inn .finishTxt {
		text-align: left;
	}
	#index .serviceBox .listUl li.item01 {
    background-color: #000;
  }

  #index .serviceBox .listUl li.item02 {
    background-color: #fff;
  }

  #index .serviceBox .listUl li.item03 {
    background-color: rgba(240,250,255,0.7);
  }
}
@media all and (max-width: 896px) {
	#index .sec01 {
		padding-top: 11rem;
	}
	#index .sec01 .pos01 {
		left: -6rem;
	}
	#index .sec01 .pos02 {
		top: 5rem;
		left: auto;
		right: 0;
	}
	#index .sec01 .pos01 .inner {
		width: 18rem;
  		height: 10rem;
	}
	#index .sec01 .pos02 .inner {
		width: 21rem;
		height: 12rem;
	}
	#index .sec01 .inn {
		margin: 0 2rem;
		max-width: inherit;
		width: auto;
		text-align: center;
	}
	#index .finishTxt {
		font-size: clamp(14px,1.5rem,1.6rem);
		letter-spacing: 0.2rem;
	}
	#index .sec01 .movie {
		height: 48.5vw;
		margin-bottom: 2rem;
	}
	#index .newsBox {
		margin: 2.6rem 0 2px auto;
		padding: 1.1rem 1.5rem 1.5rem;
		position: relative;
		border-width: 1px;
		border-radius: 0.8rem 0 0 0.8rem;
		width: calc(50% + 10.5rem);
	}
	#index .newsBox .flexBox {
		display: block;
	}
	#index .newsBox .lBox {
		display: none;
	}
	#index .newsBox .lBox .headLine05 .en {
		margin-top: 0;
		font-size: clamp(9px,1rem,1.1rem);
	}
	#index .newsBox .headLine05 {
		font-size: clamp(18px,2rem,2.1rem);
	}
	#index .newsBox .headLine05 {
		margin-bottom: 2rem;
		text-align: center;
	}
	#index .newsBox .rBox a::after {
		display: none;
	}
	#index .newsBox dt {
		margin-bottom: 0.4rem;
		font-size: clamp(9px,1.4rem,1.5rem);
	}
	#index .newsBox dt .time {
		font-size: clamp(10px,1.4rem,1.5rem);
		margin-left: 0.9rem;
		letter-spacing: 0.05em;
	}
	#index .newsBox dt .cat {
		padding: 0.4rem 0.5rem 0.5rem;
		min-width: 8.2rem;
		letter-spacing: 0;
		font-size: clamp(7px,1.2rem,1.3rem);
	}
	#index .newsBox .rBox a {
		padding-right: 0;
		font-size: clamp(11px,1.3rem,1.4rem);
	}
	#index .newsBox dd {
		letter-spacing: 0;
		line-height:1.6;
	}
	#index .bgBox {
		margin-top: -5.1rem;
		padding: 9.9rem 0 7.4rem;
		overflow: hidden;
	}
	#index .aboutBox .lBox {
		margin-bottom: 0.4rem;
		padding: 0;
		text-align: center;
	}
	#index .aboutBox .photo {
		width: auto;
		margin: 0 1.6rem;
	}
	#index .aboutBox .flexBox {
		display: block;
		margin-bottom: 0;
	}
	#index .aboutBox .link img {
		width: 7.1rem;
	}
	#index .aboutBox .headLine05 .en {
		position: relative;
        z-index: 10;
	}
	#index .serviceBox .listUl {
		display: block;
	}
	#index .serviceBox .listUl li {
		width: auto;
		margin-bottom: 2rem;
	}
	#index .serviceBox .listUl li:last-child {
		margin-bottom: 0;
	}
	#index .serviceBox {
		margin-bottom: 0;
		padding: 0 2.9rem;
		width: auto;
		position: relative;
	}
	#index .serviceBox .listUl a::after {
		display: none;
	}
	#index .serviceBox .listUl .textBox p {
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#index .serviceBox .bgImg {
		width: 35rem;
		position: absolute;
		top: 0.8rem;
		right: 0;
	}
	#index .serviceBox .bgImg02 {
		margin-top: 13rem;
		width: 37rem;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		right: auto;
	}
	#index .serviceBox .bgImg03 {
		width: 39.3rem;
		top: auto;
		bottom: -19rem;
	}
	#index .aboutBox {
		margin-bottom: 10rem;
	}
	#index .aboutBox .bgImg {
		margin: -3rem 0 0 0;
		width: 34rem;
		left: 0;
		transform: translate(0,0);
		top: 0;
	}
	#index .serviceBox .link img {
		width: 7.1rem;
	}
	#index .serviceBox .headLine05 {
		margin-bottom: 1.2rem;
	}
	#index .serviceBox .headLine05 .en {
		position: relative;
        z-index: 10;
	}
	#index .serviceBox .link {
		position: relative;
		z-index: 10;
		margin: 0 0 0.9rem 1rem;
	}
	#index .serviceBox .listUl .textBox {
		padding: 1.9rem 2rem 3rem;
		background-color: #1F1F1F;
		line-height: 1.6;
		letter-spacing: 0;
		font-size: clamp(12px,1.5rem,1.6rem);
	}
	#index .serviceBox .listUl a {
		font-size: clamp(12px,1.3rem,1.4rem);
	}
	#index .serviceBox .listUl .textBox .ttl {
		font-size: clamp(15px,1.6rem,1.8rem);
		line-height: 1.5;
		margin-bottom: 1rem;
	}
	#index .releaseBox .content {
		padding: 0 3rem;
	}
	#index .releaseBox {
		padding: 5.9rem 0 5.6rem;
	}
	#index .releaseBox .comNewsList .category {
		width: calc(100% - 57.8%);
	}
	#index .releaseBox .comNewsList {
		margin-right: 0;
	}
	#index .releaseBox .comNewsList .category span {
		font-size: clamp(12px,1.3rem,1.4rem);
	}
	#index .releaseBox .headLine05 {
		margin-bottom: 1.5rem;
	}
	#index .releaseBox .releaseList .meta .category {
		font-size: clamp(10px, 1.1rem, 1.2rem);
	}
	#index .releaseBox .releaseList .meta .time {
		font-size: clamp(11px, 1.2rem, 1.3rem);
	}
	#index .releaseBox .releaseList .ttl {
		font-size: clamp(13px, 1.5rem, 1.6rem);
	}
	#index .releaseBox .releaseList a {
		padding: 2.7rem 3.2rem 2.6rem 0;
	}
	#index .releaseBox .moreBtn {
		margin: 5.3rem 0 0 0;
	}
	#index .recruitBox .imgBox {
		display: block;
		font-size: clamp(14px,1.6rem,1.7rem);
		margin: 0 0 5rem;
		max-width: inherit;
		padding: 0 4.6rem;
	}
	#index .recruitBox .imgBox .lBox {
		padding: 5rem 0 3rem;
		margin: 0 -2rem;
		text-align: center;
	}
	#index .recruitBox .imgBox p {
		letter-spacing: 0;
	}
	#index .recruitBox .headLine05 {
		margin-bottom: 1.8rem;
		font-size: clamp(18px, 2.2rem, 2.8rem);
		text-align: center;
	}
	#index .recruitBox .imgBox .link img {
		width: 5.4rem;
	}
	#index .recruitBox .imgBox .rBox {
		width: auto;
	}
	#index .pageBox {
		padding: 6.2rem 0;
		margin-top: 0;
	}
	#index .pageBox .linkUl a {
		height: auto;
		padding: 3rem 6.1rem 3rem 2rem;
		justify-content: center;
		border-radius: 1.5rem;
	}
	#index .pageBox .linkUl .headLine05 {
		font-size: clamp(16px,1.8rem,1.9rem);
	}
	#index .pageBox .linkUl .headLine05 .jp {
		width: 8rem;
		margin-top: -0.3rem;
		font-size: clamp(14px,1.5rem,1.6rem);
	}
	#index .pageBox .linkUl .headLine05 .en {
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#index .pageBox .content {
		padding: 0 4.5rem;
	}
	#index .pageBox .linkUl a::after {
		width: 4rem;
		height: 4rem;
		right: 2rem;
	}
	#index .pageBox .linkUl li {
		margin-bottom: 2rem;
	}
	#index .pageBox .linkUl li:last-child {
		margin-bottom: 0;
	}
	#index {
		margin-bottom: -10rem;
	}
	#index .aboutBox .finishTxt {
		margin: 0 -1.5rem 19.9rem;
		max-width: inherit;
		text-align: center;
		font-size: clamp(13px,1.4rem,1.5rem);
		width: auto;
		display: none;
	}
	#index .serviceBox::after {
		opacity: 0.8;
		display: none;
	}
	#index .releaseBox .comNewsList .time {
		top: 2.8rem;
	}
	#index .releaseBox .comNewsList .flexW::after {
		display: none;
	}
	#index .releaseBox .comNewsList a {
		border-bottom: 0.1rem solid #FFF;
	}
	#index .aboutBox .link {
		margin-left: 1rem;
		position: relative;
		z-index: 10;
	}
	#index .aboutBox .headLine05 {
		margin-bottom: 1.4rem;
	}
	#index .pageBox .bgImg {
		width: 65rem;
		margin: 2.6rem 0 0 5.3rem;
	}
	#index .recruitBox {
		padding-bottom: 0;
	}
	#index .recruitBox .photo {
		color: #fff;
		position: relative;
	}
	#index .recruitBox .photo p {
		width: 100%;
		position: absolute;
		bottom: 14%;
		left: 0;
		text-align: center;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#index .recruitBox .imgBox .link {
		margin-top: 1.4rem;
	}
	#index .serviceBox .listUl .image img.sp {
    display: block;
    width: 100%;      
    height: auto;     
  }
	  #index .serviceBox .innerBox {
    max-width: 1200px;   
    margin: 0 auto;      
    padding: 0 20px;     
    box-sizing: border-box;
  }
}




.headLine05 {
	color: #1F1F1F;
	font-size: clamp(18px,2.4rem,2.6rem);
	font-weight: 500;
	letter-spacing: 0.05em;
}
.headLine05 .en {
	color: #8A8A8A;
	margin-top: 1.4rem;
	display: block;
	font-weight: 700;
	font-size: clamp(10px,1.4rem,1.6rem);
	letter-spacing: 0.31em;
}
.headLine05.big {
	font-size: clamp(30px,3.2rem,3.4rem);
}
.headLine05.big .en {
	font-size: clamp(16px,1.8rem,1.9rem);
	letter-spacing: 0.2em;
}
.headLine05.center {
	text-align: center;
}
@media all and (max-width: 896px) {
	.headLine05 {
		font-size: clamp(18px,2.2rem,2.8rem) ;
	}
	.headLine05 .en {
		margin-top: 1rem;
		font-size: clamp(12px,1.3rem,1.4rem);
		letter-spacing: 0.2em;
	}
	.headLine05.big {
		font-size: clamp(18px,2rem,2.1rem);
	}
	.headLine05.big .en {
		font-size: clamp(10px,1.6rem,1.8rem)
	}
	.headLine05.style {
		position: relative;
		font-size: clamp(18px,2.2rem,2.8rem) !important;
	}
	.headLine05.style .inner {
		position: relative;
		z-index: 10;
	}
	.headLine05.style::after {
		width: 39.3rem;
		height: 26.2rem;
		background: url("/assets/6ab3dad9f76b62e6857f.png") no-repeat left top / 100% 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		content: "";
		pointer-events: none;
	}
	.headLine05.style .en {
		margin-top: 0.8rem !important;
		font-size: clamp(10px,1.6rem,1.8rem) !important;
	}
}


.moreBtn a {
	color: #fff;
	font-weight: 300;
	font-size: clamp(24px,2.8rem,3rem);
	letter-spacing: 0.05em;
}
.moreBtn img {
	margin: 0.4rem 2.4rem 0 0;
	width: clamp(60px,6.4rem,6.6rem);
	display: inline-block;
	vertical-align: middle;
}
@media all and (min-width: 897px) {
	.moreBtn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.moreBtn img {
		margin: 0.4rem 1rem 0 0;
		width: 5.4rem;
	}
	.moreBtn a {
		font-size: clamp(22px,2.4rem,2.5rem);
	}
}



.comValue {
	display: flex;
	flex-flow: row;
    align-items: center;
	position: relative;
	z-index: 15;
}


.comValue li {
	margin: 0 1.9rem;
	width: calc((100vw - 3.7rem * 4) / 5);
	flex-shrink: 0;
	position: relative;
	cursor: pointer;
}
.comValue li::after {
	content: "";
	display: block;
	padding-bottom: 86.11%;
}
.comValue li a {
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2rem;
	background: rgba(255, 255, 255, 0.40);
	color: rgba(255, 255, 255, 0.60);
	text-align: center;
	font-size: clamp(90px,10rem,10.1rem);
	font-weight: 500;
	letter-spacing: 0.5rem;
	transition: .3s;
}
.mfp-content:has(.popB) {
	width: fit-content;
}
.popB {
	width: 56.4rem;
	min-height: 48.5rem;
	border-radius: 2rem;
	color: #1F1F1F;
	padding: 5rem 2rem;
	background: #FFF;
	box-shadow: 3rem 3rem 3rem 0 rgba(0, 0, 0, 0.10);
	box-sizing: border-box;
	font-size: clamp(14px,1.5rem,1.6rem);
	text-align: center;
}
.popB .popTtl {
	font-size: clamp(22px,2.4rem,2.5rem);
	text-align: center;
	font-weight: 500;
}
.popB .popTtl sup {
	font-size: clamp(14px,1.5rem,1.6rem);
	margin-left: 0.5rem;
}
.popB p {
	line-height: 1.733;
}
.popB .popPho {
	margin: -7.3rem auto -7.5rem;
	max-width: 41.7rem;
}
.popB .popPho img {
	width: 100%;
}

@media all and (min-width: 897px) {
	.comValue li a:hover {
		color: #007AFC;
		background: #fff;
	}
	.comValue .center .pc {
		display: none !important;
	}
	.comValue .center .sp {
		display: block !important;
	}
	.comValue .center a {
		color: #007AFC;
		background: #fff;
	}
	.comValue .center .popTtl {
		width: 100%;
		position: absolute;
		top: 14.5%;
		left: 0;
		color: #1F1F1F;
		font-size: clamp(22px,2.4rem,2.5rem);
		font-weight: 500;
		text-align: center;
		letter-spacing: 0.07em;
	}
	.comValue .center .popTtl sup {
		font-size: clamp(14px,1.6rem,1.7rem);
	}
	.comValue .center .popPho {
		width: 100%;
		padding-bottom: 100%;
		position: relative;
		overflow: hidden;
	}
	.comValue .center .popPho img {
		width: 118%;
		height: 118%;
		position: absolute;
		top: 50%;
		left: 50%;
		object-fit: cover;
		max-width: inherit;
		transform: translate(-50%,-50%);
		margin-top: 1.7rem;
	}
	.comValue .center .innerBox {
		position: relative;
		width: 100%;
	}
}
@media all and (max-width: 896px) {
	.comValue {
		padding-bottom: 3rem;
	}
	.comValue li {
		margin: 0 0.5rem 0 0.4rem;
		width: 48vw;
	}


	.popB {
		width: 100%;
		min-height: 40.5rem;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	.popB .popTtl {
		font-size: clamp(18px,2rem,2.1rem);
	}
	.comValue li a {
		border-radius: 2rem;
		background: rgba(255, 255, 255, 0.60);
		color: rgba(255, 255, 255, 0.60);
		font-size: clamp(65px,7rem,7.1rem);
		letter-spacing: 0.5rem;
		box-shadow: 1rem 1rem 2rem rgba(0, 0, 0, 0.10);
		position: relative;
		height: 41.5vw;
	}
	.comValue .popTtl {
		width: 100%;
		position: absolute;
		top: 11.5%;
		left: 0;
		color: #1F1F1F;
		font-size: clamp(13px,1.4rem,1.5rem);
		font-weight: 500;
		text-align: center;
		letter-spacing: 0.07em;
	}
	.comValue .popPho {
		width: 100%;
		padding-bottom: 41.5vw;
		position: relative;
		overflow: hidden;
	}
	.comValue .popPho img {
		width: 108%;
		height: 108%;
		position: absolute;
		top: 50%;
		left: 50%;
		object-fit: cover;
		max-width: inherit;
		transform: translate(-50%,-50%);
		margin-top: 0.2rem;
	}
	.comValue .innerBox {
		position: relative;
		width: 100%;
	}
	.comValue li::after {
		padding-bottom: 0;
	}
	.comValue .popTtl sup {
		font-size: clamp(9px,1rem,1.1rem);
	}
	.comValue .center a {
		color: #007AFC;
		background: #fff;
	}
	.comValue .pc {
		display: block !important;
	}
	.comValue .sp {
		display: none !important;
	}
	.comValue .center .pc {
		display: none !important;
	}
	.comValue .center .sp {
		display: block !important;
	}
}


#about {
	overflow: hidden;
	margin-bottom: -23.5rem;
	padding-bottom: 44.7rem;
	background: url("/assets/237fc61f4aaffc530ca8.jpg") no-repeat left bottom / 100% auto;
}
#about .bgBox {
	position: relative;
}
#about .sec01 {
	padding: 13.5rem 0 12.2rem;
	text-align: center;
	letter-spacing: 0.1em;
	position: relative;
}
#about .sec01 .content {
	position: relative;
	z-index: 10;
}
#about .sec01 p {
	font-size: clamp(14px,1.6rem,1.7rem);
	line-height: 2.5;
}
#about .sec01 .title {
	font-weight: 500;
	font-size: clamp(30px, 3.2rem,3.4rem);
	margin-bottom: 3.8rem;
	letter-spacing: 0.05em;
}
#about .sec01 .subTitle {
	margin-bottom: 3.6rem;
	font-size: clamp(22px,2.4rem,2.5rem);
	line-height: 1.8;
	font-weight: normal;
	letter-spacing: 0.1em;
}
#about .sec01 .bgImg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
}
#about .sec01 .bgImg img {
	width: 100%;
}
#about .sec01 .bg01 {
	margin: -6.9rem 0 0 -3.8rem;
	width: 171.7rem;
}
#about .sec01 .bg02 {
	margin: 2.4rem 0 0 23.7rem;
	width: 170rem;
	display: none !important;
}

#about .sec02 {
	position: relative;
}
#about .sec02 .bgImg {
	width: 149.5rem;
	position: absolute;
	top: -44.7rem;
	left: 50%;
	transform: translateX(-50%);
	margin-left: -25.7rem;
	display: none !important;
}
#about .sec02 .bgImg img {
	width: 100%;
}
#about .sec02 .photo {
	mix-blend-mode: multiply;
}
#about .sec02 .photo img {
	width: 100%;
}
#about .sec02 .textBox {
	margin-top: -0.8rem;
	color: #fff;
	padding-left: 2rem;
	width: 79.6rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 15;
	width: 79.6rem;
	margin-left: -23rem;
	font-size: clamp(14px,1.6rem,1.7rem);
	box-sizing: border-box;
}
#about .sec02 .textBox p {
	line-height: 2.5;
	letter-spacing: 0.1em;
}
#about .sec02 .textBox .title {
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-bottom: 6.2rem;
}
#about .sec02 .textBox .headLine05 {
	margin-bottom: 8.4rem;
	color: #8A8A8A;
	font-size: clamp(26px,2.8rem,2.9rem);
	letter-spacing: 0.2em;
	font-weight: 400;
}
#about .sec02 .textBox .headLine05 .en {
	margin: 0 0 0 4.1rem;
	color: #8A8A8A;
	display: inline-block;
	vertical-align: middle;
	font-size: clamp(14px,1.6rem,1.7rem);
	letter-spacing: 0.1em;
}
#about .secTtl {
	margin-bottom: 4.1rem;
	color: #007AFC;
	text-align: center;
	font-family:"futura-pt",sans-serif;
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.2rem;
	position: relative;
}
#about .sec03 {
	margin-bottom: 15.4rem;
	padding: 20.9rem 0 57.8rem;
	position: relative;
	background: url("/assets/e045b79fbb2d5f418d3e.jpg") no-repeat left top / 100% auto;
}
#about .sec03 .subBox {
	position: relative;
}
#about .sec03 .pos {
	width: 232.7rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	pointer-events: none;
}
#about .sec03 .pos01 {
	margin: 3.6rem 0 0 8.2rem;
}
#about .sec03 .pos02 {
	width: 182.6rem;
	margin: 15.6rem 0 0 21.2rem;
	z-index: 2;
}
#about .sec03 .pos03 {
	width: 230rem;
	margin: 13.6rem 0 0 -17.8rem;
	z-index: 4;
}
#about .sec03 .headLine05,
#about .sec04 .headLine05 {
	margin-bottom: 12.2rem;
	text-align: center;
	color: #8A8A8A;
	font-size: clamp(26px,2.8rem,2.9rem);
	font-weight: 400;
	letter-spacing: 0.2em;
}
#about .sec03 .headLine05 .en,
#about .sec04 .headLine05 .en {
	font-size: clamp(14px,1.6rem,1.7rem);
	letter-spacing: 0.2em;
}
#about .sec03 .centerTxt {
	text-align: center;
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-bottom: 22.2rem;
}
#about .sec03 .h3Title {
	margin-bottom: 17.8rem;
}

#about .sec04 .flexBox {
	display: flex;
	justify-content: space-between;
}
#about .sec04 .flexBox .lBox {
	width: 41.6rem;
}
#about .sec04 .flexBox .imgUl li {
	margin-bottom: 7.6rem;
}
#about .sec04 .flexBox .imgUl li:last-child {
	margin-bottom: 0;
}
#about .sec04 .flexBox .rBox {
	flex: 1;
	margin: -0.1rem 0 0 21.5rem;
	order: 3;
}
#about .sec04 .headLine05 {
	margin-bottom: 9.1rem;
}
#about .sec04 .content {
	max-width: 131.8rem;
}
#about .sec04 .historyUl li {
	margin-bottom: 1.6rem;
	padding-left: 9.4rem;
	color: #1F1F1F;
	position: relative;
	font-size: clamp(16px,1.8rem,1.9rem);
	padding-bottom: 2.4rem;
}
#about .sec04 .historyUl li::before {
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #1F1F1F;
	content: "";
}
#about .sec04 .historyUl li:last-child {
	margin-bottom: 0;
}
#about .sec04 .historyUl li:last-child::before {
	display: none;
}
#about .sec04 .historyUl .year {
	color: #1F1F1F;
	font-size: clamp(39px,4.2rem,4.3rem);
	font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
	position: absolute;
	top: -0.6rem;
	left: -4.2rem;
	padding-bottom: 1.2rem;
	background-color: #fff;
	line-height: 1;
}
#about .sec04 .historyUl dl dt {
	margin-bottom: 1.4rem;
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 500;
	line-height: 1;
	font-family: "Roboto Condensed", sans-serif;
}
#about .sec04 .historyUl dl dd {
	margin-bottom: 3.9rem;
}
#about .sec04 .historyUl dl dd:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 897px) and (max-width: 1500px) {
	#about .sec02 .textBox {
		margin-left: -20rem;
	}
}
@media all and (max-width: 896px) {
	#about {
		margin-bottom: -10.5rem;
		padding-bottom: 14rem;
	}
	#about .sec02 .textBox {
		margin: -3.8rem 0 0;
		padding: 0 2.6rem 3.5rem;
		width: auto;
		position: static;
		top: auto;
		left: auto;
		transform: translate(0);
		font-size: clamp(12px,1.3rem,1.4rem);
		background: #000;
	}
	#about .sec04 .flexBox {
		display: block;
	}
	#about .sec04 .flexBox .lBox {
		margin: 3rem -3rem 0;
		width: auto;
	}
	#about .sec04 .flexBox .imgUl li {
		margin: 0 0.2rem 0;
		width: 18.3rem;
	}
	#about .sec04 .flexBox .rBox {
		margin: 0;
	}
	#about .sec03 .pos {
		width: 72.3rem;
	}
	#about .sec03 .pos02 {
		width: 137%;
		margin: -1.4rem 0 0 15.2rem;
	}
	#about .sec03 .pos03 {
		width: 166%;
		margin: 7.6rem 0 0 0.2rem;
	}
	#about .sec03 .pos01 {
		margin: -0.4rem 0 0 -1.8rem;
	}
	#about .sec01 .title {
		margin: 0 -3rem 2.3rem;
		font-size: clamp(16px,1.8rem,1.9rem);
	}
	#about .sec01 .subTitle {
		margin-bottom: 2.2rem;
		font-size: clamp(13px,1.4rem,1.5rem);
		letter-spacing: 0.1em;
	}
	#about .sec01 .content {
		padding: 0 1rem;
	}
	#about .sec01 p {
		font-size: clamp(12px,1.3rem,1.4rem);
		line-height: 2.1;
	}
	#about .sec01 {
		letter-spacing: 0;
		padding: 5.1rem 0 2.6rem;
		overflow: hidden;
	}
	#about .sec01 .bg01 {
		margin: 0.2rem 0 0 8.3rem;
		width: 72rem;
	}
	#about .sec01 .bg02 {
		margin: 2.4rem 0 0 43.7rem;
		width: 124rem;
	}
	#about .sec02 .photo img {
		width: 100%;
	}
	#about .sec02 .textBox .headLine05 {
		margin-bottom: 3rem;
		font-size: clamp(16px,1.8rem,1.9rem);
	}
	#about .sec02 .textBox .headLine05 .en {
		font-size: clamp(12px,1.3rem,1.4rem);
		margin: 0.4rem 0 0 1.1rem;
		letter-spacing: 0.15em;
	}
	#about .sec02 .textBox .title {
		margin-bottom: 1.6rem;
		font-size: clamp(14px,1.6rem,1.7rem);
	}
	#about .sec02 .textBox p {
		letter-spacing: 0;
		line-height: 2.1;
	}
	#about .sec03 {
		margin-bottom: 9.6rem;
		padding: 10.5rem 0 0;
	}
	#about .sec03 .headLine05,
	#about .sec04 .headLine05 {
		margin-bottom: 3.7rem;
		font-size: clamp(16px,1.8rem,1.9rem);
	}
	#about .sec03 .headLine05 .en,
	#about .sec04 .headLine05 .en {
		margin-top: 0.8rem;
		font-size: clamp(12px,1.3rem,1.4rem);
		font-weight: 300;
	}
	#about .secTtl {
		margin-bottom: 0.9rem;
		font-size: clamp(14px,1.6rem,1.7rem);
	}
	#about .sec03 .centerTxt {
		margin-bottom: 4rem;
		font-size: clamp(14px,1.6rem,1.7rem);
		line-height: 1.45;
	}
	#about .sec03 .h3Title {
		margin-bottom: 3.1rem;
	}
	#about .sec04 .headLine05 {
		margin-bottom: 6.7rem;
	}
	#about .sec04 .flexBox .imgUl img {
		width: 100%;
	}
	#about .sec04 .historyUl .year {
		padding: 0.3rem 0;
		left: -0.5rem;
		font-size: clamp(22px,2.4rem,2.5rem);
		top: -3.2rem;
	}
	#about .sec04 .historyUl li::before {
		left: 1.4rem;
	}
	#about .sec04 .historyUl dl dt {
		font-size: clamp(14px,1.6rem,1.7rem);
		margin-bottom: 0.9rem;
	}
	#about .sec04 .historyUl li {
		margin-bottom: 1.6rem;
		padding-left: 6.3rem;
		font-size: clamp(13px,1.4rem,1.5rem);
		padding-bottom: 2.4rem;
	}
	#about .sec04 .historyUl dl dd {
		margin-bottom: 2.4rem;
	}
	#about .sec02 .photo {
		mix-blend-mode: multiply;
		background-color: #000;
		padding: 1.1rem 7.1rem 0 5.5rem;
	}
}





.mainVisual02 {
	padding-top: 24rem;
	height: 45.2rem;
	background-color: #fff;
	position: relative;
	z-index: 20;
	overflow: hidden;
}
.mainVisual02 .title {
	font-size: clamp(30px, 3.2rem,3.4rem);
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 10;
}
.mainVisual02 .image {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: 1;
}
.mainVisual02 .image::before {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255,255,255, 0.55);
	content: "";
	z-index: 10;
}
.mainVisual02 .image img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	z-index: 5;
}
.mainVisual02 .comLinkUl {
	position: relative;
	z-index: 15;
	transform: none;
}
@media all and (max-width: 896px) {
	.mainVisual02 .title {
		font-size: clamp(18px,2.2rem,2.8rem) !important;
	}
	.mainVisual02 {
		padding-top: 12rem;
		height: 26rem;
	}
}


.comLinkUl {
	margin: 5.1rem 0 0 1.6rem;
	font-weight: 500;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.comLinkUl li {
	margin: 0 6.7rem;
}
.comLinkUl a {
	min-width: 8.6rem;
	padding: 0 2.2rem 0 1.3rem;
	font-size: clamp(15px, 1.6rem, 1.7rem);
	display: inline-block;
	vertical-align: top;
	position: relative;
	letter-spacing: 0.05em;
	box-sizing: border-box;
}
.comLinkUl a:after {
	width: 1.3rem;
	height: 1rem;
	position: absolute;
	top: 0.8rem;
	right: 0;
	background: url("/assets/0baff323661af9d6b163.png") no-repeat left top / 100% 100%;
	content: "";
}
.comLinkUl a .inner {
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.comLinkUl a .inner::after {
	width: 6.3rem;
	height: 6.3rem;
    position: absolute;
    left: 50%;
    top: 50%;
	transition: all 0.2s cubic-bezier(0.79, 0.17, 0.15, 0.96) 0.05s;
    background-color: #007AFC;
	filter: blur(1rem);
	border-radius: 100%;
    content: "";
	transform: translate(-50%,-50%);
	opacity: 0;
}
.comLinkUl a .inner span {
	display: block;
	position: relative;
	z-index: 10;
}
@media all and (min-width: 897px) {
	.comLinkUl a:hover .inner::after {
		opacity: 1;
	}
}
@media all and (max-width: 896px) {
	.comLinkUl {
		margin: 3.1rem 0 0 0;
	}
	.comLinkUl li {
		margin: 0 1rem;
	}
	.comLinkUl a {
		min-width: 7.6rem;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	.comLinkUl a:after {
		top: 0.6rem;
	}
}


#company .mainVisual02 {
	margin-bottom: 9.7rem;
}
#company .messageBox .title {
	text-align: center;
	color: #8A8A8A;
	font-weight: 300;
	font-size: clamp(35px,4rem,4.1rem);
	letter-spacing: 0.1em;
	margin-bottom: 10.6rem;
}
#company .messageBox .imgBox {
	display: flex;
	justify-content: space-between;
}
#company .messageBox .imgBox .photo {
	width: 58.7rem;
}
#company .messageBox .imgBox .textBox {
	margin: -0.1rem 0 0 8.3rem;
	flex: 1;
	font-size: clamp(14px,1.6rem,1.7rem);
}
#company .messageBox .imgBox .textBox p {
	line-height: 1.8;
	letter-spacing: 0.1em;
}
#company .messageBox .imgBox .ttl {
	margin-bottom: 1.9rem;
	font-size: clamp(35px,4rem,4.1rem);
	font-weight: 500;
	letter-spacing: 0.1em;
}
#company .content {
	padding: 0;
	width: calc(100% - 4rem);
	max-width: 150rem;
}
#company .messageBox {
	padding: 0 7rem;
}
#company .messageBox .name {
	margin-top: 2.8rem;
}
#company .messageBox .name img {
	width: 38.3rem;
	display: inline-block;
	vertical-align: middle;
	margin: -0.4rem 0 0 1.9rem;
}
#company .borStyle {
	padding-bottom: 10rem;
	border-bottom: 3px solid #D9D9D9;
}
#company .h2Title {
	font-size: clamp(22px,2.4rem,2.5rem);
	margin-bottom: 11.2rem;
	font-weight: 500;
	text-align: center;
}
#company .stewardBox .listUl {
	margin: 0 auto;
  	max-width: 136.6rem;
	color: #1F1F1F;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9.9rem 6rem;
	font-size: clamp(14px,1.6rem,1.7rem);
	letter-spacing: 0.07em;
	line-height: 1.45;
	font-weight: 300;
}
#company .stewardBox .listUl li {
	min-width: 0;
}
#company .stewardBox .advisor-list {
	margin-top: 14rem;
}
#company .stewardBox .listUl .name {
	margin-bottom: 0.9rem;
	font-size: clamp(18px,2rem,2.1rem);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
#company .stewardBox .listUl .en {
	display: inline-block;
	vertical-align: middle;
	color: #8A8A8A;
	font-size: clamp(14px,1.6rem,1.7rem);
	font-weight: 300;
	margin: 0 0 0 1.8rem;
	letter-spacing: 0.09em;
}
#company .stewardBox .listUl .txt {
	margin-bottom: 3.1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
#company .stewardBox .listUl .image {
	margin-bottom: 2.4rem;
}
#company .stewardBox .listUl .image img {
	width: 100%;
}
#company .stewardBox {
	padding: 13.8rem 0 15.1rem;
}
#company .companyBox {
	max-width: 103.7rem;
	margin-bottom: 12.5rem;
	padding-top: 13.8rem;
}
#company .companyBox .h2Title {
	margin-bottom: 9.1rem;
}
#company .companyBox table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 22px 0;
}
#company .companyBox table th,
#company .companyBox table td {
	padding: 1.3rem 0 1.4rem;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #E5E5E5;
	line-height: 1.575;
	font-size: clamp(14px,1.6rem,1.7rem);
	letter-spacing: 0.05em;
}
#company .companyBox table th {
	color: #8A8A8A;
	font-weight: 500;
	white-space: nowrap;

}

#company .companyBox .flex {
	align-items: flex-start;
}
#company .companyBox .listDl {
	line-height: 1.5;
}
#company .companyBox .listDl dt {
	padding: 0.25rem 0;
}
#company .companyBox .listDl dd {
	margin-bottom: 0.8rem;
	width: calc(100% - 13.9rem);
}
#company .companyBox .listDl dd:last-child {
	margin-bottom: 0;
}

#company .companyBox .lTxt .sml {
	margin-top: 0.2rem;
	font-size: clamp(13px,1.4rem,1.5rem);
	display: block;
}
#company .companyBox .lTxt {
	width: 40.2rem;
}
#company .companyBox .flexBox02 .lTxt {
	line-height:2;
}
#company .companyBox .rBox {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	font-size: clamp(13px,1.4rem,1.5rem);
	line-height: 1.3;
	flex: 1;
	letter-spacing: 0;
	padding-right:30px;
}
#company .companyBox .rBox img {
	width: 60px;
	margin: 0 1rem 0.4rem 0;
}
#company .companyBox .rBox .wpTxt {
	font-size:11px;
	line-height:1.5;
	white-space: nowrap;
	padding-bottom: 2px;
}
#company .companyBox .flexBox02 .rBox {
	align-items: center;
	gap:56px;
}
#company .companyBox .flexBox02 .rBox img {
	width: 100px;
	margin: 0;
}
#company .companyBox .flexBox02 .rBox img:last-of-type {
	width: 93px;
}
#company .photoBox img {
	width: 100%;
}
#company .accessBox {
	padding: 12.9rem 0 2.1rem;
	background-color: #F3F3F3;
	font-weight: 500;
}
#company .accessBox .content {
	max-width: 106rem;
}
#company .accessBox .big {
	font-size: clamp(14px,1.6rem,1.7rem);
	margin-bottom: 0.3rem;
	display: inline-block;
	vertical-align: top;
}
#company .accessBox .mapBtn {
	margin: 2.3rem 0 1.9rem;
}
#company .accessBox .mapBtn a {
	width: 16.1rem;
	height: 3.4rem;
	color: #fff;
	font-size: clamp(14px,1.6rem,1.7rem);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	border-radius: 1rem;
	background: #007EFC;
}
#company .accessBox .h2Title {
	margin-bottom: 8rem;
}
#company .accessBox .map {
	margin-bottom: 1.4rem;
	overflow: hidden;
	padding-bottom: 39.11%;
	position: relative;
	background-color: #C1C1C1;
}
#company .accessBox .map iframe,
#company .accessBox .map .acf-map {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#company .areaBox {
	display: flex;
	justify-content: space-between;
}
#company .areaBox .lBox {
	margin: 8.6rem -8rem 0 0;
	flex: 1;
	display: flex;
}
#company .areaBox .title {
	width: 16.6rem;
	font-size: clamp(14px,1.6rem,1.7rem);
	font-weight: 500;
	letter-spacing: 0.1em;
}
#company .areaBox .listUl {
	margin-top: 0.5rem;
	flex: 1;
}
#company .areaBox .listUl li {
	position: relative;
	padding-left: 1.8rem;
	margin-bottom: 1.5rem;
}
#company .areaBox .listUl li:last-child {
	margin-bottom: 0;
}
#company .areaBox .listUl li::before {
	width: 1rem;
	height: 1.3rem;
	position: absolute;
	top: 0.4rem;
	left: 0;
	background: url("/assets/27f3e78a9fd40a89e3ea.png") no-repeat left top / 100% 100%;
	content: "";
}
#company .areaBox .photo {
	margin: 2.8rem -15.9rem 0 0;
	width: 77rem;
}
#company {
	margin-bottom: -23.5rem;
}


#company .person-item {
  cursor: pointer;
  transition: opacity 0.3s ease;
}
#company .person-item:hover {
  opacity: 0.7;
}


#company .member-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}
#company .member-modal.active {
  display: flex;
}


#company .member-modal .modal-inner {
  background: #fff;
  max-width: 600px;
  width: 100%;
  border-radius: 4px;
  padding: 40px 30px;
  position: relative;
  text-align: left;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
  animation: fadeInModal 0.3s ease;
}
@keyframes fadeInModal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

#company .modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  padding: 0;
  background: transparent;
  border: 0;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 1;
  
  font-size: 0;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}
#company .modal-close svg { display: block; }
#company .modal-close:hover svg path { opacity: .7; }



#company .modal-name {
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 2px;
}
#company .modal-en {
  font-size: 14px;
  color: #8a8a8a;
  margin-bottom: 10px;
	font-family: "futura-pt", sans-serif;
	font-weight: 300;
	letter-spacing: 0.09em;
}
#company .modal-role {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 20px;
}
#company .modal-text {
  line-height: 1.8;
  font-size: 14px;
  color: #444;
}
#company .stewardBox .ttlBox .sp-more {
  display: none;
}

@media all and (min-width: 897px) {
	#company .companyBox table a:hover {
		opacity: 0.7;
	}
	#company .companyBox .trStyle th,
	#company .companyBox .trStyle td {
		vertical-align: middle;
		padding: 2.22rem 0 2.24rem;
	}
	#company .companyBox .trStyle02 th,
	#company .companyBox .trStyle02 td {
    	padding: 1.48rem 0 1.5rem;
	}
	#company .companyBox .flexBox {
		align-items: center;
	}

	#company .accessBox .mapBtn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
    #company {
		margin-bottom: -10rem;
	}
	#company .content {
		width: auto;
		margin: 0 2.6rem;
	}
	#company .messageBox {
		padding: 0;
		margin: 0 2.6rem;
	}
	#company .messageBox .imgBox {
		display: block;
	}
	#company .messageBox .imgBox .photo {
		width: 56%;
	}
	#company .messageBox .imgBox .photo img {
		width: 100%;
	}
	#company .messageBox .imgBox .textBox {
		margin: 2.7rem 0 0 0;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#company .messageBox .imgBox .ttl {
		margin-bottom: 1.4rem;
		font-size: clamp(21px,2.3rem,2.4rem);
		letter-spacing: 0.1em;
	}
	#company .messageBox .title {
		font-size: clamp(16px,1.8rem,1.9rem);
		margin-bottom: 5rem;
	}
	#company .mainVisual02 {
		margin-bottom: 7.7rem;
	}
	#company .messageBox .imgBox .textBox p {
		letter-spacing: 0.05em;
	}
	#company .messageBox .innerBox {
		display: flex;
		align-items: flex-end;
	}
	#company .messageBox .name {
		flex: 1;
		font-size: clamp(13px,1.4rem,1.5rem);
		margin: 0 -2.5rem -0.4rem 1rem;
	}
	#company .messageBox .name img {
		width: 16rem;
		margin: 0.6rem 0 0 -0.8rem;
	}
	#company .borStyle {
		padding-bottom: 4.5rem;
		border-width: 1px;
	}
	#company .stewardBox {
		padding: 4rem 0 6rem;
		margin: 0 2.6rem;
	}
	#company .h2Title {
		margin-bottom: 4.1rem;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#company .stewardBox .listUl li {
		width: 100%;
	}
	#company .stewardBox .listUl {
		grid-template-columns: minmax(0, 1fr);
		gap: 6rem 0;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#company .stewardBox .advisor-list {
		margin-top: 10rem;
	}
	#company .stewardBox .listUl .en {
		font-size: clamp(13px,1.4rem,1.5rem);
		margin: 0;
		display: block;
	}
	#company .stewardBox .listUl .name {
		margin-bottom: 1rem;
	}
	#company .stewardBox .listUl .flexBox {
		display: flex;
		margin-bottom: 1.3rem;
		align-items: flex-end;
	}
	#company .stewardBox .listUl .ttlBox {
		flex: 1;
		position: relative;
		margin: 0 0 -0.1rem 1.5rem;
	}
	#company .stewardBox .listUl .txt {
		margin-bottom: 0;
		position: absolute;
		bottom: calc(100% + 0.7rem);
		left: 0;
	}
	#company .stewardBox .listUl .image {
		margin-bottom: 0;
		width: 56.6%;
	}
	#company .companyBox {
		margin-bottom: 7.5rem;
		padding-top: 6rem;
	}
	#company .companyBox .h2Title {
		margin-bottom: 3.1rem;
	}
	#company .companyBox table {
	border-spacing: 0;
	}
	#company .companyBox table th,
	#company .companyBox table td {
		width: 100%;
		float: left;
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#company .companyBox table th {
		border-bottom: none;
		padding-bottom: 0;
	}
	#company .companyBox .lTxt {
		width: auto;
		margin-bottom: 2.2rem;
	}
	#company .companyBox .flexBox02 .lTxt {
		margin-bottom: 15px;
	}
	#company .companyBox .flex {
		display: block;
	}
	#company .companyBox .lTxt .sml {
		font-size: clamp(12px,1.3rem,1.4rem);
	}


	#company .accessBox {
		padding: 6rem 0 2.1rem;
	}
	#company .areaBox {
		margin-top: 3rem;
		display: block;
	}
	#company .areaBox .lBox {
		margin: 0;
		display: block;
	}
	#company .areaBox .title {
		width: auto;
	}
	#company .areaBox .listUl {
		margin-top: 1.5rem;
	}
	#company .areaBox .listUl li::before {
		top: 0.1rem;
	}
	#company .areaBox .photo {
		margin: 4rem 0 0 0;
		width: auto;
	}
	#company .areaBox .photo img {
		width: 100%;
	}
	#company .companyBox .rBox {
		font-size: clamp(12px,1.3rem,1.4rem);
		justify-content: flex-start
	}
	#company .companyBox table,
  #company .companyBox table tr,
  #company .companyBox table th,
  #company .companyBox table td {
    box-sizing: border-box;
    width: 100%;
    max-width: 100vw;   
    overflow-wrap: break-word; 
  }
  #company .companyBox .flex,
  #company .companyBox .flexBox,
  #company .companyBox .flexBox02 {
    flex-wrap: wrap;
    max-width: 100vw;
    box-sizing: border-box;
  }
  #company .companyBox img {
    max-width: 100%;
    height: auto;
    display: block;
  }
	 #company .member-modal .modal-inner {
    padding: 30px 20px;
    max-width: 100%;
  }
  #company .modal-name {
    font-size: 18px;
  }
  #company .modal-text {
    font-size: 14px;
    line-height: 1.7;
}
	#company .stewardBox .ttlBox .sp-more {
    margin-top: .6rem;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: #007EFC;
    font-size: 1.3rem;
		font-weight:500;
    line-height: 1.2;
    pointer-events: none; 
  }
  #company .stewardBox .ttlBox .sp-more svg {
    width: 1.5rem;
    height: 1.5rem;
    flex: 0 0 auto;
	  position: relative;
  top: 0.05em;
  }
}


.comBtn03 {
	text-align: center;
}
.comBtn03 a {
	margin: 0 auto;
	width: 100%;
	max-width: 42.9rem;
	height: 11.8rem;
	display: flex;
	padding: 2rem;
	color: #FFF;
	font-size: clamp(14px,1.6rem,1.7rem);
	font-weight: 500;
	letter-spacing: 0.24rem;
	justify-content: center;
	align-items: center;
	border-radius: 0.6rem;
	letter-spacing: 0.32rem;
	background: #007AFC;
}

@media all and (min-width: 897px) {
	.comBtn03 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtn03 a {
		height: 4.8rem;
		font-size: clamp(13px,1.4rem,1.5rem);
		max-width: 17.6rem;
	}
}

#recruit {
	margin-bottom: -23.5rem;
}
#recruit .keyVisual {
	margin-bottom: 7.8rem;
	background: url("/assets/280b2f8ba17c20b912fb.jpg") no-repeat center top / cover;
}
#recruit .head01 {
	margin-bottom: 2.7rem;
	color: #1F1F1F;
	text-align: center;
	font-size: clamp(26px,2.8rem,2.9rem);
	font-weight: 500;
	line-height: 2.57;
	letter-spacing: 0.5rem;
}
#recruit .head01 .en {
	color: #007AFC;
	margin-top: 1.7rem;
	display: block;
	text-align: center;
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: normal;
	letter-spacing: 0.36rem;
}
#recruit .head01 .en2 {
	color: #fff;
	margin-top: 1.7rem;
	display: block;
	text-align: center;
	font-size: clamp(30px, 3.2rem,3.4rem);
	font-weight: 200;
	letter-spacing: 0.36rem;
}

#recruit .midTxt {
	margin-bottom: 4.2rem;
	color: #1F1F1F;
	text-align: center;
	font-size: clamp(16px,1.8rem,1.9rem);
	font-weight: 400;
	line-height: 2.22;
	letter-spacing: 0.5rem;
}
#recruit .photoList {
	margin: 10rem 0 11.7rem;
	display: flex;
	gap: 0.15rem;
}
#recruit .photoList img {
	width: 100%;
}
#recruit .webList {
	margin: 8.8rem 1.6rem 12.6rem;
	display: flex;
	justify-content: space-between;
}
#recruit .webList li {
	width: calc(50% - 3.1rem);
}
#recruit .webList .item01 {
	width: 66.5rem;
}
#recruit .webList .item02 {
	width: 63.2rem;
}
#recruit .webList img {
	width: 100%;
}
#recruit .webList .title {
	margin-bottom: 2.2rem;
	color: #1F1F1F;
	text-align: center;
	font-size: clamp(14px,1.6rem,1.7rem);
	font-weight: 700;
	letter-spacing: 0.07rem;
}
#recruit .webList .speakerdeck-iframe {
	width: 100%;
	aspect-ratio: 665/375;
}
#recruit .webList .movie {
	width: 100%;
	aspect-ratio: 632/372;
	background-color: #222;
	position: relative;
}



#recruit .webList .movie video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}





#recruit .valueBox {
	margin-bottom: 13.5rem;
	padding: 12.2rem 0 25.2rem;
	background-color: #007AFC;
}
#recruit .valueBox .head01 {
	margin-bottom: 11.1rem;
	color: #FFF;
	letter-spacing: 0.05em;
}
#recruit .valueBox .head01 .en {
	font-weight: 700;
}
#recruit .btmBox {
	margin-top: 18.7rem;
	padding: 14.2rem 2rem;
	height: 58.8vw;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
	background: url("/assets/63693852b3d6f36dfd43.jpg") no-repeat center center / cover;
}
#recruit .btmBox .head01 {
	margin-bottom: 3.2rem;
	color: #fff;
	font-size: clamp(22px,2.4rem,2.5rem);
	letter-spacing: 1rem;
}
#recruit .valueBox .pos {
	width: 232.7rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	pointer-events: none;
}
#recruit .valueBox .pos01 {
	margin: 3.6rem 0 0 8.2rem;
}
@media all and (min-width: 897px) {

	#recruit .webList a:hover {
		opacity: 0.7;
	}

}
@media all and (max-width: 896px) {
	#recruit {
		margin-bottom: -10rem;
	}
	#recruit .keyVisual {
		margin-bottom: 6rem;
		padding: 5rem 2rem 1rem;
		min-height: inherit;
		background-image: url("/assets/7fc1753fdee675009798.jpg");
		background-position: center center;
	}
	#recruit .keyVisual .keyTtlBox {
		padding: 1.7rem 0.5rem 0 !important;
		min-height: 18.3rem;
	}
	#recruit .keyVisual .keyTtlBox p {
		margin-top: 2rem;
	}
	#recruit .head01 {
		font-size: clamp(14px,1.6rem,1.7rem);
		line-height: 2;
		letter-spacing: 0;
		margin: 0 -1.5rem 2.7rem;
	}
	#recruit .head01 .en {
		color: #007AFC;
		margin-top: 1.8rem;
		font-size: clamp(16px,1.8rem,1.9rem);
	}

	#recruit .head01 .en2 {
	color: #007AFC;
	margin-top: 1.8rem;
	font-size: clamp(16px,1.8rem,1.9rem);
	font-weight: 200;
}

	#recruit .midTxt {
		margin: 0 -2rem 4.2rem;
		font-size: clamp(14px,1.5rem,1.6rem);
		line-height: 2;
		letter-spacing: 0;
	}
	#recruit .photoList {
		margin: 6rem 0.1rem 4.2rem;
		gap: 0.2rem;
	}
	#recruit .webList {
		margin: -0.7rem 3.9rem 0 5rem;
		display: block;
	}
	#recruit .webList li {
		margin-bottom: 2rem;
		width: 100% !important;
	}
	#recruit .webList li:last-child {
		margin-bottom: 0;
	}
	#recruit .valueBox {
		margin-bottom: 8.3rem;
		padding: 3.4rem 0;
		background: none;
		position: relative;
	}
	#recruit .valueBox .head01 {
		margin-bottom: 2.5rem;
		color: #1F1F1F;
		font-size: clamp(14px,1.6rem,1.7rem);
		z-index: 10;
    	position: relative;
	}
	#recruit .valueBox .head01 .en {
		color: #007AFC;
		margin-top: 1.8rem;
		font-size: clamp(16px,1.8rem,1.9rem);
	}
	#recruit .btmBox {
		margin-top: 4.5rem;
		padding: 2rem 2rem;
		height: 61vw;
		min-height: 0;
		margin-bottom: 0;
		position: relative;
		background-image: url("/assets/d84a260fe8d2ec5ab9e0.jpg");
	}
	#recruit .btmBox .comBtn03 a {
		height: 3.9rem;
		font-size: clamp(12px,1.3rem,1.4rem);
		max-width: 17.6rem;
		letter-spacing: 0.2em;
		padding: 0;
	}
	#recruit .btmBox .head01 {
		font-size: clamp(12px,1.3rem,1.4rem);
		margin: 0 0 1rem;
		line-height: 1.65;
		letter-spacing: 0.3em;
	}
	#recruit .content.large .head01 {
		font-size: clamp(14px,1.6rem,1.7rem);
		margin-bottom: 2.8rem;
	}
	#recruit .webList .title {
		margin-bottom: 0.8rem;
		font-size: clamp(13px,1.4rem,1.5rem);
		letter-spacing: 0.07rem;
	}

	#recruit .valueBox .pos {
		width: 72.3rem;
	}
	#recruit .valueBox .pos01 {
		margin: 4.6rem 0 0 -1.8rem;
	}
	#recruit .content.large .webList {
		margin: 0 1.6rem 2.9rem;
	}
	#recruit .content.large .webList .title {
		font-size: clamp(13px,1.4rem,1.5rem);
	}
	#recruit .content.large .webList li {
		margin-bottom: 5.3rem;
	}
	#recruit .content.large .webList li:last-child {
		margin-bottom: 0;
	}


}




.fancybox-button[disabled], .fancybox-navigation .fancybox-button--arrow_right, .fancybox-navigation .fancybox-button--arrow_left {
    display: none !important;
}











@media all and (min-width: 897px) {

  #gNavi > ul > .liStyle {
    position: static;
  }

  #gNavi li .dropMenu {
    max-width: 100%;
    box-sizing: border-box;
  }

  #gNavi .dropMenu ul {
    flex-wrap: wrap;
    column-gap: clamp(1rem, 3vw, 4.5rem);
  }

	#gNavi > ul {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    
    
  }

  
  #gNavi > ul > li {
    padding: 0 clamp(0.4rem, calc(-24px + 3.6vw), 2.75rem);
  }

  
  #gNavi > ul > li > a {
    white-space: nowrap;
    line-height: 1.2;
  }
}
@media all and (max-width: 896px) {







}

.fadeIn {
	opacity: 0;
	transition-duration: .4s;
	transition-timing-function: ease;
	transform: translate3d(0, 100px, 0);
}
.fadeIn.scrollin {
	opacity: 1;
	transform: translate(0);
}

.warning-banner {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #f5f5f5;
	color: #000;
	text-align: center;
	padding: 15px 0;
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
	z-index: 1000;
	font-family: Arial, sans-serif;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;
}

.warning-banner.visible {
	opacity: 1;
	visibility: visible;
}

.warning-banner .warning-icon {
	width: 1.3em;
	margin-right: 0.5em;
}

.warning-banner p {
	margin: 0;
	font-size: clamp(14px,1.5rem,1.6rem);
}

.warning-banner .close-btn {
	background-color: #bbb9b9;
	color: #000;
	border: none;
	padding: 0.2em 0.6em;
	margin-left: 1em;
	border-radius: 5px;
	cursor: pointer;
	font-size: clamp(13px,1.4rem,1.5rem);
}

.warning-banner a {
	color: dodgerblue;
	text-decoration: none;
	margin-left: 0.5em;
	font-size: clamp(13px,1.4rem,1.5rem);
}

.warning-banner .close-btn-box {
	display: none;
}

@media only screen and (max-width: 900px) {
	.warning-banner {
		display: block;
	}
	.warning-banner p {
		font-size: clamp(10px,1.3rem,1.5rem);
		margin-bottom: 0.3em;
	}
	.warning-banner a {
		font-size: clamp(10px,1.3rem,1.5rem);
		margin-left: 0;
	}
	.warning-banner .close-btn {
		display: none;
	}
	.warning-banner .close-btn-box {
		display: block;
		position: absolute;
		width: 100%;
		bottom: 3.5em;
		text-align: right;
	}
	.warning-banner .close-btn-box button {
		border: none;
		color: #bbb9b9;
		font-size: clamp(14px,1.5em,1.6rem);
		background-color: unset;
	}
}

@media all and (max-width: 560px) {
  html { font-size: 62.5%; }  
}

@media all and (min-width: 561px) and (max-width: 896px) {
  
	html { font-size: clamp(78.125%, calc(72.89% + 0.93vw), 81.25%);}
}

@media all and (min-width: 561px) {
  br.sp { display: none !important; }
}

@media all and (min-width: 897px) {
  br.tb { display: none !important; }
}


#detail h1.wp-block-heading {
	font-size:21px !important;
}
#detail p {
	padding-bottom:1em;
	line-height:1.7;
}
#detail h2.wp-block-heading {
  font-size:17px !important;
  display: flex;
  align-items: center;       
  justify-content: center;
  gap: 0.3em;
  text-align: center;
}

#detail h2.wp-block-heading::before,
#detail h2.wp-block-heading::after {
  content: "〜";
  flex: 0 0 auto;
  line-height: 1;
}

#detail h2.wp-block-heading strong {
  display: block;            
  max-width: 100%;
  line-height: 1.4;
}

#detail h3.wp-block-heading {
	font-size:17px !important;
	font-weight:700;
	margin-bottom:10px;
}

#detail .wp-block-columns{
  padding: 2em 2em 1.5em;
}
@media all and (min-width: 897px) {
	#detail .content {
	min-width:800px;
}
}
@media all and (max-width: 896px) {
	#detail .profile-img {
		max-width:150px;
	}
}
@media all and (max-width: 560px) {
  #detail h1.wp-block-heading {
	font-size:17px !important;
 }
	#detail h2.wp-block-heading {
	font-size:14px !important;
 }
	#detail h3.wp-block-heading {
	font-size:14px !important;
}
	#detail .wp-block-columns{
  padding: 1.5em;
 }
}
