@charset "utf-8";

/*-----------------------------フォント*/
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

/*-----------------------------リセットCSS*/
html {
	box-sizing: border-box;
	-ms-overflow-style: scrollbar;
    overflow-x: hidden;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul[class],
ol[class] {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul[class],
ol[class],
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 100%;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul[class],
ol[class] {
	list-style: none;
    padding: 0;
    margin: 0;
}

ul,
ol {
	list-style: none;
    padding: 0;
    margin: 0;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	max-width: 100%;
	display: block;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin: 0;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

/* Remove all animations and transitions for people that prefer not to see them */


img {
	height: auto;
}

picture {
    display: block;
}

address,
em {
	font-style: normal;
}

table {
	border-collapse: collapse;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
	-webkit-appearance: none;
	border-radius: 0;
}

input[type="search"],
input[type="submit"],
input[type="button"] {
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
}

input[type="search"]::-webkit-search-decoration,
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: normal;
}

/*-----------------------------初期値CSS*/
html body {
    font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
    font-weight: 400;
	line-height: 1.8;
    letter-spacing: .02em;
    position: relative;
    background: #F7F6F4;
    color: #202050;
    overflow-x: hidden;
}

body a {
	text-decoration: none;
    color: #202050;
	display: block;
	cursor: pointer;
    -webkit-text-decoration: none;
}

ul {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

hr {
    height: 1px;
    border: none;
}

a[href*="tel:"] {
    display: inline;
}

/*スマホ時電話リンク*/
@media (min-width: 599px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}

/*iPhoneで画面サイズに合わせる*/
@supports (-webkit-touch-callout: none) {
    html {
      height: -webkit-fill-available;
    }
    body {
      min-height: 100vh;
      min-height: -webkit-fill-available;
    }
}

/*-----------------------------共通CSS*/
main.main {
    position: relative;
    background-color: #FDFDFD;
    z-index: 1;
}

main.mainPage {
    background-image: url(./img/common/page-bg.webp);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    background-attachment: fixed;
}

span.kai {
	display: inline-block;
}

.wbr {
    word-break: keep-all;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.inner,
ul.inner {
    max-width: 1200px;
    width: calc(100% - 64px);
    margin: 0 auto;
    box-sizing: border-box;
}

.inner1073 {
    max-width: 1073px;
}

.sp {
    display: none;
}

.bold {
    font-weight: 700;
}

.blue {
    color: #0963CB;
}

.content a {
    display: inline;
    font-weight: 700;
    color: #0963CB;
}

.content a:hover {
    text-decoration: underline;
}

.textLink {
    display: inline-block;
    transition: .2s;
}

.textLink:hover {
    color: #0963CB;
}

/*modBtn1*/
.modBtn1 {
    width: 100%;
    max-width: 260px;
}

.modBtn1 a {
    position: relative;
    min-height: 48px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .2s;
    border-radius: 100px;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
    padding: 10px 10px 10px 0;
}

.modBtn1 a:hover {
    text-decoration: none;
}

.modBtn1White a {
    background: #fff;
}

.modBtn1 a .btnInner {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    display: block;
    letter-spacing: .05em;
    padding: 0 15px;
}

.modBtn1White a .btnInner {
    color: #202050;
}

/* hover時のアニメーション */
.btn-animate-up {
    animation: vanishReappearUp 0.3s ease-in-out forwards;
}

/* hover解除時のアニメーション（逆方向） */
.btn-animate-down {
    animation: vanishReappearDown 0.3s ease-in-out forwards;
}

/* 上に消えて下から出現（hover時） */
@keyframes vanishReappearUp {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    40% {
        transform: translateY(-5px);
        opacity: 0;
    }
    60% {
        transform: translateY(5px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

/* 下に消えて上から出現（hover解除時） */
@keyframes vanishReappearDown {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    40% {
        transform: translateY(5px);
        opacity: 0;
    }
    60% {
        transform: translateY(-5px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.modBtn1 a .icon {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    margin: auto;
    width: 24px;
    height: 24px;
    border-radius: 50px;
    display: block;
    z-index: 1;
}

.footer .modBtn1 a .icon {
    right: 12px;
    width: 40px;
    height: 40px;
}

.modBtn1 a .icon::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    border-radius: 50px;
    background-color: #fff;
    opacity: .15;
    display: block;
    z-index: 1;
}

.footer .modBtn1 a .icon::before {
    width: 40px;
    height: 40px;
}

.modBtn1White a .icon::before {
    background-color: #339DFF;
}

.modBtn1 a .icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.4); /* 小さめにしておく */
    margin: auto;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #fff;
    transition: transform 0.4s ease, background-size 0.4s ease;
    transform-origin: center;
    z-index: 2;
}

.footer .modBtn1 a .icon::after {
    width: 36px;
    height: 36px;
}

.modBtn1White a .icon::after {
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
}

.modBtn1 a:hover .icon::after {
    background: url(./img/common/icon.svg) no-repeat center;
    background-size: 24px 24px;
    transform: translate(-50%, -50%) scale(1); /* 拡大アニメーション */
}

.footer .modBtn1 a:hover .icon::after {
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
}

/*telBtn*/
.telBtn {
    width: 100%;
    text-align: center;
}

.telBtnWhite {
    max-width: 360px;
}

.telBtn a {
    position: relative;
    min-height: 70px;
    transition: .2s;
    border-radius: 100px;
    border: 2px solid #0963CB;
    display: block;
    text-align: center;
}

.telBtnWhite a {
    border: 2px solid #FDFDFD;
}

.telBtn a .btnInner {
    padding: 12px 20px 0 68px;
    background: url(./img/common/icon-tel.svg) no-repeat center left 33px;
    background-size: 23px;
    color: #202050;
    display: inline-block;
    text-align: left;
}

.telBtnWhite a .btnInner {
    padding: 12px 0 0 35px;
    background: url(./img/common/icon-tel-white.svg) no-repeat center left;
    color: #fff;
}

.telBtn a .tel {
    font-size: 30px;
    font-weight: 700;
    display: block;
    line-height: .7;
    letter-spacing: .04em;
}

.telBtn a .small {
    font-size: 15px;
    display: block;
    letter-spacing: .02em;
}

.telBtn a .open {
    display: inline-block;
    line-height: 1.2;
    margin-top: 5px;
}

/*sectionTitle*/
.sectionTitle {
    position: relative;
    margin-bottom: 30px;
}

.sectionTitle .en {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: min(88px,6.111111111111111vw);
    letter-spacing: .1em;
    line-height: 1;
    display: block;
    background: linear-gradient(45deg, #0963CB, #339DFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;    
    margin-bottom: 10px;
}

.recruitBox .sectionTitle .en {
    font-size: min(64px,4.444444444444445vw);
}

.sectionTitleWhite .en {
    background: none;
    color: #fff;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: initial;    
}

.sectionTitle .ja {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    padding-left: 35px;
    letter-spacing: .05em;
    color: #333333;
    display: inline-block;
}

.newsTop .sectionTitle .ja {
    font-size: 20px;
}

.sectionTitleWhite .ja {
    color: #fff;
}

.sectionTitle .ja::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 22px;
    height: 22px;
    border-radius: 22px;
    background-color: #339DFF;
    opacity: .15;
}

.sectionTitleWhite .ja::before {
    opacity: .10;
}

.sectionTitle .ja::after {
    content: "";
    position: absolute;
    top: 9px;
    left: 7px;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
}

.sectionTitleWhite .ja::after {
    background: #fff;
}

.sectionTitle .cm {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: 40px;
}

.sectionTitleWhite .cm {
    color: #fff;
}

/*sectionSubTitle*/
.sectionSubTitle {
    text-align: center;
    margin-bottom: 36px;
}

.sectionSubTitle .cm {
    display: block;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #666666;
}

.sectionSubTitle .titleInner {
    position: relative;
    font-size: 25px;
    font-weight: 700;
    padding: 0 64px;
}

.sectionSubTitle .titleInner::before,
.sectionSubTitle .titleInner::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin: auto;
    width: 56px;
    height: 1px;
    background-color: #707070;
}

.sectionSubTitle .titleInner::before {
    left: 0;
}

.sectionSubTitle .titleInner::after {
    right: 0;
}

/*タイトル*/
.h1 {
    position: relative;
    font-size: 22px;
    font-weight: 700;
    padding-bottom: 16px;
    line-height: 1.4;
    border-bottom: 1px solid #C1C1C1;
}

.h2 {
    position: relative;
    font-size: 25px;
    font-weight: 700;
    padding: 6px 0 18px 15px;
    margin-bottom: 32px;
    line-height: 1.4;
    border-bottom: 1px solid #D3D3D3;
}

.h2::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    height: calc(100% - 14px);
    width: 3px;
    background-color: #D6C434;
}

/*h3*/
body .h3 {
    position: relative;
    font-size: clamp(22px, 1.6666666666666667vw, 24px);
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.7;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

body .h4 {
    position: relative;
    font-size: clamp(19px, 1.5277777777777777vw, 22px);
    font-weight: 700;
    padding-left: 35px;
    letter-spacing: .05em;
    display: inline-block;
}

body .h4::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 22px;
    height: 22px;
    border-radius: 22px;
    background-color: #339DFF;
    opacity: .15;
}

body .h4::after {
    content: "";
    position: absolute;
    top: 9px;
    left: 7px;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
}

.h5 {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    padding-left: 10px;
    margin-bottom: 9px;
}

.h5::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 2px;
    height: calc(100% - 8px);
    background: #F2E474;
}

.h6 {
    position: relative;
    font-size: 17px;
    font-weight: 700;
    padding-left: 18px;
    margin-top: 16px;
    margin-bottom: 12px;
}

.h6::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #F2E474;
}

/*ol*/
ol.listNum {
    counter-reset: item;
    margin-top: 16px;
}

ol.listNum li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 3px;
}

ol.listNum li::before {
    position: absolute;
    top: 1.5px;
    left: 0;
    width: 16px;
    height: 16px;
    counter-increment: item;
    content: counter(item)'';
    font-size: 14px;
    text-align: center;
}

ol.listNum li::after {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    border: 1px solid #333;
}

/*ul*/
.list li {
    position: relative;
    padding-left: 22px;
}

.list li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}

/*pageTitle*/
.pageTitle {
    margin-bottom: 48px;
}

.pageTitle .pageTitleInner {
    position: relative;
    height: 151px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.pageTitle .pageTitleInner::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #D3D3D3;
}

.pageTitle .en {
    position: relative;
    font-size: 14px;
    font-weight: 500;
    color: #D6C434;
    padding-bottom: 16px;
}

.pageTitle .en.lato {
    font-family: "Lato", sans-serif;
}

.pageTitle .en::before {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 32px;
    height: 1px;
    background-color: #D6C434;
}

.pageTitle .ja {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
}

.pageTitle .img {
    width: 100%;
    height: 230px;
    margin-top: 48px;
}

.pageTitle .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pageTitle .pageTitleSub {
    margin-top: 48px;
}

.pageTitle .pageTitleSub .title {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .03em;
    margin-top: 48px;
    text-align: center;
}

.pageTitle .pageTitleSub .cm {
    font-weight: 500;
    margin-top: 32px;
    margin-bottom: 72px;
}

.pageTitle .pageTitleSub .cm.center {
    text-align: center;
}

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

    .sectionTitle .en {
        font-size: max(52px,6.111111111111111vw);
    }

    .recruitBox .sectionTitle .en {
        font-size: max(52px,4.444444444444445vw);
    }

}

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

    main.mainPage::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(./img/common/page-bg-sp.webp) no-repeat center top / cover;
        z-index: -1; /* 背景として後ろに配置 */
    }
    
    main.mainPage.hide-bg::before {
        height: 0;
    }

    .pageTitle {
        margin-bottom: 40px;
    }

    .pageTitle .pageTitleInner {
        height: 140.5px;
    }

    .pageTitle .pageTitleInner::before {
        left: -16px;
        width: calc(100% + 32px);
    }

    .pageTitle .ja {
        font-size: 27px;
    }

    .pageTitle .img {
        height: 53.86666666666666vw;
        min-height: 202px;
        max-height: 230px;
        margin-top: 40px;
    }

    .pageTitle .pageTitleSub {
        margin-top: 40px;
    }

    .pageTitle .pageTitleSub .title {
        font-size: 25px;
        margin-top: 40px;
    }

    .pageTitle .pageTitleSub .cm {
        margin-top: 24px;
        margin-bottom: 40px;
    }

    .pageTitle .pageTitleSub .cm.center {
        text-align: left;
    }

}

/*pageSection*/
.pageSection {
    padding: 50px 0 200px 0;
}

.pageSection .h3 {
    margin-top: 50px;
}

.pageSection .h3.centerTitle {
    margin-top: 0;
}

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

    .pageSection {
        padding: 30px 0 150px 0;
    }

}

/*パンくず*/
ul.breadcrumb {
    column-gap: 23px;
    margin: 0 auto 32px auto;
}

.breadcrumb li {
    position: relative;
    font-size: 13px;
    font-weight: 400;
    color: #2D2D2D;
}

.breadcrumb li:not(:last-of-type)::before {
    content: "＞";
    position: absolute;
    top: 0;
    right: -20px;
    color: #1A1A1A;
}

.breadcrumb li a {
    text-decoration: underline;
}

.breadcrumb li a:hover {
    opacity: .7;
    text-decoration: none;
}

/*table*/
.table,
.table th,
.table td {
	border-collapse: collapse;
}

.table {
    width: 100%;
}

/*table1*/
body .table1 {
    table-layout: fixed;
}

body .table1 th,
body .table1 td {
    padding: 21px 20px;
    text-align: left;
}

body .table1 th {
    position: relative;
    font-weight: bold;
    width: 27.5%;
}

body .table1 td {
    letter-spacing: .03em;
}

/*table2*/
body .table2 {
    margin-top: 30px;
}

body .table2 th {
    background: #0963CB;
    color: #fff;
    padding: 10px 20px;
    text-align: center;
}

body .table2 td:nth-child(3) {
    text-align: center;
}

body .table2 td:nth-child(3) .modBtn1 {
    margin-top: 20px;
}

/*bannerList*/
.bannerList {
    column-gap: 10px;
}

/*snsList*/
.snsList {
    align-items: center;
    column-gap: 20px;
}

.snsList li a,
.bannerList li a {
    transition: .2s;
}

.snsList li a:hover,
.bannerList li a:hover {
    opacity: .7;
}

/*contactList*/
.hamburger .contactList .sectionTitle {
    justify-content: center;
    margin-bottom: 16px;
}

.hamburger .contactList .contactTel {
    text-align: center;
}

.contactList .contactTel .tel {
    font-family: "Lato", sans-serif;
    font-size: 25px;
    font-weight: 700;
    display: inline-block;
    padding-left: 29px;
    line-height: 1;
    background-repeat: no-repeat;
    background-size: 20.97px;
    background-position: center left;
    background-image: url(./img/common/icon-tel-2.svg);
    color: #775822;
}

.contactList .open {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}

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

    .inner,
    ul.inner {
        width: calc(100% - 30px);
    }


    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /*sectionTitle*/
    .sectionTitle .en,
    .recruitBox .sectionTitle .en {
        font-size: 52px;
    }

    .sectionTitle .ja {
        padding-top: 4px;
        font-size: 16px;
    }

    .newsTop .sectionTitle .ja {
        padding-top: 3px;
        font-size: 18px;
    }

    .sectionTitle .ja::before {
        top: 4px;
    }

    .sectionTitle .ja::after {
        top: 11px;
    }

    .sectionTitle .cm {
        margin-top: 30px;
    }

    /*sectionSubTitle*/
    .sectionSubTitle {
        margin-bottom: 32px;
    }

    .sectionSubTitle .titleInner {
        font-size: 23px;
        padding: 0 40px;
    }

    .sectionSubTitle .titleInner::before,
    .sectionSubTitle .titleInner::after {
        width: 32px;
    }

    .h2 {
        font-size: 22px;
        padding: 3px 0 13px 15px;
    }

    .h5 {
        margin-bottom: 5px;
    }
    
    .h6 {
        margin-bottom: 16px;
    }

    /*modBtn1*/
    .modBtn1 {
        margin: 0 auto;
        max-width: 320px;
    }

    .modBtn1 a {
        height: 60px;
    }

    .modBtn1 a .icon {
        right: 12px;
        width: 40px;
        height: 40px;
    }

    .modBtn1 a .icon::before {
        width: 40px;
        height: 40px;
    }

    .modBtn1 a .icon::after {
        width: 36px;
        height: 36px;
    }

    .modBtn1 a:hover .icon::after {
        width: 40px;
        height: 40px;
        background-size: 40px 40px;
    }

    /*table1*/
    body .table1 th,
    body .table1 td {
        display: block;
        padding: 20px 0 10px 0;
        width: 100%;
        min-width: auto;
    }

    body .table1 th {
        border-bottom: none;
    }

    body .table1 td {
        padding: 0 0 20px 0;
    }

    /*table2*/
    body .table1 td {
        padding: 20px 0;
        border: none;
    }

    body .table1 td:nth-child(2) {
        padding-bottom: 0;
    }

    body .table2 td:first-child {
        font-weight: 700;
        background: #0963CB;
        color: #fff;
        padding: 15px 20px;
        text-align: center;
        line-height: 1.5;
    }

    body .table2 th {
        display: none;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ヘッダー

--------------------------------------------------------------------------------------------------------------------*/
.header {
    position: fixed;
    top: 20px;
    left: 0;
    width: 100%;
    z-index: 10;
}

.header .headerInner {
    width: calc(100% - 75px);
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
}

/*-----------------------------左ロゴ*/
.header .logo,
.header .logo a,
.header .logo .title {
    height: 66px;
}

.header .logo {
    background-color: rgba(255, 255, 255, 0);
    backdrop-filter: blur(0);
    border-radius: 50px;
    transition: .3s;
}

.header .logo a {
    padding: 0 23px 0 min(193px,14vw);
}

.header .logo .title {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header .logo .title img {
    position: absolute;
    left: 23px;
    width: 11.11111111111111vw;
    max-width: 160px;
    transition: .3s;
}

.header .logo .title img.blue {
    opacity: 0;
}

.header .logo .title .text {
    font-size: min(14px,0.9722222222222222vw);
    font-weight: 500;
    color: #fff;
    transition: .3s;
}

/*scroll*/
.headerScroll .logo {
    background-color: rgba(255, 255, 255, .4);
    backdrop-filter: blur(20px);
    border-radius: 50px;
}

.headerScroll .logo .title img.white {
    opacity: 0;
}

.headerScroll .logo .title img.blue {
    opacity: 1;
}

.headerScroll .logo .title .text {
    color: #0963CB;
}

/*-----------------------------メニュー*/
/*nav*/
.header .nav {
    position: relative;
    background-color: rgba(255,255,255,.4);
    backdrop-filter: blur(20px);
    height: 66px;
    border-radius: 50px;
    padding: 0 220px 0 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.header .nav .navInner {
    align-items: center;
    column-gap: min(20px,1.3888888888888888vw);
}

.header .nav .main {
    font-size: 16px;
    letter-spacing: .05em;
    transition: .2s;
}

.header .nav .main:hover {
    color: #154CE2;
}

.header .nav .modBtn1 {
    max-width: inherit;
    width: auto;
}

.header .nav .modBtn1 a {
    padding-right: 52px;
    padding-left: 35px;
    min-height: 44px;
}

.header .nav .modBtn1 a .btnInner {
    padding: 0;
}

/*fixedBtn*/
.fixedBtn {
    position: fixed;
    top: 30px;
    right: 120px;
    z-index: 10;
}

.header .nav ul li:not(.modBtn1) {
    display: none;
}

/*
@media screen and (max-width: 1297px){

    .header .headerInner {
        width: calc(100% - 22px);
    }

    .fixedBtn {
        right: 45px;
    }

}
*/

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

    .header {
        top: 16px;
        padding-right: 2px;
    }

    .header .headerInner {
        background-color: rgba(255,255,255,.4);
        backdrop-filter: blur(5.68px);
        height: 46px;
        border-radius: 50px;
        width: calc(100% - 22px);
        padding-left: 20px;
    }

    .header .logo .title .text,
    .header .nav {
        display: none;
    }
    
    /*-----------------------------左ロゴ*/
    .header .logo,
    .header .logo a,
    .header .logo .title {
        height: 100%;
    }

    .header .logo {
        background-color: none;
        backdrop-filter: blur(0);
        border-radius: 0;
    }

    .header .logo a {
        padding: 0;
    }

    .header .logo .title img {
        left: 0;
        width: 100px;
    }

    /*scroll*/
    .headerScroll .logo {
        background-color: rgba(255, 255, 255, .4);
        backdrop-filter: blur(20px);
        border-radius: 50px;
    }

    .headerScroll .logo .title img.white {
        opacity: 0;
    }

    .headerScroll .logo .title img.blue {
        opacity: 1;
    }

    .headerScroll .logo .title .text {
        color: #0963CB;
    }

    /*fixedBtn*/
    .fixedBtn {
        display: none;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

ハンバーガーメニュー

--------------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------三本ライン*/
.hamburger .line {
    position: fixed;
    top: 14px;
    right: 12px;
    display: flex;
    height: 50px;
    width: 50px;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    z-index: 999999;
	cursor: pointer;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
}

.hamburger .line span,
.hamburger .line span:before,
.hamburger .line span:after {
    content: '';
    display: block;
    height: 1px;
    width: 18px;
    background-color: #fff;
    position: absolute;
}

/*.line1*/
.hamburger .line span.line1:before {
    bottom: 3px;
    left: 0;
}

.hamburger .line span.line1:after {
    top: 3px;
    left: 0;
}

/*open*/
.hamburger .line.is-activeLine span.line1 {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}

.hamburger .line.is-activeLine span.line1::before {
    bottom: 0;
    transform: rotate(30deg);
}

.hamburger .line.is-activeLine span.line1::after {
    top: 0;
    transform: rotate(-30deg);
}

/* アニメーション前のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

.hamburger .line.is-activeLine span.line1 {
    pointer-events: none;
    opacity: 0;
}

/* アニメーション後のメニューの状態 */
.hamburger .line.is-activeLine span.line1 {
    pointer-events: auto;
    opacity: 1;
}

@media screen and (min-width: 1024px){

    .hamburger .line {
        top: 20px;
        right: 37px;
        height: 66px;
        width: 66px;
    }


    .hamburger .line span,
    .hamburger .line span:before,
    .hamburger .line span:after {
        width: 24px;
    }

}

/*-----------------------------------------------------------------------中のメニュー*/
.hamburger .menu {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box; /* 追加 */
    z-index: 80;
    background-color: rgba(0,65,124,.8);
    padding: 20px 14px;
    scrollbar-width: none; /* Firefox用 */
    -ms-overflow-style: none; /* IE・Edge旧対応 */
}

.hamburger .menu .menuInner {
    background-color: #fff;
    border-radius: 20px;
    padding: 40px 20px 60px 20px;
    justify-content: center;
    column-gap: 80px;
    min-height: 100%;
}

.hamburger .menu::-webkit-scrollbar {
    display: none; /* Chrome/Safari用 */
}

/*動き*/
/* アニメーション前のメニューの状態 */
.hamburger .menu {
    pointer-events: none;
    opacity: 0;
    transition: .2s;
}

/* アニメーション後のメニューの状態 */
.hamburger .menu.is-active {
    pointer-events: auto;
    opacity: 1;
}

/*menu*/
.hamburger .menu .navList {
    /*margin: 0 auto 60px auto;*/
    width: 100%;
}

.hamburger .menu .right {
    margin-top: 60px;
}

@media screen and (min-width: 1024px){

    .hamburger .menu {
        padding: 25px 40px;
    }

    .hamburger .menu .menuInner {
        padding: 20vh 20px 60px 20px;
    }

    /*
    .hamburger .menu .navList {
        max-width: 70%;
    }
    */

}

.hamburger .menu .navList li {
    position: relative;
    font-size: 17px;
}

.hamburger .menu .navList li a {
    position: relative;
    padding: 17px 0;
    border-bottom: 1px solid #DBE0E7;
}

.hamburger .menu .navList li .main, 
.hamburger .menu .link {
    font-weight: 700;
    color: #202050;
    letter-spacing: .06em;
}

.hamburger .menu .link {
    text-align: center;
    padding: 17px 0;
}

.hamburger .menu .subMenu li a {
    padding: 17px 30px 17px 10px;
    background: url(./img/common/icon-link.svg) no-repeat center right 17px;
    background-size: 10px;
    color: #444444;
    line-height: 1.6;
    letter-spacing: .02em;
}

.navList .toggleBtn.icon {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    margin: auto;
    width: 24px;
    height: 24px;
    z-index: 2;
}

.navList .toggleBtn.icon::before,
.navList .toggleBtn.icon::after {
    content: "";
    position: absolute;
    background-color: #202050;
    border-radius: 2px;
}

.footer .navList .toggleBtn.icon::before,
.footer .navList .toggleBtn.icon::after {
    background-color: #fff;
}

.navList .toggleBtn.icon::before {
    left: 5px;
    top: 11px;
    width: 14px;
    height: 2px;
}

.navList .toggleBtn.icon::after {
    top: 5px;
    left: 11px;
    height: 14px;
    width: 2px;
}

.navList .toggleBtn.is-active.icon::after { /* アイコン縦棒なし（開いてるとき） */
    opacity: 0;
}

.hamburger .menu .child {
	display: none;
}

.hamburger .menu .telBtn,
.hamburger .menu .modBtn1 {
    max-width: 581px;
    margin: 0 auto 38px auto;
}

.hamburger .menu .modBtn1 {
    text-align: center;
}

.hamburger .menu .modBtn1 a {
    height: auto;
    width: auto;
    padding: 27.5px 20px 27.5px 0;
}

.hamburger .menu .modBtn1 a .btnInner {
    font-size: 15px;
    letter-spacing: .2em;
    line-height: 1.2;
    padding: 0 40px;
}

.hamburger .menu .langBtn {
    text-align: center;
    margin-top: 17px;
}

@media screen and (min-width: 1024px){

    .hamburger .menu .langBtn {
        display: none;
    }

    .hamburger .menu .navList {
        width: 56%;
    }

}

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

    .hamburger .menu .modBtn1 a {
        padding: 27.5px 37px 27.5px 0;
    }

    .hamburger .menu .modBtn1 a .btnInner {
        padding: 0 15px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

フッター
--------------------------------------------------------------------------------------------------------------------*/
/*footer*/
.footer {
    position: relative;
    padding-bottom: 500px;
    margin-top: -60px;
}

.footer .footerBg {
    position: relative;
    background: linear-gradient(257.56deg, #00A5FE 9.06%, #0963CB 67.03%);
    border-radius: 60px 60px 0 0;
    padding: 60px 0;
    z-index: 1;
}

/*groupList*/
ul.groupList {
    position: relative;
    padding: 70px 20px 100px 20px;
    column-gap: 40px;
    row-gap: 30px;
    justify-content: center;
    align-items: center;
    z-index: 1;
    background: #fff;
}

.page-template-page-recruit ul.groupList,
.single-interview ul.groupList {
    display: none;
}

.groupList a {
    transition: .2s;
}

.groupList a:hover {
    opacity: .7;
}

/*footerMenu*/
.footerMenu {
    position: relative;
    column-gap: 80px;
    row-gap: 95px;
    justify-content: space-between;
    padding: 100px 0;
    margin: 0 0 60px 0;
    border-bottom: 1px solid #DBE0E7;
}

.footerMenu .left {
    width: 360px;
}

.footerMenu .left .title {
    display: flex;
    align-items: center;
    column-gap: 10px;
    margin-bottom: 18px;
}

.footerMenu .left .title .text {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
}

.footerMenu .left .address {
    font-size: 15px;
    line-height: 1.6;
    color: #fff;
    margin-bottom: 95px;
}

.footerMenu .left .telBtn {
    margin-bottom: 35px;
}

.footerMenu .left .modBtn1 {
    max-width: 100%;
}

.footerMenu .left .modBtn1 a {
    min-height: 70px;
}

.footerMenu .left .modBtn1 a .btnInner {
    font-size: 15px;
    font-weight: 700;
    padding: 0 40px;
}

.footerMenu .right {
    width: calc(100% - 440px);
    max-width: 600px;
    column-gap: 13.33333%;
    row-gap: 30px;
}

.footerMenu .right .navList a {
    color: #fff;
    transition: .2s;
}

.footerMenu .right .navList a:hover {
    opacity: .7;
}

.footerMenu .right .navList .main {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 30px;
    color: #fff;
    letter-spacing: .04em;
}

.footerMenu .right .navList .subMenu {
    margin-top: -15px;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

.footerMenu .right .navList .subMenu a {
    font-size: 14px;
    letter-spacing: .02em;
}

/*footerBottom*/
.footerBottom {
    justify-content: space-between;
    align-items: flex-end;
    row-gap: 78px;
}

/*movie*/
.footer .movie {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 500px;
}

.footer .movie::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-image: linear-gradient(0deg, #0f1720, transparent);
    opacity: .8;
}

.footer .movie::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(./img/common/footer-layer.png) no-repeat center;
    background-size: cover;
}

.footer .movie img,
.footer .movie video {
    width: 100%;
    height: 100%;
    object-fit: cover;
	object-position: bottom;
}

/*copy*/
.footer .copy {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    padding: 20px 0;
    border-top: 1px solid #FDFDFD;
    text-align: center;
    color: #fff;
    font-size: 12px;
}

@media screen and (min-width: 600px){

    .footer .navList .toggleBtn.icon {
        display: none;
    }

}

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

    .footerMenu {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .footerMenu .left {
        max-width: 360px;
        width: 100%;
    }

    .footerMenu .left .title {
        justify-content: center;
    }

    .footerMenu .left .address {
        text-align: center;
        margin-bottom: 50px;
    }

    .footerMenu .right {
        width: 100%;
        max-width: 422px;
    }

}

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

    .footer {
        padding-bottom: 85vw;
        margin-top: -30px;
    }

    .footer .footerBg {
        border-radius: 30px 30px 0 0;
        padding: 95px 0 60px 0;
    }

    /*groupList*/
    .groupList img {
        max-width: 130px;
    }

    /*footerMenu*/
    .footerMenu {
        padding: 0;
        margin: 0 0 120px;
        border: none;
    }

    .footerMenu .right {
        display: block;
    }

    .footerMenu .right .navList .child {
        display: none;
    }

    .footerMenu .right .navList a:hover {
        opacity: 1;
    }

    .footerMenu .right .navList .main {
        position: relative;
        padding: 17px 0;
        border-bottom: 1px solid #DBE0E7;
        margin-bottom: 0;
        letter-spacing: .06em;
    }

    .footerMenu .right .navList .subMenu {
        margin-top: 0;
        row-gap: 0;
    }

    .footerMenu .right .navList .subMenu a {
        font-size: 14px;
        padding: 17px 30px 17px 10px;
        background: url(./img/common/icon-link-white.svg) no-repeat center right 17px;
        background-size: 10px;
        border-bottom: 1px solid #DBE0E7;
    }

    /*footerBottom*/
    .footerBottom {
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    /*movie*/
    .footer .movie {
        height: 85.33333333333334vw;
    }

    .footer .movie::after {
        display: none;
    }

}

/*recruitBox*/
.recruitBox {
    position: relative;
    max-width: 1380px;
    border-radius: 32px;
    overflow: hidden;
    background: url(./img/top/recruit-container.jpg) no-repeat center;
    background-size: cover;
}

.recruitBox .recruitBoxInner {
    padding: 0 min(90px,6.25vw);
    column-gap: min(100px,6.944444444444445vw);
}

.recruitBox .recruitBoxInner .left {
    width: calc(50% - min(100px,6.944444444444445vw));
    padding: 100px 0;
    color: #fff;
}

.recruitBox .recruitBoxInner .left .title {
    font-size: min(42px,2.9166666666666665vw);
    font-weight: 500;
    line-height: 1.5;
}

.recruitBox .recruitBoxInner .left .cm {
    margin: 40px 0;
}

.recruitBox .recruitBoxInner .right {
    position: relative;
    column-gap: 20px;
    row-gap: 40px;
    justify-content: center;
    align-items: center;
    min-height: 776px;
    max-width: 100%;
    overflow: hidden;
    width: 50%;
}

.recruitBox .recruitBoxInner .right .slide  {
    width: calc(50% - 10px);
    height: 100%;
    position: absolute!important;
    overflow: hidden;
}

.recruitBox .recruitBoxInner .right .slide1 {
    left: 0;
    top: 0;
}

.recruitBox .recruitBoxInner .right .slide2 {
    left: calc(50% + 10px);
    top: 0;
}

.recruitBox .recruitBoxInner .right .swiper-wrapper {
    transition-timing-function: linear;
}

.recruitBox .recruitBoxInner .right .swiper-slide {
    border-radius: 10px;
    overflow: hidden;
}

.recruitBox .recruitBoxInner .right .swiper-slide img {
    height: 100%;
    width: 100%;
    max-width: 100%;
    object-fit: cover;
}

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

    .recruitBox {
        background: #0A64CB;
    }

    .recruitBox .recruitBoxInner {
        padding: 0 0 60px 0;
    }
    
    .recruitBox .recruitBoxInner .left {
        width: 100%;
        padding: 75px min(90px,6.25vw) 60px min(90px,6.25vw);
    }

    .recruitBox .recruitBoxInner .left .title {
        font-size: max(28px,2.9166666666666665vw);
    }

    .recruitBox .recruitBoxInner .right {
        min-height: auto;
        width: 100%;
    }

    .recruitBox .recruitBoxInner .right .slide  {
        width: 100%;
        position: relative !important;
        height: 60.266666666666666vw;
        min-height: 226px;
    }

    .recruitBox .recruitBoxInner .right .slide2 {
        left: 0;
        top: 0;
    }

    .recruitBox .recruitBoxInner .right .swiper-wrapper {
        transition-timing-function: linear;
    }

    .recruitBox .recruitBoxInner .right .swiper-slide {
        border-radius: 10px;
        overflow: hidden;
    }

    .recruitBox .recruitBoxInner .right .swiper-slide img {
        height: 100%;
        width: 100%;
        max-width: 100%;
        object-fit: cover;
    }

}

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

    .recruitBox {
        border-radius: 30px;
    }

    .recruitBox .recruitBoxInner .left {
        padding: 75px 11px 60px 11px;
    }

    .recruitBox .recruitBoxInner .left .title {
        font-size: 28px;
    }

}

/*--------------------------------------------------------------------------------------------------------------------

トップページ

--------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------MV*/
.mv {
    position: relative;
    background-color: #fff;
}

.bannerSwiper {
    padding-bottom: 110px;
    height: calc(var(--vh, 1vh) * 100);
    max-height: 850px;
}

.mv .img {
    position: relative;
    width: 100%;
    height: 100%;
}

.mv .img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(15deg, #003366, rgba(0,51,102,.4));
    opacity: .2;
}

.mv .img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(./img/top/fv-layer.svg) no-repeat center;
    background-size: cover;
}

.mv .img img,
.mv .img video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mv .title {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin: auto;
    width: 100%;
    padding: 0 60px;
    color: #fff;
    z-index: 2;
}

.mv .title .ja {
    font-size: clamp(34px, 4.861111111111112vw, 70px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .04em;
    display: block;
    text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.3);
}

.mv .title .en {
    font-family: "Inter", sans-serif;
    font-size: min(80px,8.3vw);
    font-weight: 500;
    line-height: 1.1;
    display: block;
    text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.3);
}

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

    .bannerSwiper {
        padding-bottom: 65px;
    }

}

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

    .bannerSwiper {
        max-height: 500px;
    }

    .mv .img::before {
        background-image: url(./img/top/fv-layer-sp.svg);
    }

    .mv .title {
        padding: 0 12px;
    }

    .mv .title .ja {
        font-size: 33px;
    }

    .mv .title .en {
        font-size: 48px;
    }

}

/*bannerTop*/
.bannerTop {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    max-width: 1200px;
    overflow: hidden;
    z-index: 2;
}

.bannerTop .swiper-slide {
    position: relative;
    max-height: 120px;
    height: 15.333333vw;
    cursor: pointer;
}

.bannerTop .swiper-slide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.bannerTop .swiper-slide img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .2s;
}

.bannerTop .swiper-slide:hover img {
    opacity: .7;
}

.bannerTop .swiper-slide .sectionTitle {
    position: absolute;
    bottom: 10px;
    left: 10px;
    margin: 0;
}

.bannerTop .swiper-slide .sectionTitle .ja {
    margin: 0;
    color: #fff;
    padding-left: 30px;
    line-height: 1.2;
}

.bannerTop .swiper-slide .sectionTitle .ja::before {
    top: 1px;
}

.bannerTop .swiper-slide .sectionTitle .ja::after {
    top: 8px;
}

.swiper-button {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 100%;
    height: 100%;
}

.swiper-button .swiper-button-prev,
.swiper-button .swiper-button-next {
    top: auto !important;
    bottom: 10px;
    margin-top: 0;
    width: 28px;
    height: 28px;
    z-index: 10;
}
  
.swiper-button .swiper-button-prev {
    background: url(./img/common/prev.svg) no-repeat center;
    background-size: 28px;
}

.swiper-button .swiper-button-next {
    background: url(./img/common/next.svg) no-repeat center;
    background-size: 28px;
}

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

    .bannerTop {
        padding: 0 40px;
        max-width: 350px;
        bottom: 0;
    }

    .bannerTop .swiper-slide {
        height: 85px;
    }

    .bannerTop .swiper-slide .sectionTitle .ja {
        padding-top: 0;
    }

    .bannerTop .swiper-slide .sectionTitle .ja::before {
        top: 0;
    }

    .bannerTop .swiper-slide .sectionTitle .ja::after {
        top: 7px;
    }

}

/*aboutTop*/
.aboutTop {
    position: relative;
    padding: 135px 0 min(715px,55.652778vw) 0;
    background: url(./img/top/about-bg.jpg) no-repeat bottom center;
    background-size: cover;
}

.aboutTopInner {
    position: relative;
    max-width: min(690px,50.7vw);
    padding-left: 120px;
    z-index: 3;
}

.aboutTop .title {
    font-size: min(34px,2.361111111111111vw);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .04em;
    margin-bottom: 60px;
}

.aboutTop .title .large {
    font-size: min(45px,3.125vw);
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.aboutTop .cm {
    font-size: min(20px,1.3888888888888888vw);
    line-height: 2;
    letter-spacing: .05em;
}

.aboutTop .modBtn1 {
    margin-top: 60px;
}

.aboutTop .parallax {
    position: absolute;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    margin: auto;
    z-index: 1;
}

.aboutTop .parallax .parallaxUp {
    width: 100%;
    height: 100%;
}

.aboutTop .parallax .parallaxUp .parallaxUpImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aboutTop .parallaxUpBg {
    position: absolute;
    overflow: hidden;
    top: 25px;
    left: 25px;
}

.aboutTop .parallaxUpBg::before {
    content: "";
    position: absolute;
    top: -5px;   /* blur分だけ拡大 */
    left: -5px;
    right: -5px;
    bottom: -5px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: .3;
    filter: blur(5px);
    z-index: -1; /* 背景扱い */
}

/*1*/
.aboutTop .parallax1 {
    top: min(350px,34.305556vw);
    max-width: 1440px;
}

.aboutTop .parallax1 .simpleParallax,
.aboutTop .parallax1 .parallaxUpBg {
    max-width: 360px;
    width: 25vw;
    max-height: 440px;
    height: 30.555555555555557vw;
}

.aboutTop .parallax1 .parallaxUpBg::before {
    background-image: url(./img/top/about-img01.jpg);
}

/*2*/
.aboutTop .parallax2 {
    top: min(995px,84.097222vw);
    max-width: 800px;
}

.aboutTop .parallax2 .simpleParallax,
.aboutTop .parallax2 .parallaxUpBg {
    max-width: 260px;
    width: 18.055555555555554vw;
    max-height: 260px;
    height: 18.055555555555554vw;
}

.aboutTop .parallax2 .parallaxUpBg::before {
    background-image: url(./img/top/about-img02.jpg);
}

/*3*/
.aboutTop .parallax3 {
    top: min(830px,69.638889vw);
    max-width: 1440px;
}

.parallax3 .simpleParallax {
    margin-left: auto;
}

.aboutTop .parallax3 .simpleParallax,
.aboutTop .parallax3 .parallaxUpBg {
    max-width: 600px;
    width: 41.66666666666667vw;
    max-height: 336px;
    height: 23.333333333333332vw;
}

.aboutTop .parallax3 .parallaxUpBg {
    left: auto;
    right: 25px;
}

.aboutTop .parallax3 .parallaxUpBg::before {
    background-image: url(./img/top/about-img03.jpg);
}

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

    .aboutTopInner {
        max-width: 100%;
        padding-left: 32%;
    }

    .aboutTop .title {
        font-size: max(21px,2.361111111111111vw);
    }

    .aboutTop .title .large {
        font-size: max(28px,3.125vw);
    }

    .aboutTop .cm {
        font-size: max(16px,1.3888888888888888vw);
    }

}

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

    .aboutTop {
        padding: 275px 0 645px 0;
        background-image: url(./img/top/about-bg-sp.jpg);
    }

    .aboutTopInner {
        max-width: 347px;
        padding-left: 0;
    }

    .aboutTop .title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .aboutTop .title .large {
        font-size: 28px;
    }

    .aboutTop .cm {
        font-size: 16px;
    }

    .aboutTop .modBtn1 {
        margin: 50px auto 0 auto;
    }

    .aboutTop .parallax.pc {
        display: none;
    }

    .aboutTop .parallax.sp {
        display: block;
    }

    .aboutTop .parallaxUpBg {
        top: 10px;
        left: 10px;
    }

    /*1*/
    .aboutTop .parallax1 {
        top: 75px;
    }

    .aboutTop .parallax1 .simpleParallax,
    .aboutTop .parallax1 .parallaxUpBg {
        max-width: 100%;
        width: 260px;
        max-height: 100%;
        height: 160px;
    }

    .aboutTop .parallax1 .parallaxUpBg::before {
        background-image: url(./img/top/about-img01-sp.jpg);
    }

    /*2*/
    .aboutTop .parallax2 {
        top: auto;
        bottom: 155px;
    }

    .aboutTop .parallax2 .simpleParallax,
    .aboutTop .parallax2 .parallaxUpBg {
        max-width: 100%;
        width: 242px;
        max-height: 100%;
        height: 135px;
    }

    .aboutTop .parallax2 .parallaxUpBg::before {
        background-image: url(./img/top/about-img03.jpg);
    }

    /*3*/
    .aboutTop .parallax3 {
        top: auto;
        bottom: 335px;
        max-width: 94.5vw;
    }

    .parallax3 .simpleParallax {
        margin-left: auto;
    }

    .aboutTop .parallax3 .simpleParallax,
    .aboutTop .parallax3 .parallaxUpBg {
        max-width: 100%;
        width: 202px;
        max-height: 100%;
        height: 249px;
    }

    .aboutTop .parallax3 .parallaxUpBg {
        right: -10px;
    }

    .aboutTop .parallax3 .parallaxUpBg::before {
        background-image: url(./img/top/about-img01.jpg);
    }

}

/*productsList*/
.productsList {
    column-gap: 38px;
    row-gap: min(38px,2.638888888888889vw);
}

.productsList .box {
    position: relative;
    border-radius: 30px;
    padding: 28px 13px;
    background-color: #F9F9F9;
    box-shadow:
        0px 0px 50px 0px rgba(11, 101, 204, 0),          /* 外側の影 */
        0px 0px 50px 0px rgba(11, 101, 204, 0),          /* 外側のhover用プレースホルダー */
        inset 0 0 10px rgba(0, 0, 0, 0.1),         /* 内側の透過 */
        inset 0 0 10px rgba(0, 0, 0, 0.1);         /* 内側の透過 */
    transition: box-shadow 0.5s ease-in-out, background-color 0.3s ease-in-out;
    text-align: center;
    width: 220px;
    transition: .3s;
}

.productsList .box:hover {
    background-color: #fff;
    box-shadow:
        0px 0px 50px 0px rgba(11, 101, 204, 0.05),          /* 外側の影 */
        0px 0px 50px 0px rgba(11, 101, 204, 0.05),          /* 外側のhover用プレースホルダー */
        inset 0 0 10px rgba(0, 0, 0, 0),         /* 内側の透過 */
        inset 0 0 10px rgba(0, 0, 0, 0);         /* 内側の透過 */
}

.productsList .box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    box-shadow: inset -10px -10px 10px 0px rgba(255, 255, 255, 1);
    z-index: 1;
    transition: .3s;
}

.productsList .box .num {
    position: absolute;
    top: 13px;
    left: 13px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
}

.productsList .box .img {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 100px;
    margin: 0 auto 10px auto;
    background-image: linear-gradient(45deg, #FBF5F5, #EEF4F9);
    box-shadow: inset 5px 5px 10px 0px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.productsList .box .img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    box-shadow: inset -5px -5px 10px 0px rgba(255, 255, 255, 1);
    z-index: 1;
}

.productsList .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.productsList .box .title {
    font-size: 17px;
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 1.2;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

.productsList .box10 .title {
    font-size: 15px;
}

.productsList .box .title .small {
    font-size: 13px;
}

.productsList .box .title font {
    display: inline-block;
}

@media screen and (max-width: 1573px){
    
    .productsList {
        max-width: 1252px;
        margin: 0 auto;
    }

}

@media screen and (max-width: 1315px){
    
    .productsList {
        max-width: 994px;
    }

}

@media screen and (max-width: 1057px){
    
    .productsList {
        max-width: 736px;
    }

}

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

    .productsList {
        column-gap: 22px;
        row-gap: 38px;
    }

    .productsList .box {
        width: calc(100% / 2 - 11px);
        padding: 25px 5px 15px 5px;
    }

}

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

    .productsList .box .img {
        width: 64px;
        height: 64px;
        margin: 0 auto;
    }

    .productsList .box10 .img {
        margin: 0 auto 5px auto;
    }

    .productsList .box .title {
        font-size: 15px;
    }

    .productsList .box .title .small {
        font-size: 13px;
    }

}

/*productsTop*/
.productsTop {
    position: relative;
    padding: 140px 0 200px 0;
    background: url(./img/top/products-bg.jpg) no-repeat top center;
    background-size: cover;
}

.productsTop .productsTopInner {
    max-width: 1510px;
}

.productsTop .sectionTitle {
    text-align: center;
    margin-bottom: 80px;
}

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

    .productsTop {
        background-image: url(./img/top/products-bg-sp.jpg);
    }

    .productsTop .sectionTitle {
        margin-bottom: 55px;
    }

}

/*companyList*/
.companyList {
    column-gap: 26px;
    row-gap: 20px;
    align-items: flex-start;
}

.companyList .box {
    position: relative;
    width: calc(100% / 4 - 19.5px);
}

.companyList .box:nth-child(1) {
    margin-top: 150px;
}

.companyList .box:nth-child(2) {
    margin-top: 100px;
}

.companyList .box:nth-child(3) {
    margin-top: 50px;
}

.companyList .box .img {
    position: relative;
    max-height: 420px;
    height: 29.166666666666668vw;
    overflow: hidden;
}

.companyList .box .img::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background-image: linear-gradient(0deg, #000, transparent);
    opacity: .6;
    transition: .3s;
    z-index: 1;
}

.companyList .box:hover .img::before {
    opacity: 0;
}

.companyList .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
}

.companyList .box:hover .img img {
    transform: scale(1.2);
}

.companyList .box .title {
    position: absolute;
    bottom: 15px;
    left: min(30px,2.083333333333333vw);
    color: #fff;
    z-index: 1;
    padding-right: 65px;
}

.companyList .box .title .en {
    display: block;
    font-family: "Inter", sans-serif;
    font-size: min(16px,1.1111111111111112vw);
    font-weight: 500;
    line-height: 1;
    letter-spacing: .04em;
    margin-bottom: 2px;
}

.companyList .box .title .ja {
    display: block;
    font-size: min(32px,2.2222222222222223vw);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.4;
}

.companyList .box .icon {
    position: absolute;
    bottom: 20px;
    right: min(30px,2.083333333333333vw);
    height: 44px;
    width: 44px;
    transition: .3s;
    border-radius: 100px;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
    z-index: 1;
}

.companyList .box .icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 22px;
    height: 22px;
    border-radius: 50px;
    background-color: #fff;
    opacity: .15;
    display: block;
    z-index: 1;
}

.companyList .box .icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.4); /* 小さめにしておく */
    margin: auto;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #fff;
    transition: transform 0.4s ease, background-size 0.4s ease;
    transform-origin: center;
    z-index: 2;
}

.companyList .box:hover .icon::after {
    width: 22px;
    height: 22px;
    background: url(./img/common/icon.svg) no-repeat center;
    background-size: 22px;
    transform: translate(-50%, -50%) scale(1); /* 拡大アニメーション */
}

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

    .companyList .box {
        width: calc(100% / 2 - 13px);
    }

    .companyList .box:nth-child(1) {
        margin-top: 50px;
    }

    .companyList .box:nth-child(2) {
        margin-top: 0;
    }

    .companyList .box:nth-child(3) {
        margin-top: 50px;
    }

    .companyList .box .img {
        max-height: 100%;
        height: 59vw;
    }

    .companyList .box .title .en {
        font-size: min(16px,2.5640273704789833vw);
    }

    .companyList .box .title .ja {
        font-size: min(32px,4.1280547409579667vw);
    }

}

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

    .companyList {
        row-gap: 40px;
    }

    .companyList .box {
        position: relative;
        width: 100%;
    }

    .companyList .box:nth-child(1),
    .companyList .box:nth-child(2),
    .companyList .box:nth-child(3) {
        margin-top: 0;
    }

    .companyList .box .img {
        min-height: 420px;
        height: 112.00000000000001vw;
    }

    .companyList .box .title {
        bottom: 10px;
        left: 30px;
    }

    .companyList .box .title .en {
        font-size: 15px;
    }

    .companyList .box .title .ja {
        font-size: 28px;
    }

    .companyList .box .icon {
        right: 30px;
    }

}

/*companyTop*/
.companyTop {
    position: relative;
    padding: 140px 0 220px 0;
    border-radius: 60px 60px 0 0;
    background: url(./img/top/company-top-bg.jpg) no-repeat bottom center;
    background-size: cover;
    margin-top: -60px;
}

.companyTop .sectionTitle {
    margin-bottom: 0;
}

.companyTop .companyList {
    margin-top: -15px;
    max-width: 1440px;
    width: 100%;
}

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

    .companyTop {
        background-image: url(./img/top/company-top-bg-sp.jpg);
        background-position: top center;
    }

    .companyTop .companyList {
        margin-top: 0;
    }

    .companyTop .sectionTitle {
        margin-bottom: 40px;
    }

}

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

    .companyTop {
        padding: 100px 0 130px 0;
        border-radius: 30px 30px 0 0;
        margin-top: -30px;
    }

    .companyTop .companyList {
        width: calc(100% - 30px);
    }

    .companyTop .sectionTitle {
        text-align: center;
    }

    .companyTop .sectionTitle .cm {
        text-align: left;
    }

}

/*textSlide*/
.textSlide {
    position: absolute;
    left: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
}

.aboutTop .textSlide {
    top: min(700px,56vw);
    z-index: 2;
    mix-blend-mode: soft-light;
}

.newsTop .textSlide {
    bottom: 40px;
}

.textSlide .wrapper {
    display: flex;
    animation: loop-text 40s linear infinite;
}

.textSlide .wrapper .text {
    display: inline-block;
    font-size: 120px;
    letter-spacing: .1em;
    white-space: nowrap;
}

.aboutTop .textSlide .wrapper .text {
    color: #fff;
}

.newsTop .textSlide .wrapper .text {
    color: #EDEDED;
}

@keyframes loop-text {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-50%);
    }
}

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

    .aboutTop .textSlide {
        top: auto;
        bottom: 255px;
    }

    .newsTop .textSlide {
        bottom: 85px;
    }

    .textSlide .wrapper .text {
        font-size: 80px;
    }

}

@media screen and (max-width: 599px){
    
    .newsTop .textSlide {
        bottom: 56px;
    }

}

/*topIos*/
.topIos {
    position: relative;
    padding: 100px 0;
    background-attachment: fixed;
    margin-bottom: 140px;
}

.topIos .parallax {
    position: absolute;
    top: 0;
    width: 100%;
    left: 50%;
    height: 100%;
    transform: translateX(-50%);
    margin: auto;
}

.topIos .parallax .simpleParallax {
    width: 100%;
    height: 100%;
}

.topIos .parallax .parallaxUp {
    width: 100%;
    height: 100%;
}

.topIos .parallax .parallaxUp .parallaxUpImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topIos .topIosInner {
    max-width: 840px;
    column-gap: min(38px,2.638888888888889vw);
    row-gap: 35px;
}

.topIos .topIosInner .box {
    position: relative;
    border-radius: 30px;
    padding: min(40px,2.7777777777777777vw);
    background-color: #fff;
    box-shadow: inset 5px 5px 10px 0px rgba(0, 0, 0, 0.1);
    text-align: center;
    width: calc(50% - 19px);
}

.topIos .topIosInner .box:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    box-shadow: inset -5px -5px 10px 0px rgba(255, 255, 255, 1);
    z-index: 1;
}

.topIos .topIosInner .box .img {
    margin: 0 auto;
}

.topIos .topIosInner .box .title {
    font-size: 24px;
    font-weight: 700;
    color: #202050;
    margin: 8px 0 16px 0;
}

.topIos .modBtn1 {
    margin: 60px auto 0 auto;
}

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

    .topIos {
        padding: 80px 0;
        margin-bottom: 100px;
    }

    .topIos .topIosInner {
        max-width: 400px;
    }

    .topIos .topIosInner .box {
        width: 100%;
        border-radius: 16px;
        padding: 25px;
    }

    .topIos .topIosInner .box .title {
        font-size: 22px;
    }

    .topIos .topIosInner .box .cm {
        text-align: left;
    }

    .topIos .modBtn1 {
        margin: 45px auto 0 auto;
    }

}

/*pagination*/
.pagination {
    position: relative;
    padding-top: 96px;
}

.pagination::before {
    content: "";
    position: absolute;
    top: 72px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #D3D3D3;
}

.pagination .flex {
    justify-content: flex-end;
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
}

.pagination .button a {
    width: 8.49px;
    height: 16.97px;
    margin: 0 auto;
    transition: .2s;
}

.pagination .button.prev a {
    background: url(./img/common/pagination-prev.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.prev a:hover {
    background: url(./img/common/pagination-prev-hover.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.next a {
    background: url(./img/common/pagination-next.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .button.next a:hover {
    background: url(./img/common/pagination-next-hover.png) no-repeat center;
    background-size: 100% auto;
}

.pagination .num a,
.pagination .buttonText a {
    font-weight: 500;
    height: 36px;
    text-align: center;
    border: 2px solid #C1C1C1;
    line-height: 32px;
    color: #775822;
    transition: .2s;
}

.pagination .num a {
    width: 32px;
}

.pagination .buttonText a {
    font-size: 15px;
}

.pagination .nextText a {
    width: 48px;
}

.pagination .lastText a {
    width: 60px;
}

.pagination .num.current a,
.pagination .num a:hover,
.pagination .buttonText a:hover {
    background-color: #775822;
    border: 2px solid #775822;
    color: #fff;
}

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

    .pagination {
        padding-top: 72px;
    }

    .pagination::before {
        top: 48px;
        left: -16px;
        width: calc(100% + 32px);
    }

    .pagination .flex {
        justify-content: center;
    }

}

/*productsTabList*/
ul.productsTabList {
  position: relative;
  justify-content: space-between;
  padding: 4px;
  height: 68px;
  border-radius: 100px;
  background-color: #F2F2F2;
  max-width: 508px;
  margin: 0 auto 80px auto;
  overflow: hidden;
}

.productsTabList li {
    position: relative;
    width: 240px;
    border-radius: 100px;
    background-color: transparent;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 1; /* 背景より上 */
    cursor: pointer;
    padding: 0 10px;
    line-height: 1.3;
    text-align: center;
}

.productsTabList li .btnInner {
  position: relative;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .05em;
  color: #333;
  transition: color .3s;
}

.productsTabList li.current .btnInner {
  color: #fff;
}

.productsTabList .tabBg {
  position: absolute;
  top: 4px;
  left: 4px;
  width: 240px;
  height: calc(100% - 8px);
  border-radius: 100px;
  background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
  transition: transform .5s ease;
  z-index: 0;
}

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

    ul.productsTabList {
    max-width: 345px;
    margin: 0 auto 45px auto;
    }

    .productsTabList li {
    width: 160px;
    }

    .productsTabList li .btnInner {
    font-size: 16px;
    letter-spacing: .02em;
    }

    .productsTabList .tabBg {
    width: 160px;
    }

}

/*tabList*/
.tabList {
    display: flex;
    flex-direction: column;
    column-gap: 10px;
    row-gap: 20px;
}

.tabList li {
    position: relative;
    width: 100%;
    max-width: 220px;
    min-height: 48px;
    border-radius: 16px;
    background-color: #F1F4F8;
    letter-spacing: .05em;
    transition: .3s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.tabList li .btnInner {
    position: relative;
    font-weight: 500;
    transition: .3s;
    line-height: 1;
    padding: 0 15px;
}

.tabList li:hover .btnInner,
.tabList li.current .btnInner {
    color: #0963CB;
}

.tabList .tabContent {
  display: none;
}
.tabList .tabContent[data-cat="all"] {
  display: block;
}

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

    .tabList {
        flex-direction: initial;
    }

}

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

    .tabList {
        flex-wrap: wrap;
        column-gap: 25px;
        row-gap: 10px;
    }

    .tabList li {
        max-width: 100%;
        width: calc(50% - 13px);
        border-radius: 8px;
    }

}

/*newsList*/
.newsList a {
    position: relative;
    padding: 24px 60px 24px 0;
    background: url(./img/common/icon2.svg) no-repeat center right 15px;
    background-size: 10px;
    align-items: center;
    row-gap: 16px;
    border-bottom: 1px solid #DBE0E7;
    transition: .3s;
}

.locationsSection .newsList .flex {
    padding: 0 60px 24px 0;
    align-items: center;
    row-gap: 16px;
    border-bottom: 1px solid #DBE0E7;
    margin-bottom: 30px;
}

.newsList a:hover {
    background-position: center right 5px;
}

.newsList a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    height: 1px;
    width: 0;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
    transition: width 0.3s ease;
}

.newsList a:hover::after {
    width: 100%;
}

.newsList .dateCategory {
    width: 95px;
}

.newsList .date {
    font-size: 14px;
    color: #B9BFC4;
    margin-bottom: 5px;
}

.newsList .category {
    font-size: 14px;
    color: #006CCF;
    margin-bottom: 0;
}

.newsList .title {
    font-size: 16px;
    font-weight: 400;
    width: calc(100% - 95px);
    transition: .3s;
    margin-bottom: 0;
}

.newsList a:hover .title {
    color: #0963CB;
}

.returnBtn {
    margin-right: auto;
    margin-left: auto;
}

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

    .newsList a {
        padding: 32px 15px;
        background: none;
    }

    .newsList .dateCategory,
    .newsList .title {
        width: 100%;
    }

}

/*newsTop*/
.newsTop {
    position: relative;
    padding: 100px 0 80px 0;
    background-color: #fff;
    border-radius: 60px 60px 0 0;
}

.newsTopInner {
    position: relative;
    justify-content: space-between;
    column-gap: min(100px,6.944444444444445vw);
    row-gap: 20px;
    align-items: center;
}

.newsTop .newsTopInner {
    max-width: 1320px;
    width: 100%;
    padding: 0 min(60px,4.166666666666666vw);
    backdrop-filter: blur(5px);
    background-color: rgba(255,255,255,.3);
}

.locationsSectionInner .newsTopInner {
    align-items: flex-start;
}

@media screen and (min-width: 900px){

    .locationsSectionInner .newsTopInner .left {
        padding-top: 24px;
    }

}

.newsTopInner .left {
    width: 291px;
}

.newsTop .modBtn1 {
    margin-top: 55px;
}

.newsTopInner .right {
    width: calc(100% - 291px - min(100px,6.944444444444445vw));
}

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

    .newsTop .sectionTitle {
        text-align: center;
    }

    .newsTopInner .left {
        width: 100%;
    }

    .newsTop .modBtn1.pc {
        display: none;
    }

    .newsTop .modBtn1.sp {
        display: block;
        margin: 20px auto 0 auto;
    }

    .newsTopInner .right {
        width: 100%;
    }

}

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

    .newsTop {
        padding: 80px 0;
        border-radius: 30px 30px 0 0;
    }

    .newsTop .newsTopInner {
        padding: 0 15px;
    }

    .locationsSectionInner .newsTopInner {
        width: 100%;
    }

}

/*article*/
.article .newsList {
    margin-bottom: 16px;
}

.article .newsList .date {
    font-size: 16px;
}

.article .newsList .h2 {
    margin-bottom: 40px;
}

.article .mainImg img {
    margin: 0 auto 40px auto;
}

.articleBtn {
    margin-top: 48px;
}

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

    .article .newsList .date {
        font-size: 15px;
    }

    .article .mainImg img {
        margin: 0 auto 32px auto;
    }

    .articleBtn {
        max-width: 200px;
        margin-top: 32px;
    }

    .articleBtn a {
        height: 40px;
    }

}

/*privacySection*/
.privacySection .h2 {
    margin-bottom: 37px;
}

.privacySection body .h3 {
    margin-top: 28px;
}

.privacySection .list {
    margin-top: 20px;
}

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

    .privacySection .h2 {
        margin-bottom: 32px;
    }

    .privacySection .list {
        margin-top: 10px;
    }

}

/*guideSection*/
.guideSection .h5 {
    margin-top: 32px;
    margin-bottom: 16px;
}

.guideSection .pageSectionGuide {
    margin-bottom: 48px;
}

.guideSection .brown {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 12px;
    color: #775822;
}

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

    .guideSection .h5 {
        margin-top: 24px;
    }

    .guideSection .pageSectionGuide {
        margin-bottom: 32px;
    }

}

/*pageOem*/
.pageOem body .h3 {
    margin-top: 48px;
}

.pageOem .list {
    margin-bottom: 12px;
}

.pageOem .oemList {
    justify-content: center;
    column-gap: 18px;
    row-gap: 24px;
    margin-bottom: 40px;
}

.pageOem .oemList li {
    position: relative;
    width: calc(100% / 3 - 12px);
    border: 1px solid #D6C434;
    padding: 40px 10px 15px 10px;
    min-height: 198px;
}

.pageOem .oemList li .num {
    position: absolute;
    top: 0;
    left: 0;
    width: 72px;
    height: 32px;
    line-height: 32px;
    border-radius: 0 0 10px 0;
    background-color: #D6C434;
    color: #fff;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
}

.pageOem .oemList li .title {
    font-size: 19px;
    font-weight: 700;
    text-align: center;
    color: #D6C434;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #D3D3D3;
}

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

    .pageOem .oemList li {
        width: calc(100% / 2 - 9px);
        min-height: auto;
    }

}

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

    .pageOem body .h3 {
        margin-top: 32px;
    }

    .pageOem .oemList {
        row-gap: 16px;
        margin-bottom: 24px;
    }

    .pageOem .oemList li {
        width: 100%;
        border: 1px solid #D6C434;
        padding: 40px 10px 20px 10px;
    }

    .pageOem .oemList li .title {
        padding-bottom: 10px;
    }

}

/*pageFor*/
.pageFor .forList {
    justify-content: center;
    column-gap: 18px;
    row-gap: 24px;
    margin-bottom: 40px;
}

.pageFor .forList li {
    width: calc(100% / 3 - 12px);
    border: 1px solid #D6C434;
    padding: 19px 10px;
    border-radius: 5px;
    text-align: center;
}

.pageFor .forList li .title {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    color: #D6C434;
    min-height: 64.8px;
    vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pageFor .forList li .icon {
    margin: 10px auto 15px auto;
}

.pageFor .forList li .cm {
    min-height: 64.8px;
    vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

    .pageFor .forList li {
        width: calc(100% / 2 - 9px);
    }

}

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

    .pageFor .forList {
        row-gap: 16px;
        margin-bottom: 32px;
    }

    .pageFor .forList li {
        width: 100%;
        padding: 24px 10px;
    }

    .pageFor .forList li .title {
        min-height: auto;
    }

    .pageFor .forList li .icon {
        margin: 16px auto;
    }

    .pageFor .forList li .cm {
        min-height: auto;
    }

}

/*privacyContact*/
.privacyContact {
    margin-top: 64px;
}

.privacyContact .title {
    font-size: 18px;
}

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

    .privacyContact {
        margin-top: 48px;
    }

}

/*form*/
.pageContact {
    background-color: #fff;
    height: 100%;
    min-height: 100vh;
    width: 100%;
    border-collapse: collapse;
    padding: 24px 20px 40px 20px;
}

#enter {
    width: 100%;
}

#center3 .layoutp3 {
    margin-top: 16px;
}

#center3 .layoutp3 table th {
    font-size: 15px;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    padding-top: 10px;
    width: 200px;
}

#center3 .centerbox .caution {
    color: #FF0000;
}

#center3 .layoutp3 table .cm {
    font-size: 13px;
    margin-top: 12px;
    margin-bottom: 8px;
    display: block;
}

#center3 input[type="text"],
#center3 input[type="tel"],
#center3 input[type="email"],
#center3 textarea {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    border: 1px solid #C1C1C1;
    padding: 5.5px 10px;
    font-size: 15px;
    font-weight: 400;
    border-radius: 0;
    margin: 6px 0;
}

#center3 textarea {
    min-height: 160px;
}

#center3 input[type="button"] {
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    background-color: #333333;
    height: 33px;
    border-radius: 2px;
    text-align: center;
    line-height: 31px;
    border: none;
    padding: 0 12px;
    margin: 0 8px;
    transition: .2s;
}

#center3 input[type="button"]:hover {
    background-color: #666666;
}

#center3 .btnSection {
    margin-left: 41.25vw;
}

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

    .pageContact {
        padding: 25px 16px 43px 16px;
    }

    #center3 .layoutp3 {
        margin-top: 0;
    }

    #center3 .layoutp3 table th {
        padding-top: 12px;
        padding-left: 4px;
        width: 100%;
        display: block;
    }

    #center3 .layoutp3 table td {
        padding-top: 10px;
        width: 100%;
        display: block;
    }

    #center3 input[type="text"],
    #center3 input[type="tel"],
    #center3 input[type="email"],
    #center3 textarea {
        margin: 0;
        display: block;
    }

    #center3 .btnSection {
        margin-left: 0;
        text-align: center;
    }

}

/*pageProductSingle*/
.pageProductSingle body .table1 {
    margin: 32px 0 56px 0;
}

.pageProductSingle .pageSection {
    margin-bottom: 56px;
}

.pageProductSingle .top {
    justify-content: space-between;
    margin-bottom: 48px;
    row-gap: 32px;
}

.pageProductSingle .top .right {
    width: 47.5%;
}  

.pageProductSingle .top .left {
    width: 44%;
}  

.pageProductSingle .top .right .table {
    margin: 12px 0 36px 0;
}

.pageProductSingle .top .right .table th {
    width: 43.7%;
    font-weight: 500;
    text-align: left;
    vertical-align: top;
    padding: 10px 0;
}  

.pageProductSingle .top .right .table td {
    width: 56.3%;
    padding: 10px 0;
}  

.pageProductSingle .top .right .table td .price {
    font-size: 24px;
    font-weight: 700;
    color: #DA021B;
    display: block;
}  

.pageProductSingle .top .right .table td .price .small {
    font-size: 15px;
}

.pageProductSingle .top .right .table td .point {
    font-size: 14px;
}

.pageProductSingle .top .right .table td input {
    border: 1px solid #C1C1C1;
    padding: 0 7px;
    width: 40px;
    height: 30px;
    margin-right: 8px;
}

.pageProductSingle .top .right .btn {
    position: relative;
    margin-bottom: 8px;
}

.pageProductSingle .top .right .btn1 input {
    background-color: #F2E474;
    border: 1px solid #D6C434;
    border-radius: 3px;
    width: 100%;
    height: 48px;
    transition: .2s;
}

.pageProductSingle .top .right .btn img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
}

.pageProductSingle .top .right .btn1 input:hover {
    background-color: #D6C434;
}

.pageProductSingle .top .right .btn2 a {
    background-color: #EDEDED;
    border: 1px solid #C1C1C1;
    border-radius: 3px;
    width: 100%;
    height: 32px;
    transition: .2s;
}

.pageProductSingle .top .right .btn2 a:hover {
    background-color: #D3D3D3;
}

.pageProductSingle .top .right .sns {
    justify-content: flex-end;
    column-gap: 10px;
    align-items: center;
}

.pageProductSingle .top .right .sns a {
    transition: .2s;
}

.pageProductSingle .top .right .sns a:hover {
    opacity: .7;
}

.pageProductSingle .top .left .itemThumb-main {
    border: 1px solid #D3D3D3;
    margin-bottom: 16px;
}

.pageProductSingle .top .left .itemThumb-main img {
    width: 100%;
    max-height: 430px;
    height: 30.714285714285715vw;
    object-fit: cover;
}

.pageProductSingle .top .left .itemThumb {
    column-gap: 12px;
    row-gap: 12px;
}

.pageProductSingle .top .left .itemThumb li {
    width: calc(100% / 5 - 9.6px);
    border: 1px solid #D3D3D3;
    max-height: 75px;
    height: 5.357142857142857vw;
}

.pageProductSingle .top .left .itemThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

    .pageProductSingle .top .left .itemThumb-main img {
        max-height: 100%;
        height: 43vw;
    }

    .pageProductSingle .top .left .itemThumb li {
        max-height: 100%;
        height: 8vw;
    }

}

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

    .pageProductSingle body .table1 {
        margin: 32px 0 40px 0;
    }

    .pageProductSingle .pageSection {
        margin-bottom: 56px;
    }

    .pageProductSingle .top {
        margin-bottom: 40px;
    }

    .pageProductSingle .top .right,
    .pageProductSingle .top .left {
        width: 100%;
    }  

    .pageProductSingle .top .right .table th {
        width: 158px;
    }  

    .pageProductSingle .top .right .table td {
        width: calc(100% - 158px);
    }  

    .pageProductSingle .top .right .table td input {
        border: 1px solid #C1C1C1;
        padding: 0 7px;
        width: 40px;
        height: 30px;
        margin-right: 8px;
    }

    .pageProductSingle .top .right .btn2 a {
        height: 34px;
    }

    .pageProductSingle .top .left .itemThumb-main {
        border: 1px solid #D3D3D3;
        margin-bottom: 16px;
    }

    .pageProductSingle .top .left .itemThumb-main img {
        min-height: 369px;
        height: 98.4vw;
    }

    .pageProductSingle .top .left .itemThumb li {
        max-height: 65px;
        height: 17.333333333333336vw;
    }

}

/*pageUse*/
.pageUse .pageSection {
    margin-bottom: 72px;
}

.pageUse .mt {
    margin-top: 32px;
}

.pageUse .mt0 {
    margin-top: 0;
}

.pageUse body .h3.mt {
    margin-top: 48px;
}

/*flex1*/
.pageUse .pageSection .flex1 {
    justify-content: space-between;
    row-gap: 32px;
}

.pageUse .pageSection .flex1.mb {
    margin-bottom: 40px;
}

.pageUse .pageSection .flex1 .img {
    width: 41.91%;
    max-height: 254px;
    height: 18vw;
}

.pageUse .pageSection .flex1 .text {
    width: 51.98%;
}

.pageUse .pageSection .flex1 .h4 {
    margin-top: 24px;
}

.pageUse .pageSection .flex1 .list {
    margin: 16px 0;
}

/*flex2*/
.pageUse .pageSection .flex2 {
    justify-content: space-between;
    row-gap: 24px;
    margin-bottom: 40px;
}

.pageUse .pageSection .flex2 .img {
    width: 33.11%;
}

.pageUse .pageSection .flex2 .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pageUse .pageSection .flex2 .text {
    width: 61.58%;
}

.pageUse .pageSection .flex2 .h6 {
    margin-top: 0;
}

/*flex3*/
.pageUse .pageSection .flex3 {
    row-gap: 24px;
    margin-top: 32px;
    background-color: #FFFDED;
    border-radius: 10px;
    padding: 32px min(39px,2.7857142857142856vw);
    column-gap: 24px;
}

.pageUse .pageSection .flex3 li {
    width: calc(100% / 3 - 16px);
}

.pageUse .pageSection .flex3 .img {
    max-height: 170px;
    height: 16vw;
}

.pageUse .pageSection .flex3 .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pageUse .pageSection .flex3 .h6 {
    margin-bottom: 6px;
}

/*flex4*/
.pageUse .pageSection .flex4 {
    row-gap: 33px;
    column-gap: 33px;
}

.pageUse .pageSection .flex4 li {
    width: calc(100% / 3 - 22px);
}

.pageUse .pageSection .flex4 .img {
    max-height: 184px;
    height: 13.142857142857142vw;
    margin-bottom: 16px;
}

.pageUse .pageSection .flex4 .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*flex5*/
.pageUse .pageSection .flex5 {
    row-gap: 24px;
    column-gap: 33px;
    margin-bottom: 56px;
}

.pageUse .pageSection .flex5 li {
    width: calc(100% / 3 - 22px);
    text-align: center;
    border-radius: 5px;
    border: 1px solid #D6C434;
}

.pageUse .pageSection .flex5 li .text {
    padding: 11px 13px 20px 13px;
}

.pageUse .pageSection .flex5 .title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    background-color: #D6C434;
    border-radius: 5px 5px 0 0;
    padding: 11px;
}

.pageUse .pageSection .flex5 .title .small {
    font-size: 16px;
    display: block;
}

.pageUse .pageSection .flex5 .img {
    max-height: 140px;
    height: 14vw;
}

.pageUse .pageSection .flex1 .img img,
.pageUse .pageSection .flex5 .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pageUse .pageSection .flex5 .cm {
    padding-bottom: 33px;
    margin: 12px 0 15px 0;
    background: url(./img/body-care/icon.png) no-repeat center bottom;
    background-size: 60.8px;
}

.pageUse .pageSection .flex5 .after {
    font-weight: 700;
    color: #775822;
}

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

    .pageUse .pageSection .flex1 .img {
        width: 41.91%;
        max-height: 254px;
        height: 25vw;
    }

}

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

    .pageUse .pageSection .flex5 {
        max-width: 568px;
        margin: 0 auto 40px auto;
    }

    .pageUse .pageSection .flex5 li {
        width: 100%;
    }

    .pageUse .pageSection .flex5 li .text {
        padding: 15px 17px 25px 17px;
    }

    .pageUse .pageSection .flex5 .img {
        max-height: 100%;
        height: 45vw;
        min-height: 170px;
    }

}

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

    .pageUse .pageSection {
        margin-bottom: 56px;
    }

    .pageUse body .h3.mt,
    .pageUse .pageSection .flex1.mb,
    .pageUse .pageSection .flex2 {
        margin-bottom: 32px;
    }

    .pageUse .pageSection .flex3 {
        margin-top: 24px;
        padding: 32px 25px;
    }

    .pageUse .pageSection .flex1 .img,
    .pageUse .pageSection .flex2 .img,
    .pageUse .pageSection .flex1.imgTxt .text {
        width: 100%;
        order: 2;
    }

    .pageUse .pageSection .flex1 .text,
    .pageUse .pageSection .flex2 .text,
    .pageUse .pageSection .flex1.imgTxt .img {
        width: 100%;
        order: 1;
    }

    .pageUse .pageSection .flex1 .img {
        max-height: 100%;
        min-height: 229px;
        height: 63vw;
    }

    .pageUse .pageSection .flex3 li {
        width: 100%;
    }

    .pageUse .pageSection .flex3 .img {
        max-height: 100%;
        min-height: 196px;
        height: 52.26666666666666vw;
    }

    /*flex4*/
    .pageUse .pageSection .flex4 li {
        width: 100%;
    }

    .pageUse .pageSection .flex4 .img {
        max-height: 100%;
        min-height: 225px;
        height: 60vw;
    }

}

/*-----------------------------------------下層*/
/*pageMv*/
.pageMv {
    position: relative;
    padding-bottom: 20px;
    background: url(./img/common/page-fv-bg.webp) no-repeat top center;
    background-size: cover;
}

.locationsPageMv {
    position: relative;
    padding-bottom: 140px;
    background: url(./img/common/page-fv-bg.webp) no-repeat center;
    background-size: cover;
}

.pageMv .title {
    position: absolute;
    top: 205px;
    left: 55px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.5;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    z-index: 2;
}

.pageMv .text {
    position: absolute;
    top: 255px;
    left: 55px;
    z-index: 2;
    mix-blend-mode: difference;
}

.pageMv .text .en {
    font-family: "Inter", sans-serif;
    font-size: min(64px, 4.444444444444445vw);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .08em;
    display: block;
    white-space: nowrap;
    color: #fff;
}

.pageMv .cm {
    position: absolute;
    top: 450px;
    left: 55px;
    width: calc(39.44% - 75px);
    padding-right: 30px;
}

.pageMv .img {
    position: relative;
    width: 60.56%;
    margin-left: auto;
    z-index: 1;
}

.pageMv .img .parallaxUp {
    width: 100%;
    height: 606px;
}

.pageMv .img .simpleParallax {
    width: 100%;
    height: 100%;
}

.pageMv .img .parallaxUpBg {
    position: absolute;
    overflow: hidden;
    top: 20px;
    right: 20px;
    width: 100%;
    height: 606px;
}

.pageMv .img .parallaxUpBg::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: .3;
    filter: blur(5px);
    z-index: -1;
}

.pageMv .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

    .pageMv {
        background-image: url(./img/common/page-fv-bg-sp.webp);
        padding-bottom: 65px;
    }

    .pageMv .title {
        position: relative;
        top: auto;
        left: auto;
        padding: 150px 7px 7px 7px;
        font-size: 18px;
    }

    .pageMv .text {
        position: relative;
        top: auto;
        left: auto;
        padding: 0 7px;
    }

    .pageMv .text .en {
        font-size: 32px;
        letter-spacing: .04em;
    }

    .pageMv .cm {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        padding: 0 14px;
    }

    .pageMv .img {
        width: 100%;
        margin: -30px 0 35px 0;
        padding-left: 7px;
    }

    .pageMv .img .parallaxUp {
        width: 100%;
        height: 66.93333333333334vw;
        min-height: 251px;
    }

    .pageMv .img .parallaxUpBg {
        top: 7px;
        right: 7px;
        width: 100%;
        height: 66.93333333333334vw;
        min-height: 251px;
    }

}

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

    .locationsPageMv {
        background-image: url(./img/common/page-fv-bg-sp.webp);
        padding-bottom: 0;
    }

}

/*pageMvSimple*/
.pageMvSimple {
    text-align: center;
    padding-top: 135px;
}

.pageMvSimple .pageMvTitle {
    margin-bottom: 30px;
}

.pageMvSimple .pageMvTitle .title {
    font-size: 20px;
    font-weight: 700;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 10px;
}

.pageMvSimple .pageMvTitle .en {
    mix-blend-mode: difference;
    margin: 20px 0;
}

.pageMvSimple .pageMvTitle .en .text {
    font-family: "Inter", sans-serif;
    font-size: clamp(32px, 4.444444444444445vw, 64px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .08em;
    display: block;
    color: #fff;
}

.topImg img {
    position: relative;
    z-index: 1;
    margin: 0 auto 30px auto;
}

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

    .pageMvSimple {
        text-align: left;
        padding-top: 120px;
    }

    .pageMvSimple .pageMvTitle {
        margin-bottom: 35px;
    }

    .pageMvSimple .pageMvTitle .title {
        font-size: 18px;
    }

    .pageMvSimple .pageMvTitle .en {
        mix-blend-mode: difference;
        margin: 0 0 20px 0;
    }

    .topImg img {
        margin: 0 auto;
    }

}

/*pageBg*/
.pageBg {
    padding-top: 150px;
    padding-bottom: 200px;
}

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

    .pageBg {
        padding-top: 95px;
        padding-bottom: 130px;
    }

}

/*productsItem*/
.page-id-879 .pageBg .inner {
    counter-reset: member;
}

.productsItem {
    position: relative;
    padding: 45px 35px 75px 35px;
    margin-bottom: 85px;
    background-color: rgba(255,255,255,.6);
    backdrop-filter: blur(5px);
    border-radius: 8px;
}

.page-id-879 .productsItem::before {
    position: absolute;
    top: -33px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    counter-increment: member;
    content: counter(member, decimal-leading-zero);
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 66px;
    letter-spacing: .05em;
    color: #fff;
    z-index: 1;
    width: 66px;
    height: 66px;
    border-radius: 66px;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
    text-align: center;
}

.productsItem:last-child {
    margin-bottom: 0;
}

.productsItem .logo {
    height: 37px;
    width: auto;
    object-fit: cover;
    margin: 0 auto 50px auto;
}

.productsItem .sectionTitle {
    text-align: center;
    margin-bottom: 50px;
}

.productsItem .sectionTitle .titleInner{
    display: inline-block;
    font-size: 25px;
    padding-bottom: 10px;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.productsItemTop {
    margin-top: 150px
}

.productsItemTop .sectionTitle {
    text-align: center;
    margin-bottom: 50px;
}

.productsItem .imgMain {
    max-width: 1020px;
    margin: 0 auto 50px auto;
}

.productsItemTop .imgMain img,
.productsItem .imgMain img {
    width: 100%;
}

.productsItem .productsItemFlex {
    column-gap: 60px;
    row-gap: 25px;
    justify-content: center;
    align-items: center;
}

.productsItem .productsItemFlex.row {
    align-items: flex-start;
}

.productsItem .productsItemFlex .col {
    width: 480px;
}

.productsItem .productsItemFlex .col100 {
    width: 100%;
    max-width: 1020px;
}

.productsItem .productsItemFlex .img {
    width: 480px;
}

.productsItem .productsItemFlex .img img {
    width: 100%;
}

.productsItem .productsItemFlex .text {
    width: 480px;
}

.productsItem .productsItemFlex .text .title {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 20px;
}

.btnArea {
    justify-content: flex-end;
}

.productsItem .productsItemFlex .text .btnArea {
    margin-top: 48px;
    column-gap: 40px;
    row-gap: 30px;
    justify-content: flex-end;
}

.productsItem .productsItemFlex .text .btnArea li {
    width: calc(50% - 20px);
}

.productsItem .productsItemFlex .text .btnArea .cm {
    font-size: 14px;
    text-align: center;
    margin-bottom: 10px;
}

.productsItem .productsItemFlex .text .btnArea .modBtn1 a .btnInner {
    font-size: 15px;
}

.btnArea .modBtn1 {
    min-width: 220px;
}

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

    .productsItem {
        padding: 55px 15px 60px 15px;
        margin-bottom: 80px;
    }

    .productsItem .logo {
        margin: 0 auto 40px auto;
    }

    .productsItem .sectionTitle {
        margin-bottom: 40px;
    }

    .productsItem .sectionTitle .titleInner {
        font-size: 22px;
    }

    .productsItemTop {
        margin-top: 95px
    }
    
    .productsItemTop .sectionTitle {
        margin-bottom: 30px;
    }

    .productsItem .imgMain {
        margin: 0 auto 25px auto;
    }

    .productsItem .productsItemFlex .col,
    .productsItem .productsItemFlex .img {
        width: 100%;
    }

    .productsItem .productsItemFlex .text {
        width: 100%;
    }

    .productsItem .productsItemFlex .txt {
        max-width: 100%;
    }

    .productsItem .productsItemFlex .text .title {
        font-size: 20px;
    }

    .btnArea {
        justify-content: center;
    }

    .productsItem .productsItemFlex .text .btnArea {
        margin-top: 30px;
        justify-content: center;
    }

    .productsItem .productsItemFlex .text .btnArea li {
        width: 100%;
        max-width: 220px;
    }

    .productsItem .productsItemFlex .text .modBtn1 a {
        min-height: 47px;
        height: auto;
    }

    .productsItem .productsItemFlex .text .modBtn1 a .icon {
        right: 10px;
        width: 18px;
        height: 18px;
    }

    .productsItem .productsItemFlex .text .modBtn1 a .icon::before {
        width: 18px;
        height: 18px;
    }

    .productsItem .productsItemFlex .text .modBtn1 a .icon::after {
        width: 20px;
        height: 20px;
    }

}

/*page-template-page-recruit*/
.page-template-page-recruit,
.single-interview {
    color: #505050;
}

.page-template-page-recruit .header,
.page-template-page-recruit .fixedBtn {
    position: absolute;
}

.page-template-page-recruit main.mainPage,
.single-interview main.mainPage {
    background: linear-gradient( 90deg, #fff, #E7F0FF);
}

.page-template-page-recruit .footer,
.single-interview .footer {
    padding-bottom: 0;
}

.page-template-page-recruit .footer .footerBg,
.single-interview .footerBg {
    background: #345882;
    padding: 0 0 60px 0;
}

.page-template-page-recruit .footerMenu,
.single-interview .footerMenu {
    border-top: none;
    border-bottom: none;
}

.page-template-page-recruit .footer .groupList,
.page-template-page-recruit .footer .movie,
.page-template-page-recruit main.mainPage::before,
.single-interview .footer .groupList,
.single-interview .footer .movie,
.single-interview main.mainPage::before {
    display: none;
}

.page-template-page-recruit .footer .copy,
.single-interview .footer .copy {
    z-index: 1;
}

@media screen and (min-width: 1200px){

.page-template-page-recruit .hamburger .line {
    position: absolute;
}

}

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

    .page-template-page-recruit .footer .copy,
    .single-interview .footer .copy {
        bottom: 60px;
    }

}

@media screen and (min-width: 1024px){

    .page-template-page-recruit .footerBottom,
    .single-interview .footerBottom {
        position: absolute;
        top: 550px;
    }

    .page-template-page-recruit .footerMenu,
    .single-interview .footerMenu {
        margin: 0;
    }

    .page-template-page-recruit .footerBottom .bannerList,
    .single-interview .footerBottom .bannerList {
        display: none;
    }

    .page-template-page-recruit .footer .copy,
    .single-interview .footer .copy {
        border-top: none;
        text-align: right;
    }

}

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

    .page-template-page-recruit .footer::before,
    .single-interview .footer::before {
        content: "";
        position: absolute;
        top: 60px;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #DBE0E7;
        z-index: 2;
    }

    .page-template-page-recruit .footer .footerBg,
    .single-interview .footerBg {
        border-radius: 0;
        padding-bottom: 150px;
    }

    .page-template-page-recruit .footerMenu,
    .single-interview .footerMenu {
        padding-top: 150px;
    }

}

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

    .page-template-page-recruit .footer,
    .single-interview .footer {
        margin-top: -60px;
    }

}

/*recruitNav*/
.recruitNav {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    background-color: #fff;
    border-radius: 20px 20px 0 0 ;
    padding: 20px 40px;
    width: calc(100% - 30px);
    max-width: 1200px;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid #9CC5F4;
    z-index: 10;
}

.recruitNav .list1 {
    width: calc(100% - 477px);
}

.recruitNav .list1 li {
    width: calc(100% / 5);
}

.recruitNav li a {
    line-height: 1.3;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: .2s;
}

.recruitNav .list1 li a {
    padding: 12px 20px;
    border-right: 1px solid #9CC5F4;
}

.recruitNav .list2 {
    width: 460px;
    column-gap: 20px;
}

.modbtn2 {
    width: 100%;
    max-width: 220px;
}

.modbtn2 a {
    position: relative;
    min-height: 52px;
    padding: 0 12px 0 40px;
    border-radius: 100px;
    border-right: 1px solid #9CC5F4;
    background: #053A77;
}

.modbtn3 a {
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
}

.modbtn2 a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    margin: auto;
    width: 38px;
    height: 38px;
    border-radius: 100px;
    background-color: #fff;
}

.modbtn2 a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    margin: auto;
    width: 18px;
    height: 18px;
    border-radius: 100px;
    background: url(./img/common/mod-btn-2.svg) no-repeat center;
    background-size: 18px;
    transition: .3s;
}

.modbtn3 a::after {
    background-image: url(./img/common/mod-btn-3.svg);
}

.modbtn2 a:hover::after {
    left: 25px;
}

.modbtn2 a .btnInner {
    font-weight: 700;
    color: #fff;
    letter-spacing: .05em;
    padding-left: 15px;
}

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

    .recruitNav {
        max-width: 693px;
    }

    .recruitNav .list1 {
        width: 100%;
    }

    .recruitNav .list2 {
        display: none;
    }

    .recruitNav .list1 li:last-child a {
        border-right: none;
    }

}

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

    .recruitNav {
        max-width: 345px;
        border-radius: 20px;
        padding: 24px 40px;
        border-bottom: none;
    }

    .recruitNav .list1 {
        row-gap: 20px;
    }

    .recruitNav .list1 li {
        width: calc(100% / 2);
    }

    .recruitNav .list1 li a {
        border-right: none;
        border-left: 1px solid #9CC5F4;
        padding: 0 15px;
        align-items: flex-start;
    }

}

/*pageRecruitMv*/
.pageRecruitMv {
    position: relative;
    width: 100%;
    height: 100vh;
    max-height: 800px;
}

.pageRecruitMv .movie {
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 30px;
}

.pageRecruitMv .movie img,
.pageRecruitMv .movie video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

    .pageRecruitMv {
        height: calc(100vh - 54px);
    }

}

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

    .pageRecruitMv {
        max-height: 542px;
    }

    .pageRecruitMv .movie {
        padding-bottom: 108px;
    }

}

/*recruitTop*/
.recruitTop {
    position: relative;
    padding: 120px 0 140px 0;
}

.recruitTopFlex {
    justify-content: space-between;
    row-gap: 30px;
    margin-bottom: 87px;
}

.recruitTopFlex .recruitTopFlexImg {
    width: 30%;
    text-align: right;
}

.recruitTopFlex .recruitTopFlexImg p {
    margin: 15px 35px 5px 0;
}

.recruitTopFlex .recruitTopFlexImg .mainImg {
    border-radius: 10px;
}

.recruitTopFlex .recruitTopFlexImg .nameImg {
    margin-left: auto;
    max-width: 150px;
}

.recruitTop .cm {
    font-size: 18px;
    width: 65%;
}

.photo .photoSwiper {
  overflow: hidden;
}

.photo .swiper-wrapper {
    align-items: center;
    transition-timing-function: linear !important;
}

.photo .swiper-slide {
    width: auto !important;
    pointer-events: none;
}

.photo.img img {
    object-fit: cover;
    border-radius: 10px;
    aspect-ratio: 1;
    pointer-events: none;
}

.photo .swiper-slide1 img {
    width: 484px;
}

.photo .swiper-slide2 img {
    width: 396px;
}

.photo .swiper-slide3 img {
    width: 318px;
}

@media screen and (min-width: 800px){

    .photoSwiper2 .swiper-slide1 img {
        width: 380px;
    }

    .photoSwiper2 .swiper-slide2 img {
        width: 310px;
    }

    .photoSwiper2 .swiper-slide3 img {
        width: 250px;
    }

}

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

    .recruitTopFlex {
        justify-content: center;
        margin-bottom: 87px;
    }

    .recruitTopFlex .recruitTopFlexImg {
        width: 100%;
        max-width: 250px;
        order: 2;
    }

    .recruitTop .cm {
        width: 100%;
        order: 1;
    }

    .photo .swiper-slide1 img {
        min-width: 162px;
        width: 43.2vw;
    }

    .photo .swiper-slide2 img {
        min-width: 132px;
        width: 35.199999999999996vw;
    }

    .photo .swiper-slide3 img {
        min-width: 106px;
        width: 28.26666666666667vw;
    }

}


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

    .recruitTop {
        padding: 100px 0 127px 0;
    }

}

/*recruitTitle*/
.recruitTitle {
    text-align: center;
    margin-bottom: 80px;
}

.recruitTitle .en {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em;
    display: block;
    color: #317AD0;
    text-transform: capitalize;
}

.recruitTitle .ja {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: clamp(39px, 3.4722222222222223vw, 50px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .08em;
    display: block;
}

.recruitSubTitle {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .02em;
    padding-left: 25px;
    margin-bottom: 40px;
    background: url(./img/common/ashirai.svg) no-repeat top 10px left;
    background-size: 18px;
    display: inline-block;
}

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

    .recruitTitle {
        margin-bottom: 40px;
    }

    .recruitTitle .en {
        font-size: 17px;
    }

    .recruitTitle .ja {
        font-size: 39px;
    }

    .recruitSubTitle {
        font-size: 18px;
        background-size: 16px;
        background-position: top 8px left;
    }

}

/*recruitCompany*/
.recruitCompany {
    position: relative;
    padding: 120px 0;
    background-color: #E8F1FF;
    border-radius: 100px;
    text-align: center;
}

.recruitCompany .recruitCompanySection1 {
    margin-bottom: 84px;
}

.recruitCompanyList {
    column-gap: 40px;
    row-gap: 60px;
    justify-content: center;
}

.recruitCompanyList .box {
    position: relative;
    width: 240px;
    min-height: 200px;
    border-radius: 4px;
    background-color: #fff;
    padding: 35px 20px 40px 20px;
    text-align: center;
    box-shadow: 0px 0px 30px 0px rgba(11, 148, 234, 0.08);
}

.recruitCompanyList .box .title {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 100%;
}

.recruitCompanyList .box .title .titleInner {
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #fff;
    text-align: center;
    padding: 3px 10px 4px 10px;
    border-radius: 50px;
    background-color: #317AD0;
    display: inline-block;
}

.recruitCompanyList .box .text {
    margin-bottom: 10px;
    letter-spacing: .02em;
}

.recruitCompanyList .box .text .num {
    font-family: "Montserrat", sans-serif;
    font-size: 46px;
    font-weight: 700;
    line-height: 1;
    color: #317AD0;
    vertical-align: bottom;
}

.recruitCompanyList .box .text .txt {
    font-size: 18px;
    font-weight: 700;
    vertical-align: bottom;
    line-height: 1.3;
}

.recruitCompanyList .box .text .small {
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}

.recruitCompanyList .box .icon {
    position: relative;
    width: 70px;
    height: 70px;
    object-fit: cover;
    margin: 0 auto;
}

.recruitCompanyList .box .icon::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 28px;
    width: 78px;
    height: 78px;
    border-radius: 100px;
    background: linear-gradient(90deg, #fff, #E7F0FF);
}

.recruitCompanyList .box .icon img {
    position: relative;
    object-fit: cover;
}

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

    .recruitCompany {
        padding: 100px 0;
        border-radius: 60px;
    }

    .recruitCompany .recruitCompanySection1 {
        margin-bottom: 88px;
    }

    .recruitCompanyList {
        row-gap: 40px;
    }

}

/*recruitWork*/
.recruitWork {
    position: relative;
    padding: 110px 0 100px 0;
}

.recruitWorkList {
    column-gap: 50px;
    justify-content: center;
}

.recruitWorkList .box {
    width: calc(100% / 3 - 33.4px);
    text-align: center;
}

.recruitWorkList .box:nth-child(1) {
    margin-top: -40px;
}

.recruitWorkList .box:nth-child(2) {
    margin-top: -80px;
}

.recruitWorkList .box:nth-child(3) {
    margin-top: -120px;
}

.recruitWorkList .box:nth-child(4) {
    margin-top: 40px;
}

.recruitWorkList .box .img {
    position: relative;
    width: 100%;
    max-width: 360px;
    aspect-ratio: 1;
    margin: 0 auto;
}

.recruitWorkList .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 500px;
}

.recruitWorkList .box .img .ab {
    position: absolute;
    top: 0;
    right: 0;
    writing-mode: vertical-rl;
    font-family: "Montserrat", sans-serif;
    font-size: clamp(24px, 1.6666666666666667vw, 24px);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.2;
    color: #98A5B4;
    text-align: left;
    white-space: nowrap;
}

.recruitWorkList .box .title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.3;
    color: #317AD0;
    padding-bottom: 10px;
    background: url(./img/common/ashirai2.svg) no-repeat center bottom;
    background-size: 116px;
    margin: 15px 0 10px 0;
}

.recruitWorkList .box .cm {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.6;
    margin: 0;
}

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

    .recruitWork .recruitTitle {
        margin-bottom: 45px;
    }

    .recruitWorkList .box {
        width: calc(100% / 2 - 25.4px);
    }

    .recruitWorkList .box:nth-child(1) {
        margin-top: 0;
    }

    .recruitWorkList .box:nth-child(2) {
        margin-top: -40px;
    }

    .recruitWorkList .box:nth-child(3) {
        margin-top: 80px;
    }

    .recruitWorkList .box:nth-child(4),
    .recruitWorkList .box:nth-child(5) {
        margin-top: 40px;
    }

}

@media screen and (min-width: 800px){

    .recruitWork .recruitTitle {
        text-align: left;
    }

}

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

    .recruitWorkList .box:nth-child(1) {
        margin-top: 40px;
    }

    .recruitWorkList .box:nth-child(2) {
        margin-top: 0;
    }

}

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

    .recruitWork {
       padding: 100px 0;    
    }

    .recruitWorkList {
        row-gap: 60px;
    }

    .recruitWorkList .box {
        width: 100%;
    }

    .recruitWorkList .box:nth-child(1),
    .recruitWorkList .box:nth-child(2),
    .recruitWorkList .box:nth-child(3),
    .recruitWorkList .box:nth-child(4),
    .recruitWorkList .box:nth-child(5) {
        margin-top: 0;
    }

    .recruitWorkList .box .img {
        max-width: 305px;
    }

}

/*recruitFlow*/
.recruitFlow {
    position: relative;
    padding: 50px 0 100px 0;
}

.recruitFlowList {
    column-gap: 40px;
    row-gap: 50px;
}

.recruitFlowList .box {
    width: calc(50% - 20px);
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0px 0px 30px 0px rgba(11, 148, 234, 0.08);
    padding: 40px;
}

.recruitFlowList .box .title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.3;
    color: #317AD0;
    margin-bottom: 50px;
}

.recruitFlowList .box .item {
    margin-bottom: 50px;
}

.recruitFlowList .box .item:last-child {
    margin-bottom: 0;
}

.recruitFlowList .box .item img {
    width: 70px;
    height: 70px;
    object-fit: cover;
}

.recruitFlowList .box .item .text {
    position: relative;
    width: calc(100% - 70px);
    padding-left: 30px;
}

.recruitFlowList .box .item .text .blue.bold {
    display: block;
    margin-bottom: 0;
}

.recruitFlowList .box .item .text .bold {
    display: inline-block;
    margin: 0 20px 0 0;
}

.recruitFlowList .box .item .text .cm {
    display: inline-block;
    margin: 0;
}

/*imgIcon*/
.recruitFlowList .box .item .text.textIcon .bold {
    vertical-align: top;
    width: calc(100% - 144px);
}

.recruitFlowList .box .item .text .imgIcon {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    display: inline-block;
}

.recruitFlowList .box .item .text .imgIcon::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 28px;
    width: 120px;
    height: 120px;
    border-radius: 120px;
    background: linear-gradient(90deg, #fff, #E7F0FF);
}

.recruitFlowList .box .item .text .imgIcon img {
    position: relative;
    width: 120px;
    height: 120px;
    border-radius: 120px;
    object-fit: cover;
}

@media screen and (min-width: 1024px) {

    .recruitFlowList .box .title {
        text-align: center;
    }

}

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

    .recruitFlowList .box {
        width: 100%;
    }

    .recruitFlowList .box .item .text .bold {
        display: block;
        margin: 0;
    }

    .recruitFlowList .box .item .text.textIcon .bold {
        display: inline-block;
        margin: 0 20px 0 0;
    }
 
}

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

    .recruitFlowList .box .item .text.textIcon .bold {
        display: block;
        margin: 0;
        width: 100%;
    }

    .recruitFlowList .box .item .text .imgIcon {
        position: relative;
        margin-top: 20px;
        margin-left: auto;
        display: block;
    }
 
}

/*recruitMember*/
.recruitMember {
    position: relative;
    padding: 110px 0;
    margin-left: 30px;
    border-radius: 100px 0 0 100px;
    background-color: #E8F1FF;
}

.recruitMemberList {
    position: relative;
}

.recruitMemberListInner {
    max-width: 1308px;
}

.recruitMember .recruitTitle {
    margin-bottom: 115px;
    text-align: left;
}

.recruitMemberList .swiper-wrapper {
    counter-reset: member;
}

.recruitMemberList .box {
    position: relative;
    padding-bottom: 23px;
}

.recruitMemberList .box::before {
    position: absolute;
    top: 15px;
    left: 15px;
    counter-increment: member;
    content: counter(member, decimal-leading-zero);
    font-family: "Montserrat", sans-serif;
    font-size: 48px;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1;
    color: #98A5B4;
    z-index: 1;
}

.recruitMemberList .box .img {
    max-height: 440px;
    min-height: 267px;
    height: 71.2vw;
    overflow: hidden;
    border-radius: 20px 20px 20px 100px;
}

.recruitMemberList .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.recruitMemberList .box:hover .img img {
    transform: scale(1.05);
}

.recruitMemberList .box .text {
    position: absolute;
    bottom: 0;
    left: 0;
    padding-top: 13px;
    width: 100%;
}

.recruitMemberList .box .text .title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .10em;
    padding: 20px 10px 10px 10px;
    border-radius: 4px;
    background-color: #fff;
    margin: 0;
    transition: .2s;
    display: inline-block;
    min-width: 105.28px;
    text-align: center;
}

.recruitMemberList .box .text .category {
    position: absolute;
    top: 0;
    left: 10px;
    width: calc(100% - 20px);
}

.recruitMemberList .box .text .category .categoryInner {
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #fff;
    text-align: center;
    padding: 3px 10px 4px 10px;
    border-radius: 50px;
    background-color: #317AD0;
    display: inline-block;
}

.recruitMemberList .swiper-button {
    top: -75px;
    height: 44px;
}

.recruitMemberList .swiper-button .swiper-button-prev,
.recruitMemberList .swiper-button .swiper-button-next {
    width: 44px;
    height: 44px;
    background-size: 44px;
    bottom: 0;
}

.recruitMemberList .swiper-button .swiper-button-prev {
    background-image: url(./img/common/prev2.svg);
}

.recruitMemberList .swiper-button .swiper-button-next {
    background-image: url(./img/common/next2.svg);
    right: auto;
    left: 90px;
}

@media screen and (min-width: 1024px) {

    .recruitMember .recruitTitle {
        text-align: center;
        margin-bottom: 80px;
    }

    .recruitMemberList .swiper-button {
        display: none;
    }

    .recruitMemberList .swiper-wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 36px;
        row-gap: 37px;
    }

    .recruitMemberList .box {
        width: calc(100% / 4 - 27px);
    }

    .recruitMemberList .box:nth-child(even) {
        margin-top: 40px;
    }

    .recruitMemberList .box:nth-child(even) .img {
        border-radius: 100px 20px 20px 20px;
    }
    
    .recruitMemberList .swiper-wrapper .box:nth-child(even)::before {
        top: 27px;
        left: 25px;
    }

    .recruitMemberList .box .img {
        height: 27.77777777777778vw;
    }

}

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

    .recruitMemberList .box {
        padding-bottom: 20px;
    }

    .recruitMemberList .box .img {
        height: 43.2vw;
    }

}

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

    .recruitMemberList .box .img {
        height: 74.2vw;
    }

}

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

    .recruitMember {
        padding: 100px 0 120px 0;
        margin-left: 15px;
    }

    .recruitMemberList .box::before {
        top: 10px;
        left: 10px;
        font-size: 34px;
    }

    .recruitMemberList .box .text {
        left: auto;
        right: 0;
    }

    .recruitMemberList .box .text .category .categoryInner {
        font-size: 14px;
    }

    .recruitMemberList .box .text .title {
        padding: 16px 10px 7px 10px;
    }

}

/*recruitEnvironment*/
.recruitEnvironment {
    position: relative;
    padding: 100px 0 44px 0;
}

.recruitEnvironmentInner {
    max-width: 1080px;
}

.recruitEnvironmentList .box {
    position: relative;
    margin-bottom: 56px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    column-gap: 40px;
    row-gap: 20px;
    text-align: left;
    width: 100%;
}

.recruitEnvironmentList .box .img {
    width: 100%;
    order: 1;
    max-height: 100%;
    height: 59.46666666666667vw;
    min-height: 223px;
}

.recruitEnvironmentList .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recruitEnvironmentList .box .recruitTitle {
    text-align: left;
    margin: 0;
}

.recruitEnvironmentList .box .recruitTitle .en {
    font-size: 14px;
    margin-bottom: 3px;
}

.recruitEnvironmentList .box .recruitTitle .ja {
    font-size: 22px;
}

.recruitEnvironmentList .box .recruitTitle,
.recruitEnvironmentList .box p {
    width: 100%;
}

.recruitEnvironmentList .box p {
    margin: 0;
}

/* スマホの並び順 */
.recruitEnvironmentList .box .recruitTitle { order: 1; }
.recruitEnvironmentList .box .img          { order: 2; }
.recruitEnvironmentList .box p             { order: 3; }

/* PC */
@media screen and (min-width: 800px) {

    .recruitEnvironment {
        text-align: center;
        padding: 110px 0 130px 0;
    }

  .recruitEnvironmentList .box {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    column-gap: 40px;
    row-gap: 0;
    min-height: 240px;
    margin-bottom: 60px;
  }

  /* 画像を左側に */
  .recruitEnvironmentList .box .img {
    order: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 34.35%;
    height: 16.666666666666664vw;
    max-height: 240px;
  }

  /* タイトルとpを右側に */
  .recruitEnvironmentList .box .recruitTitle,
  .recruitEnvironmentList .box p {
    order: 2;
    width: 82.5%;
    padding-left: calc(34.35% + 40px);
  }

  .recruitEnvironmentList .box .recruitTitle {
        margin: 30px 0 20px 0;
    }

    .recruitEnvironmentList .box:nth-child(even) {
        align-items: flex-end;
    }

    .recruitEnvironmentList .box:nth-child(even) .img {
        left: 17.59%;
    }
    
    .recruitEnvironment .recruitSubTitle {
        font-size: 24px;
        background-position: top 13px left;
    }

}

/*recruitMember*/
.recruitJobs {
    position: relative;
    padding: 110px 0;
    margin: 0 30px;
    border-radius: 100px 0 0 100px;
    background-color: #E8F1FF;
    text-align: center;
}

.recruitJobsInner {
    max-width: 1080px;
}

.recruitJobs .recruitTitle {
    margin-bottom: 40px;
}

.recruitJobs .recruitSubTitle {
    font-size: 24px;
    line-height: 1.8;
    margin-bottom: 80px;
    padding-left: 0;
    background: none;
}

.recruitJobsList {
    column-gap: 40px;
    row-gap: 50px;
}

.recruitJobsList .box {
    width: calc(50% - 20px);
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0px 0px 30px 0px rgba(11, 148, 234, 0.08);
    padding: 40px;
    text-align: left;
}

.recruitJobsList .box dl {
    margin-bottom: 24px;
}

.recruitJobsList .box dl:last-child {
    margin-bottom: 0;
}

.recruitJobsList .box dl .icon {
    position: relative;
}

.recruitJobsList .box dl .icon::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #98A5B4;
}

.recruitJobsList .box dl .icon .txt {
    position: relative;
    display: inline-block;
    padding: 1px 10px 1px 48px;
    font-size: 20px;
    font-weight: 700;
    color: #053A77;
    background-repeat: no-repeat;
    background-size: 38px;
    background-position: top left;
    margin-bottom: 10px;
    background-color: #fff;
}

.recruitJobsList .box dl .icon1-1 .txt {
    background-image: url(./img/recruit/icon1-1.svg);
}

.recruitJobsList .box dl .icon1-2 .txt {
    background-image: url(./img/recruit/icon1-2.svg);
}

.recruitJobsList .box dl .icon1-3 .txt {
    background-image: url(./img/recruit/icon1-3.svg);
}

.recruitJobsList .box dl .icon2-1 .txt {
    background-image: url(./img/recruit/icon2-1.svg);
}

.recruitJobsList .box dl .icon2-2 .txt {
    background-image: url(./img/recruit/icon2-2.svg);
}

.recruitJobsList .box dl .icon2-3 .txt {
    background-image: url(./img/recruit/icon2-3.svg);
}

.recruitJobsList .box dl .icon3-1 .txt {
    background-image: url(./img/recruit/icon3-1.svg);
}

.recruitJobsList .box dl .icon3-2 .txt {
    background-image: url(./img/recruit/icon3-2.svg);
}

.recruitJobsList .box dl .icon3-3 .txt {
    background-image: url(./img/recruit/icon3-3.svg);
}

.recruitJobsList .box dl .icon3-4 .txt {
    background-image: url(./img/recruit/icon3-4.svg);
}

.recruitJobsList .box dl .icon4-1 .txt {
    background-image: url(./img/recruit/icon4-1.svg);
}

ul.stepList {
    position: relative;
    margin-top: 50px;
    border-radius: 4px;
    background-color: #F0F6FE;
    padding: 20px;
}

.stepList::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 27px;
    height: calc(100% - 60px);
    width: 1px;
    background: linear-gradient(#9CC5F4, #3C92F6);
}

.stepList li {
    position: relative;
    margin-bottom: 15px;
    padding-left: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.stepList li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin: auto;
    height: 15px;
    width: 15px;
    background-color: #fff;
    border-radius: 100px;
}

.stepList li:nth-child(1):before {
    border: 1px solid #9CC5F4;
}

.stepList li:nth-child(2):before {
    border: 1px solid #71AAED;
}

.stepList li:nth-child(3):before {
    border: 1px solid #5094E3;
}

.stepList li:nth-child(4):before {
    border: 1px solid #317AD0;
}

.stepList li::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 3.5px;
    transform: translateY(-50%);
    margin: auto;
    height: 8px;
    width: 8px;
    border-radius: 100px;
}

.stepList li:nth-child(1)::after {
    background-color: #9CC5F4;
}

.stepList li:nth-child(2)::after {
    background-color: #71AAED;
}

.stepList li:nth-child(3)::after {
    background-color: #5094E3;
}

.stepList li:nth-child(4)::after {
    background-color: #317AD0;
}

.stepList li:last-child {
    margin-bottom: 0;
}

.stepList li .num {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .02em;
    width: 30px;
    text-align: center;
    margin: 0;
    line-height: 1;
}

.stepList li:nth-child(1) .num {
    color: #9CC5F4;
}

.stepList li:nth-child(2) .num {
    color: #71AAED;
}

.stepList li:nth-child(3) .num {
    color: #5094E3;
}

.stepList li:nth-child(4) .num {
    color: #317AD0;
}

.stepList li .title {
    width: calc(100% - 30px);
    margin: -2px 0 0 0;
    padding-left: 3px;
}

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

    .recruitJobsList {
        row-gap: 45px;
    }

    .recruitJobsList .box {
        width: 100%;
    }

}

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

    .recruitJobs {
        padding: 88px 0;
        margin: 0;
        border-radius: 60px;
    }

    .recruitJobs .recruitTitle {
        margin-bottom: 24px;
    }

    .recruitJobs .recruitSubTitle {
        font-size: 18px;
        margin-bottom: 50px;
    }

    .recruitJobsList .box {
        padding: 40px 20px;
    }

    ul.stepList {
        margin-top: 30px;
    }

    .stepList li {
        margin-bottom: 10px;
    }

}

/*recruitTextSlide*/
.recruitTextSlide {
    position: relative;
    padding: 50px 0;
}

.recruitTextSlide .wrapper .text {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    letter-spacing: .04em;
    color: #E7E7E7;
    text-transform:uppercase;
}

/*recruitEntry*/
.recruitEntry {
    position: relative;
    padding: 0 60px 320px 60px;
    text-align: center;
}

.recruitEntryInner {
    position: relative;
    padding: 110px 0 320px 0;
    border-radius: 20px 20px 0 0;
    background: url(./img/recruit/recruit-entry-bg.webp) no-repeat center;
    background-size: cover;
}

.recruitEntryInner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: 20px 20px 0 0;
    background: linear-gradient(#0563D2, #0392D6);
    opacity: .9;
}

.recruitEntry .recruitTitle,
.recruitEntry .recruitSubTitle,
.recruitEntryList .box p,
.recruitEntryList {
    width: calc(100% - 32px);
    margin-right: auto;
    margin-left: auto;
    max-width: 1080px;
}

.recruitEntry .recruitTitle {
    position: relative;
    color: #fff;
}

.recruitEntry .recruitTitle .ja {
    font-weight: 900;
    letter-spacing: .06em;
}

.recruitEntry .recruitSubTitle {
    font-size: 24px;
    color: #fff;
    padding-left: 0;
    background: none;
    margin-bottom: 25px;
}

.recruitEntryList {
    position: relative;
    background-color: #fff;
    padding: 60px 80px;
    border-radius: 16px;
    column-gap: 60px;
    row-gap: 20px;
    justify-content: center;
}

.recruitEntryList3 {
    max-width: 1570px;
}

.recruitEntryList .box {
    width: calc(100% / 3 - 40px);
    position: relative;
    padding: 20px 25px;
    border-radius: 16px;
    color: #fff;
    text-align: left;
    transition: .2s;
}

.recruitEntryList .box:hover {
    opacity: .7;
}

.recruitEntryList .box1 {
    background-color: #053A77;
}

.recruitEntryList .box2 {
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
}

.recruitEntryList .box::before {
    content: "";
    position: absolute;
    bottom: 20px;
    right: 20px;
    height: 48px;
    width: 48px;
    border-radius: 100px;
    background-color: #fff;
}

.recruitEntryList .box::after {
    content: "";
    position: absolute;
    bottom: 34px;
    right: 34px;
    width: 20px;
    height: 20px;
    background: url(./img/common/mod-btn-2.svg) no-repeat center;
    background-size: 20px;
    transition: .3s;
}

.recruitEntryList .box2::after {
    background-image: url(./img/common/mod-btn-3.svg);
}

.recruitEntryList .box .recruitTitle {
    text-align: left;
    margin: 0 0 7px 0;
}

.recruitEntryList .box .recruitTitle .en {
    font-size: 16px;
    color: #fff;
}

.recruitEntryList .box .recruitTitle .ja {
    font-size: min(34px,2.361111111111111vw);
    font-weight: 700;
}

.recruitEntryList .box p {
    font-size: 14px;
    margin: 0;
}

.recruitEntry .img {
    position: absolute;
    bottom: 120px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 100%;
}

.recruitEntry .img img {
    height: 100%;
    object-fit: cover;
    margin: 0 auto;
}

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

    .recruitEntryList {
        column-gap: 20px;
    }

    .recruitEntryList .box {
        width: calc(100% / 3 - 15px);
    }
    
}

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

    .recruitEntryList .box {
        width: 100%;
    }

}

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

    .recruitEntry {
        padding: 0 0 max(172px, 45.86666666666667vw) 0;
    }

    .recruitEntryInner {
        padding: 60px 0 max(172px, 45.86666666666667vw) 0;
    }

    .recruitEntry .recruitTitle {
        margin-bottom: 40px;
    }

    .recruitEntry .img {
        bottom: max(100px, 26.666666666666668vw);
    }

}

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

    .recruitEntry .recruitTitle,
    .recruitEntry .recruitSubTitle,
    .recruitEntryList .box p,
    .recruitEntryList {
        width: calc(100% - 30px);
    }

    .recruitEntry .recruitTitle {
        font-size: 32px;
        line-height: 1.2;
    }

    .recruitEntry .recruitTitle .ja {
        font-size: 32px;
        letter-spacing: .04em;

    }

    .recruitEntry .recruitSubTitle {
        font-size: 17px;
        font-weight: 500;
        line-height: 1.4;
    }

    .recruitEntryList {
        padding: 48px 10px;
    }

    .recruitEntryList .box {
        padding: 16px 25px;
    }

    .recruitEntryList .box::before {
        bottom: 16px;
        height: 38px;
        width: 38px;
    }

    .recruitEntryList .box::after {
        bottom: 27px;
        right: 31px;
        width: 15.83px;
        height: 15.83px;
        background-size: 15.83px;
    }
    
    .recruitEntryList .box .recruitTitle .en {
        font-size: 12px;
    }

    .recruitEntryList .box .recruitTitle .ja {
        font-size: 26px;
    }

    .recruitEntryList .box p {
        font-size: 13px;
    }

}

/*recruitFixedBtn*/
.recruitFixedBtn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 54px;
    padding: 5px;
    background-color: #fff;
    z-index: 10;
}

.recruitFixedBtn ul {
    column-gap: 5px;
    justify-content: center;
}

.recruitFixedBtn ul .modbtn2 {
    width: calc(50% - 2.5px);
    margin: 0;
}

.recruitFixedBtn ul .modbtn2 a {
    min-height: auto;
    height: 44px;
    border-radius: 8px;
}

.recruitFixedBtn ul .modbtn2 a::before {
    left: 7px;
    width: 30px;
    height: 30px;
}

.recruitFixedBtn ul .modbtn2 a::after {
    width: 14px;
    height: 14px;
    background-size: 14px;
    left: 15px;
}

@media screen and (min-width: 1200px) {

    .recruitFixedBtn {
        display: none;
    }

}

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

    .recruitFixedBtn ul .modbtn2 a .btnInner {
        font-size: 13px;
    }

}

/*single-interview*/
.recruitPageMv {
    position: relative;
    padding: 148px 0 80px 0;
    max-width: 1380px;
}

.recruitPageMv .recruitTitle {
    position: absolute;
    top: 148px;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 100%;
    text-align: left;
    z-index: 1;
}

.recruitPageMv .recruitTitle .en {
    margin-bottom: 0;
}

.recruitPageMv .flex {
    position: relative;
    height: 506px;
}

.recruitPageMv .flex .left {
    position: relative;
    padding-top: 162px;
    z-index: 1;
    padding-right: min(650px,48vw);
}

.recruitPageMv .flex .right {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 506px;
}

.recruitPageMv .flex .right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}

.recruitPageMv .type {
    display: inline-block;
    font-weight: 700;
    letter-spacing: .1em;
    padding: 0 10px;
    border-radius: 3px;
    background-color: #4A90E2;
    color: #fff;
    border-radius: 100px;
    text-align: center;
    margin-bottom: 5px;
}

.single-recruit .recruitPageMv .type {
    font-size: 24px;
}

.recruitPageMv .message {
    display: block;
    font-weight: 700;
    font-size: min(32px,2.2222222222222223vw);
    letter-spacing: .1em;
    line-height: 1.5;
    margin-bottom: 10px;
}

.single-recruit .recruitPageMv .message {
    margin-bottom: 30px;
}

.recruitPageMv .year {
    display: block;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: .1em;
    line-height: 1.5;
}

.recruitPageMv .name {
    display: block;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .1em;
    line-height: 1.5;
    margin-right: 10px;
    display: inline-block;
}

.recruitPageMv .kana {
    font-family: "Montserrat", sans-serif;
    display: inline-block;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .1em;
    line-height: 1.5;
    margin-right: 10px;
}

@media screen and (max-width: 1023px){
    
    .recruitPageMv {
        padding: 140px 0 125px 0;
    }

    .recruitPageMv .recruitTitle {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        margin: 0 auto 43px auto;
        max-width: 100%;
        width: 100%;
    }

    .recruitPageMv .flex {
        height: auto;
    }

    .recruitPageMv .flex .left {
        max-width: 100%;
        width: 100%;
        padding-right: 0;
        padding-top: 0;
        order: 2;
    }

    .recruitPageMv .flex .right {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: 64vw;
        min-height: 240px;
        order: 1;
        margin: 0 auto 38px auto;
    }

    .recruitPageMv .message {
        font-size: 24px;
    }

    .single-recruit .recruitPageMv .type {
        font-size: 18px;
    }

    .single-recruit .recruitPageMv .name {
        font-size: 16px;
    }

}

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

    .recruitPageMv .recruitTitle,
    .recruitPageMv .flex .right {
        width: 100%;
    }

}

/*talk*/
#talk {
    position: relative;
    padding-bottom: 175px;
}

#talk .inner {
    position: relative;
    z-index: 1;
}

#talk dl {
    margin-bottom: 80px;
}

#talk dl:last-child {
    margin-bottom: 0;
}

#talk dl dt {
    position: relative;
    font-size: clamp(16px, 1.3888888888888888vw, 20px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .1em;
    padding: 20px 30px;
    text-align: center;
    border-radius: 4px;
    overflow: hidden;
    background-color: #fff;
    border: 3px solid #9CC5F4;
    margin-bottom: 30px;
}

#talk dl dd .flex {
    align-items: flex-start;
    column-gap: 40px;
}

#talk dl:last-child dd .flex:nth-child(even) {
    margin-top: 80px;
}

#talk dl dd .icon {
    width: 120px;
    height: 120px;
    border-radius: 120px;
    object-fit: cover;
}

#talk dl.even dd .flex .icon,
#talk dl:nth-child(even) dd .flex .icon,
#talk dl:last-child dd .flex:nth-child(even) .icon {
    order: 2;
}

#talk dl dd .text {
    width: calc(100% - 160px);
    position: relative;
    padding: 30px;
    border-radius: 4px;
    background-color: #F7FAFF;
}

#talk dl dd .text .name {
    display: block;
    text-align: right;
}

#talk dl.even dd .flex .text,
#talk dl:nth-child(even) dd .flex .text,
#talk dl:last-child dd .flex:nth-child(even) .text {
    order: 1;
}

#talk dl dd .text:before {
    content: "";
    position: absolute;
    top: 30px;
    left: -24px;
    border: 7px solid transparent;
    border-right: 18px solid #F7FAFF;
}

#talk dl.even dd .flex .text:before,
#talk dl:nth-child(even) dd .flex .text:before,
#talk dl:last-child dd .flex:nth-child(even) .text:before {
    left: auto;
    right: -17px;
    border: 7px solid transparent;
    border-left: 18px solid #F7FAFF;
    border-right: none;
}

#talk dl dd .imgBox {
    column-gap: 40px;
    row-gap: 10px;
    justify-content: center;
    margin-top: 80px;
}

#talk dl dd .imgBox img {
    height: 13.88888888888889vw;
    width: calc(100% / 3 - 27px);
    border-radius: 20px;
    object-fit: cover;
}

#talk dl dd .imgBox img:nth-child(2) {
    margin: 60px 0 0 0;
}

@media screen and (max-width: 1023px){
    
    #talk .inner {
        max-width: 100%;
    }
    
    #talk dl {
        margin-bottom: 45px;
    }
    
    #talk dl dt {
        font-size: 16px;
        padding: 15px;
        text-align: left;
        border-radius: 5px;
        margin-bottom: 25px;
    }
    
    #talk dl dd .flex {
        column-gap: 15px;
    }
    
    #talk dl:last-child dd .flex:nth-child(even) {
        margin-top: 45px;
    }
    
    #talk dl dd .icon {
        width: 48px;
        height: 48px;
    }
    
    #talk dl dd .text {
        width: calc(100% - 63px);
        padding: 10px;
        border-radius: 10px;
    }

    #talk dl dd .text:before {
        top: 10px;
        left: -17px;
        border: 5px solid transparent;
        border-right: 12px solid #F7FAFF;
    }
    
    #talk dl.even dd .flex .text:before,
    #talk dl:nth-child(even) dd .flex .text:before,
    #talk dl:last-child dd .flex:nth-child(even) .text:before {
        right: -12px;
        border: 5px solid transparent;
        border-left: 12px solid #F7FAFF;
    }
    
    #talk dl dd .imgBox {
        margin-top: 45px;
    }
    
    #talk dl dd .imgBox img {
        min-height: 200px;
        height: 53.333333333333336vw;
        width: calc(100% - 65px);
        border-radius: 5px;
        margin: 0 auto 0 0;
    }
    
    #talk dl dd .imgBox img:nth-child(2) {
        margin: 0 0 0 auto;
    }

}

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

    #talk {
        padding-bottom: 145px;
    }

}

/*anchorList*/
.anchorList {
    background-color: #fff;
    padding: 32px 20px;
    border-radius: 8px;
    max-width: 800px;
    row-gap: 40px;
    justify-content: center;
    column-gap: 40px;
}

.anchorList1 {
    margin-top: 50px;
}

.anchorList .anchorListUl {
    max-width: 280px;
    width: 100%;
    text-align: center;
}

.anchorList1 .anchorListUl {
    max-width: 100%;
    row-gap: 20px;
}

.anchorList1 .anchorListUl li {
    width: calc(100% / 3 - 10px);
    margin-bottom: 0;
}

.anchorList .anchorListUl .title {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 20px;
}

.modBtn4 {
    width: 100%;
    max-width: 220px;
    margin: 0 auto 20px auto;
}

.anchorList .anchorListUl .modBtn4:last-child {
    margin: 0 auto;
}

.modBtn4 a {
    position: relative;
    height: 100%;
    min-height: 42px;
    border-radius: 100px;
    background: url(./img/common/arrow.svg) no-repeat center right 10px;
    background-size: 30px;
    background-color: #F0F4F8;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.modBtn4 a .btnInner {
    font-weight: 700;
    color: #333333;
    letter-spacing: .05em;
    padding-left: 12px;
}

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

    .anchorList {
        position: relative;
        padding: min(150px,35vw) 20px 80px 20px;
        border-radius: 0;
        max-width: 100%;
        width: 100%;
        margin-top: -100px;
    }

    .anchorList::before {
        content: "";
        position: absolute;
        top: -100px;
        left: 0;
        width: 100%;
        height: 100px;
        background: linear-gradient( rgba(255,255,255,0), rgba(255,255,255,1));
    }

    .anchorList .anchorListUl .title {
        font-size: 22px;
    }

}

/*locationsSection*/
.locationsSection {
    position: relative;
    padding-bottom: 60px;
    max-width: 1380px;
    margin: 0 auto 40px auto;
}

.locationsSection#ja1,
#company1 {
    padding-top: 140px;
}

.locationsSection::before {
    content: "";
    position: absolute;
    top: 29.5px;
    left: 0;
    width: 100%;
    height: calc(100% - 29.5px);
    background-color: rgba(255,255,255,.6);
    backdrop-filter: blur(20px);
    border-radius: 8px;
}

.locationsSection#ja1::before {
    top: 169.5px;
    height: calc(100% - 169.5px);
}

.locationsSection:last-child::before {
    height: calc(100% - 169.5px);
}

.companySection::before,
.locationsSection1::before {
    display: none;
}

.locationsSection:last-child {
    margin-bottom: 0;
    padding-bottom: 200px;
}

.companySection {
    background-color: rgba(255,255,255,.6);
    backdrop-filter: blur(20px);
    border-radius: 8px;
    padding: 60px 0;
}

.companySection:last-child {
    padding-bottom: 60px;
}

.locationsSectionInner {
    position: relative;
    max-width: 1080px;
}

.locationsSectionTitle {
    text-align: center;
    margin-bottom: 40px;
    font-size: clamp(30px, 2.7777777777777777vw, 40px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .04em;
    display: block;
    padding-top: 55px;
}

.locationsSection .locationsTitle {
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    border-radius: 100px;
    padding: 10px 25px;
    text-align: center;
    min-width: 300px;
    display: inline-block;
    margin-bottom: 40px;
}

.locationsSection .locationsTitleInner {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.5;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.locationsSection .locationsSectionTop {
    justify-content: space-between;
    margin-bottom: 75px;
}

.locationsSectionTop2 {
    row-gap: 20px;
}

.locationsSection .locationsSectionTop:last-child {
    margin-bottom: 0;
}

.locationsSection .locationsSectionTop .img {
    width: 44.444444444%;
    max-height: 300px;
    height: 23.833333vw;
}

.locationsSection .locationsSectionTop .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.locationsSection .locationsSectionTop .text {
    width: 50%;
}

.text .address {
    margin: 24px 0;
}

/*locationsAc*/
.locationsAc {
    margin-bottom: 20px;
}

.locationsToggleBtn {
    width: 100%;
    margin-bottom: 20px;
    position: relative;
    min-height: 40px;
    padding: 0 50px;
    border-radius: 100px;
    background-repeat: no-repeat;
    background-position: center left 20px;
    background-size: 24px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    color: #0963CB;
    margin: 0;
    max-width: 440px;
}

.locationsToggleBtn.mapBtn {
    background-image: url(./img/common/icon-map.svg);
}

.locationsToggleBtn.accessBtn {
    background-image: url(./img/common/icon-access.svg);
}

.locationsToggleBtn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    margin: auto;
    width: 24px;
    height: 24px;
    border-radius: 50px;
    background: url(./img/common/plus.svg) no-repeat center;
    background-size: 24px;
}

.locationsAc .child {
    display: none;
    padding: 20px 36px;
    border-radius: 4px;
    background-color: #F0F4F8;
    margin-top: 10px;
    max-width: 440px;
}

.locationsAc .child iframe {
    width: 100%;
    min-height: 205px;
    height: 14.23611111111111vw;
}

.locationsAc .child .box {
    margin-bottom: 18px;
    padding: 18px 0;
}

.locationsAc .child .box:last-child {
    margin-bottom: 0;
}

.locationsAc .box .accessTitle {
    background-repeat: no-repeat;
    background-position: top 2px left;
    background-size: 24px;
    padding-left: 30px;
    font-weight: 500;
    margin-bottom: 10px;
}

.locationsAc .box .accessTitle.walk {
    background-image: url(./img/common/icon-walk.svg);
}

.locationsAc .box .accessTitle.bus {
    background-image: url(./img/common/icon-bus.svg);
}

.locationsAc .box .list li,
.locationsAc .box .cm {
    font-weight: 500;
}

.locationsAc .box .cm {
    margin-left: 6px;
}

.locationsSection .modBtn1 {
    margin: 55px auto 0 auto;
    max-width: 440px;
}

.locationsSection .modBtn1 a {
    height: auto;
}

/*locationsList*/
.locationsList {
    margin-bottom: 50px;
}

.locationsList1 {
    column-gap: 40px;
    row-gap: 48px;
}

.locationsList2 {
    justify-content: space-between;
    row-gap: 28px;
}

.locationsList1 .box {
    margin-bottom: 48px;
}

.locationsList .box:last-child {
    margin-bottom: 0;
}

.locationsList1 .locationsListBox {
    width: calc(50% - 20px);
}

.locationsList2 .box {
    width: 46.2962962%;
    padding-top: 20px;
}

.locationsList1 .locationsListBox .box {
    border-bottom: 1px solid #DBE0E7;
}

.locationsList1 .box .h4,
.locationsSectionTop1 .h4 {
    margin-top: 15px;
}

.locationsList2 .box .address {
    margin: 20px 0;
}

ul.telFax {
    column-gap: 40px;
    row-gap: 10px;
    padding: 20px 0;
}

ul.telFax {
    border-top: 1px solid #DBE0E7;
    border-bottom: 1px solid #DBE0E7;
    margin-bottom: 20px;
}

.locationsList1 ul.telFax {
    border-top: none;
    border-bottom: none;
    margin-bottom: 0;
}

ul.telFax li {
    display: flex;
}

ul.telFax li .name {
    font-weight: 700;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: 60px;
}

ul.telFax li .num {
    width: calc(100% - 60px);
}

.locationsList .box .boxTop {
    justify-content: space-between;
}

.locationsList .box .boxTop .text {
    width: calc(100% - 120px);
}

.locationsList .box .boxTop .img img {
    width: 100px;
    border-radius: 100px;
    aspect-ratio: 1;
    object-fit: cover;
}

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

    .locationsSection .locationsSectionTop .img {
        width: 100%;
        max-height: 100%;
        min-height: 203px;
        height: 54.13333333333333vw;
        order: 1;
    }

    .locationsSection .locationsSectionTop .text {
        width: 100%;
        order: 2;
    }

    .locationsList1 .locationsListBox,
    .locationsList2 .box {
        width: 100%;
    }

    .locationsSection .locationsTitle {
        display: block;
    }

}

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

    .locationsSection#ja1::before {
        top: 129.5px;
    }

    .locationsSection .modBtn1 a .icon,
    .locationsSection .modBtn1 a .icon::before,
    .locationsSection .modBtn1 a .icon::after {
        width: 24px;
        height: 24px;
    }

}

/*companySection*/
body .h3.centerTitle {
    text-align: center;
    margin-bottom: 30px;
}

body .h3 .small {
    font-size: 16px;
}

body .h3 .small.right {
    text-align: right;
    display: block;
}

.companySection .bg {
    background-image: linear-gradient(45deg, #00408b, #0470d3);
    border-radius: 8px;
    padding: 60px 30px;
    color: #fff;
    margin-top: 50px;
}

.companySection .bg .h3 {
    font-size: 26px;
    color: #fff;
    background: none;
    -webkit-background-clip: initial;
    -webkit-text-fill-color: initial;
}

.companySection .bg .centerText {
    text-align: center;
    margin-bottom: 50px;
}

.companySection .bg .box {
    background-color: rgba(255, 255, 255, .1);
    border-radius: 8px;
    padding: 40px 30px;
    margin-top: 30px;
}

.companySection .bg .box .h4 {
    margin-bottom: 20px;
}

.companySection .bg .box .h4::after {
    background: #fff;
}

.companySection .bg .box p {
    margin: 0;
}

.companyGroup {
    column-gap: 40px;
    row-gap: 40px;
    max-width: 1380px;
}

.companyGroup1 {
    column-gap: 20px;
    row-gap: 20px;
    margin-bottom: 0;
    justify-content: center;
}

.companyGroup .box {
    width: calc(50% - 20px);
    padding: 30px;
    margin-bottom: 0;
}

.companyGroup1 .box {
    width: 329px;
    text-align: center;
    color: #1a4d8f;
    font-weight: 700;
    margin: 0;
}

.companyGroup .box .modBtn1 {
    margin-top: 0;
}

.companyGroup .box ul.list {
    margin: 20px 0;
}

.companyGroup .box ul.list li {
    padding: 10px 0;
    border-bottom: 1px solid #DBE0E7;
}

.companyGroup .box ul.list li::before {
    display: none;
}

.timeline {
    position: relative;
    padding-left: 50px;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 35.1%;
    top: 15px;
    bottom: 0;
    width: 2px;
    height: calc(100% - 15px);
    width: 2px;
    background: #1a4d8f;
}

.timeline-decade {
    position: relative;
    padding-left: 35%;
    margin-bottom: 50px;
}

.timeline-decade:last-child {
    margin-bottom: 0;
}

.timeline-decade .img {
    position: absolute;
    top: 0;
    left: 0;
    width: 27%;
}

.timeline-decade .img img {
    width: auto;
    max-height: 185px;
    height: 12.847222222222221vw;
    object-fit: cover;
    margin: 0 auto 20px;
}

.decade-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #1a4d8f;
    margin-bottom: 20px;
    position: relative;
}

.decade-title::before {
    content: '';
    position: absolute;
    left: -39px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: #1a4d8f;
    border-radius: 50%;
    border: 3px solid white;
    box-shadow: 0 0 0 3px #1a4d8f;
}

.timeline-item {
    margin-bottom: 20px;
    padding: 15px 20px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.timeline-year {
    font-weight: 700;
    color: #1a4d8f;
    margin-bottom: 5px;
}

.iso-detail {
    margin-top: 10px;
    margin-bottom: 0;
}

.companyAnchor {
    padding-top: 100px;
}

.companyAnchor2 {
    padding-top: 50px;
}

.companyAnchor .locationsSectionTitle {
    padding-top: 0;
}

.greetingBox {
    position: relative;
    margin-bottom: 30px;
    justify-content: space-between;
    align-items: flex-end;
    row-gap: 20px;
    background-color: #F0F0F3;
    padding: 50px 30px 0 30px;
    border-radius: 8px;
}

.greetingBox .img {
    width: 300px;
    overflow: hidden;
}

.greetingBox .text.h3.centerTitle {
    position: relative;
    width: calc(100% - 320px);
    margin-bottom: 0;
    z-index: 1;
    font-size: clamp(16px, 1.6666666666666667vw, 24px);
    font-weight: 600;
    background: none;
    -webkit-background-clip: inherit;
    -webkit-text-fill-color: inherit;
    padding-bottom: 50px;
}

.greetingBox .text.h3.centerTitle strong {
    font-weight: 700;
    font-size: clamp(25px, 2.7777777777777777vw, 40px);
    margin-bottom: 20px;
    display: block;
    background: linear-gradient(45deg, #00408B, #0470D3);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.greetingBox .text.h3.centerTitle .small.right {
    padding: 0 0 20px 0;
}

ul.sdgsList {
    column-gap: 10px;
    margin: 10px 0;
    justify-content: space-between;
}

.sdgsList li {
    width: calc(100% / 4 - 51.7px);
}

ul.sdgsList .iso-detail {
    width: calc(100% / 4 - -124.3px);
    margin-top: 0;
}

.companyGroup1 img {
    margin: 0 auto;
    max-width: 150px;
}

.sdgsImg {
    max-width: 670px;
    margin-top: 30px;
    padding-bottom: 200px;
}

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

    .sdgsList li {
        width: calc(100% / 3 - 6.7px);
    }

    ul.sdgsList .iso-detail {
        width: 100%;
    }

}

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

    .anchorList1 .anchorListUl li {
        width: calc(100% / 2 - 10px);
    }

    .companyGroup1 .box {
        width: calc(100% / 2 - 10px);
    }

    .greetingBox {
        padding: 30px 15px 140px 15px;
    }

    .greetingBox .img {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 250px;
    }

    .greetingBox .text.h3.centerTitle {
        width: 100%;
        padding-bottom: 0;
    }
    
    .greetingBox .text.h3.centerTitle .small.right {
        padding: 50px 140px 0 0;
    }

    .timeline::before {
        left: 18px;
    }

    .timeline-decade {
        padding-left: 0;
    }

    .timeline-decade .img {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
    }

    .timeline-decade .img img {
        height: 100%;
        margin: 0 0 20px;
    }

}

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

    .anchorList1 {
        margin-top: 50px;
        padding: 10px 15px 50px 15px;
    }

    .anchorList1::before {
        top: -50px;
        height: 50px;
    }
    
    .locationsSection#ja1, #company1 {
        padding-top: 100px;
    }

    .companySection {
        padding: 30px 0;
    }

    body .h3.centerTitle,
    .companySection .bg .centerText {
        text-align: left;
    }

    .companySection .bg .h3,
    body .h3.centerTitle.center {
        text-align: center;
    }

    .companySection .bg {
        padding: 40px 15px;
    }

    .companySection .bg .box {
        padding: 20px 15px;
    }

    .companyGroup .box {
        width: 100%;
        padding: 20px 15px;
    }

    .companyGroup1 {
        row-gap: 10px;
    }

    .sdgsImg {
        padding-bottom: 150px;
    }

}

/*form*/
.contactForm {
    margin: 0 auto;
}

.contactForm .wpcf7-list-item {
    margin: 0;
}

.contactForm .wpcf7-spinner {
    display: none;
}

.contactForm .modBtn1 {
    margin-top: 30px;
    max-width: 260px;
}

.contactForm .modBtn1 input[type="submit"] {
    position: relative;
    min-height: 48px;
    width: 100%;
    transition: .2s;
    border-radius: 100px;
    background: linear-gradient(45deg, #0963CB 0%, #339DFF 93%);
    padding: 10px 10px 10px 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    display: block;
    letter-spacing: .05em;
    border: none;
    cursor: pointer;
}

.contactForm .modBtn1 input[type="submit"]:hover {
    opacity: .7;
}

.contactForm hr {
    margin: 3rem 0;
}

.contactForm em {
    font-style: normal;
    opacity: .5;
    font-size: 14px;
}

.contactForm .bold {
    font-weight: 700;
}

.contactForm .required,
.contactForm .wpcf7-not-valid-tip {
    color: rgb(177, 15, 65);
}

.contactForm input[type="text"],
.contactForm input[type="tel"],
.contactForm input[type="email"],
.contactForm input[type="date"],
.contactForm select,
.contactForm textarea {
    width: 100%;
    margin: 5px 0;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    min-height: 28px;
    padding: 6px;
    cursor: pointer;
}

.contactForm textarea {
    max-height: 150px;
}

.contactForm label {
    display: block;
}

.contactForm .radio {
    margin-top: 30px;
    margin-bottom: 48px;
}

.contactForm .radio p {
    margin-bottom: 0;
}

.contactForm .radio .wpcf7-form-control-wrap {
    display: block;
    margin-top: 20px;
}

.contactForm .radio label {
    margin: 10px 0;
}

.contactForm .radio .first {
    display: block;
}

.contactForm input[type="radio"] {
    position: absolute;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    margin: -1px;
    padding: 0;
}

.contactForm .radio .wpcf7-list-item-label {
    display: inline-block;
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}

.contactForm .radio .wpcf7-list-item-label::before {
    content: "";
    display: block;
    position: absolute;
    left: 5px;
    top: 2px;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    background: #fff;
}

.contactForm .radio .wpcf7-list-item-label::after {
    content: "";
    display: block;
    position: absolute;
    left: 9px;
    top: 6px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #27284b;
    opacity: 0;
    transition: opacity 0.2s;
}

.contactForm .check {
    margin-bottom: 50px;
}

.contactForm .wpcf7-list-item input[type="radio"]:checked ~ .wpcf7-list-item-label::after {
    opacity: 1;
}

.contactForm .check input[type="checkbox"] {
    position: absolute;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    margin: -1px;
    padding: 0;
}

.contactForm .check .wpcf7-list-item-label {
    cursor: pointer;
    padding-left: 30px;
    position: relative;
    display: inline-block;
}

.contactForm .checkList .wpcf7-form-control-wrap {
    display: block;
    margin-top: 10px;
}

.contactForm .checkList .wpcf7-list-item-label {
    margin: 3px 0;
}

.contactForm .check .wpcf7-list-item-label::before,
.contactForm .check .wpcf7-list-item-label::after {
    content: "";
    display: block;
    position: absolute;
}

.contactForm .check .wpcf7-list-item-label::before {
    background-color: #fff;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-radius: 3px;
    width: 20px;
    height: 20px;
    top: 5px;
    left: 5px;
}

.contactForm .check .wpcf7-list-item-label::after {
    border-bottom: 2px solid #1a4d8f;
    border-left: 2px solid #1a4d8f;
    opacity: 0;
    height: 7px;
    width: 12px;
    transform: rotate(-45deg);
    top: 10px;
    left: 9px;
}

.contactForm .check .wpcf7-list-item input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after {
    opacity: 1;
}

.contactForm input[type="submit"] {
    display: flex;
    box-sizing: border-box;
    padding: 0 12px;
    border-radius: 50px;
    margin: 0 auto;
    align-items: center;
    letter-spacing: .01071em;
    line-height: 1.43;
    font-size: 1.1rem;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    padding: 5px 2rem;
    text-decoration: none;
    font-weight: 500;
    cursor: pointer;
    color: #fff;
    background-color: #27284b;
}

.contactForm .screen-reader-response {
    display: none;
}
