@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Roboto:wght@400;500;700&family=Inter:wght@200;400;500;600;700&family=Oswald:wght@500&family=Noto+Sans+JP:wght@700&display=swap');

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
}
header,
footer,
article,
section,
aside,
hgroup,
nav,
menu,
figure,
figcaption,
time {
    display: block;
}
li {
    list-style: none;
}
ol li {
    list-style: decimal;
}
img {
    max-width: 100%;
    height: auto;
    font-size: 0;
    line-height: 0;
    vertical-align: top;
    border: 0;
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
caption,
th {
    text-align: left;
}
hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;

    border: 0;
    border-top: 1px solid #ccc;
}
input,
select {
    vertical-align: middle;
}
input,
textarea {
    margin: 0;
    padding: 0;
}
/*----------------------------------------
	Common
----------------------------------------*/
html {
    width: 100%;
    font-size: 62.5%;
}
@media only screen and (min-width: 1920px) {
    html {
        font-size: 62.5%;
    }
}
@media screen and (min-width:768px) and ( max-width:1919px) {
    html {
        font-size: calc(34% + 0.25vw)
    }
}
@media only screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}
@media only screen and (max-width: 375px) {
    html {
        font-size: 58%;
    }
}
body {
    font-family: 'Zen Kaku Gothic New', "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Droid Sans", sans-serif;
    font-size: 1.8rem;
    font-weight: 500;
    position:relative;
    z-index: 0;
    line-height: 1.75;
    letter-spacing: .04em;
    color: #3B4043;
    -webkit-font-variant-ligatures: none;
    font-variant-ligatures: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow-x: hidden;
    height: 100%;
    position: relative;
}

a {
    color: #4D4D4D;
    outline: none;
    text-decoration: underline;
}
a:hover {
    color: #4D4D4D;
    text-decoration: none;
}
a[href^="tel:"] {
	cursor: default;
}
.show-mobile-inline,
.show-mobile {
    display: none;
}
.hide-mobile {
    display: block;
}
.hide-mobile-inline {
	display: inline-block;
}
.br-mobile {
    display: none !important;
}
.inner {
    width: 93.75%;
    max-width: 1540px;
    margin-left: auto;
    margin-right: auto;
}
.full-width {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
.f-bold {
    font-weight: bold;
}
.mt-1 {
    margin-top: 1rem;
}
.mb-1 {
    margin-bottom: 1rem;
}
.mb-2 {
    margin-bottom: 2rem;
}
.mb-4 {
    margin-bottom: 4rem;
}
.t-blue {
    color: #0181C0;
}
.t-red {
    color: #E34371;
}
.t-center {
    text-align: center;
}
@media only screen and (min-width: 769px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}
@media only screen and (max-width: 767px) {
    .inner {
        width: 88%;
    }
    body {
        font-size: 1.5rem;
    }
	.show-mobile {
		display: block;
	}
	.show-mobile-inline {
		display: inline-block;
	}
	.hide-mobile {
		display: none;
	}
	.hide-mobile-inline {
		display: none;
	}
    .br-mobile {
        display: block !important;
    }
    main {
        /* overflow-x: hidden; */
    }
}

/*----------------------------------------
	Animation
----------------------------------------*/
.animate.delay1 {
    transition-delay: .1s;
}
.animate.delay2 {
    transition-delay: .2s;
}
.animate.delay3 {
    transition-delay: .3s;
}
.animate.delay4 {
    transition-delay: .4s;
}
.animate.delay5 {
    transition-delay: .5s;
}
.animate.delay6 {
    transition-delay: .6s;
}
.animate.delay7 {
    transition-delay: .7s;
}
.animate.delay8 {
    transition-delay: .8s;
}
.animate.delay9 {
    transition-delay: .9s;
}
.animate.delay10 {
    transition-delay: 1s;
}
.fadeIn {
    transition: opacity 1s .1s;
    opacity: 0;
}
.fadeIn.inview {
    opacity: 1;
}
.fadeUpIn {
    transition: transform 1s cubic-bezier(0.33, 1, 0.68, 1) .1s, opacity 1s .1s;
    transform: translateY(30px);
    opacity: 0;
}
.fadeUpIn.inview{
    transform: translateY(0);
    opacity: 1;
}
.maskIn {
    transition-duration: .8s;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
.maskIn.inview{
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
.blurIn {
    animation-name: blurInAnime;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
}
@keyframes blurInAnime {
    0% {
        filter:blur(15px);
        transform:scale(1.02);
        opacity:0
    }
    100% {
        filter:blur(0);
        transform:scale(1);
        opacity:1
    }
}

/*----------------------------------------
	Components
----------------------------------------*/

/* 入力フォーム */
.c-input {
    width: 100%;
    padding: 1.6rem;
    transition: all .3s ease;
    font-size: 1.5rem;
    border: 1px solid #CCC;
    border-radius: 4px;
    outline: none;
    background-color: #ebebeb;
    appearance: none;
}
.c-input-date {
    width: 200px;
    padding: 1.6rem;
    transition: all .3s ease;
    font-size: 1.5rem;
    border: 1px solid #CCC;
    border-radius: 4px;
    outline: none;
    background-color: #ebebeb;
    appearance: none;
}
.c-select-time {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    text-indent: 4px;
    border-radius: 4px;
    background: #EEE no-repeat;
    vertical-align: middle;
    border: 1px solid #CCC;
    font-size: 15px;
    width: 100px;
    padding: 1.6rem;
    margin-left: 1rem;
}
.c-textarea {
    font-size: 1.5rem;
    box-sizing: border-box;
    width: 100%;
    height: 360px;
    padding: 1.6rem;
    transition: all .3s ease;
    border: 1px solid #CCC;
    border-radius: 4px;
    outline: none;
    background-color: #ebebeb;
    appearance: none;
}
.c-select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    text-indent: 4px;
    border-radius: 4px;
    background: #EEE no-repeat;
    vertical-align: middle;
    border: 1px solid #CCC;
    font-size: 15px;
    width: 300px;
    padding: 1.6rem;
}
/* ボタン */
.c-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
    background-color:rgba(255, 255, 255, 0);
    width: fit-content;
    min-width: 29rem;
    padding: 2rem 4rem 2.1rem 4rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: all 1s cubic-bezier(.175, .885, .32, 1.275);
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-weight: bold;
    letter-spacing: .18em;
    border-radius: 0.4rem;
    overflow: hidden;
}
.c-button span {
    z-index: 3;
}
.c-button::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #E60012;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1) skew(-90deg);
    transform-origin: left top;
}
.c-button:hover::after {
    transform-origin: left top;
    transform: scale(1.4, 1) skew(-45deg);
}
.c-button:hover {
    opacity: .75;
    color: #fff;
    text-decoration: none;
    opacity: 1;
}
.c-required {
    font-size: 1.4rem;
    color: #E74400;
}
.c-input-unit {
    margin: 0 2rem 0 .4rem;
}
/* パンクズ */
.c-bread-crumb {
    font-size: 1.2rem;
    color: #989898;
}
.c-bread-crumb ul {
    display: flex;
    justify-content: end;
    padding: 2rem 0;
    line-height: 1;
    overflow-x: auto;
    white-space: nowrap;
}
.c-bread-crumb ul li {
    position: relative;
    flex: 0 0 auto;
    list-style: none;
}
.c-bread-crumb ul li:not(:first-child):before {
    position: absolute;
    top: 50%;
    display: block;
    content: '／';
    transform: translate(-50%, -50%);
}
.c-bread-crumb ul li a {
    color: #0181C0;
    padding-right: 1.4rem;
    text-decoration: none;
}
.c-bread-crumb ul li:not(:first-child) a {
    padding-left: 1.4rem;
}
.c-bread-crumb ul li span {
    color: #929292;
    padding-left: 1.4rem;
}


@media only screen and (max-width: 992px) {
    .c-input-unit {
        margin: 0 1rem 0 0.2rem;
    }
    .c-button {
        font-size: 1.6rem;
    }
    .c-bread-crumb ul {
        justify-content: start;
    }
    .c-bread-crumb ul li {
        font-size: 1rem;
    }
}

/*----------------------------------------
	Layout
----------------------------------------*/
.l-main {
    position: relative;
}
.l-header {
    position: fixed;
    width: 100vw;
    height: 10rem;
    top: 0;
    z-index: 10;
    transition: all .4s ease;
}
.when_scroll:not(.menu-open) .l-header {
    transform: translateY(-120%);
}
.l-footer {
    width: 100vw;
}

@media only screen and (max-width: 1100px) {
    .l-header {
        height: 72px;
    }
}

/*----------------------------------------
	Loading
----------------------------------------*/
.p-loading {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100000;
    background: #fff;
}

/*----------------------------------------
	Fixed Navi
----------------------------------------*/
.p-fix-navi {
    position: fixed;
    right: 0;
    top: 14rem;
    z-index: 10;
    transform: translateX(9rem);
    transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1),transform 1000ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.is_loaded .p-fix-navi {
    transform: translateX(0);
}
.p-fix-navi nav {
    display: flex;
    flex-direction: column;
}
.p-fix-navi nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-family: 'Roboto', 'Zen Kaku Gothic New', "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Droid Sans", sans-serif;
    font-size: 1.4rem;
    font-weight: bold;
    transition: .3s;
    position: relative;
    overflow: hidden;
}
.p-fix-navi nav a::after {
    content: '';
    display: block;
    width: 150%;
    height: 150%;
    position: absolute;
    transform: rotate(45deg) translate(0%, -20%);
    transform-origin: bottom left;
    background-color: rgba(0,0,0,.2);
    transition: .3s;
}
.p-fix-navi nav a:hover::after {
    transform: rotate(50deg) translate(0, -8%);
}
.p-fix-navi nav a.red {
    background-color: #E60012;
}
.p-fix-navi nav a.gray {
    background-color: #666666;
}
.p-fix-navi nav a.blue {
    background-color: #004BB1;
}
.p-fix-navi nav a span,
.p-fix-navi nav a img {
    z-index: 1;
    display: block;
}
.p-fix-navi nav a img {
    width: 4rem;
    height: auto;
    margin-bottom: 0.4rem
}
.p-fix-navi nav a .name {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.p-fix-navi nav a .name span {
    line-height: 1.3;
}
.p-fix-navi nav a .name .jp {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
    .p-fix-navi {
        top: initial;
        bottom: 0;
        z-index: 10;
        width: 100vw;
        transform: translateY(9rem);
    }
    .is_loaded .p-fix-navi {
        transform: translateY(0);
    }
    .p-fix-navi nav {
        flex-direction: row;
    }
    .p-fix-navi nav a {
        flex-direction: row;
        height: 6.4rem;
    }
    .p-fix-navi nav a::after {
        transform: rotate(-25deg) translate(0, 100%);
    }
    .p-fix-navi nav a:hover::after {
        transform: rotate(0deg) translate(0, 120%);
    }
    .p-fix-navi nav a img {
        width: 2.8rem;
        margin-right: 0.4rem;
        margin-bottom: 0;
    }
    .p-fix-navi nav a .name {
        align-items: start;
    }
    .p-fix-navi nav a .name span {
        font-size: 1.2rem;
    }
    .p-fix-navi nav a {
        width: 25%;
    }
    .p-fix-navi nav a img {
        width: 3.5rem;
        margin-right: 0.6rem;
        margin-bottom: 0;
    }
    .p-fix-navi nav a .en {
        display: none;
    }
    .p-fix-navi nav a {
        flex-direction: column;
    }
}

/*----------------------------------------
	Header
----------------------------------------*/
.p-header {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 3.145%;
    background: rgba(255,255,255, 1);
    transform: translateY(-9rem);
    opacity: 0;
    transition: opacity 1000ms cubic-bezier(0.19, 1, 0.22, 1),transform 1000ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.is_loaded .p-header {
    opacity: 1;
    transform: translateY(0);
}
/* ロゴ */
.p-header-logo {
    width: fit-content;
    z-index: 1001;
}
.p-header-logo a {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: .3s;
    text-decoration: none;
    font-size: 1.4rem;
}
.p-header-logo a:hover {
    opacity: .6;
}
.p-header-logo a img {
    width: 16rem;
}
.p-header-logo a span {
    margin-left: 2.4rem;
    font-family: 'Roboto', sans-serif;
}
.p-gnav {
    font-size: 1.8rem;
    height: 100%;
    display: flex;
    align-items: center;
}
.p-gnav a {
    text-decoration: none;
}
.p-gnav span.en {
    font-family: 'Roboto', sans-serif;;
    letter-spacing: .06em;
    font-weight: 500;
    line-height: 1;
}
.p-gnav span.jp {
    display: none;
}
.p-gnav > ul > li:hover > div,
.p-gnav .current a,
.p-gnav a:hover {
    color: #E60012;
}
.p-gnav > ul > li.intern:hover > div,
.p-gnav .current.intern a,
.p-gnav .intern a:hover {
    color: #004BB1;
}
.p-gnav > ul {
    height: 100%;
    display: flex;
    align-items: center;
}
.p-gnav > ul > li {
    position: relative;
    height: 100%;
}
.p-gnav > ul > li:not(:last-of-type) {
    margin-right: 4rem;
}
.p-gnav > ul > li > div,
.p-gnav > ul > li > a {
    height: 100%;
    display: flex;
    align-items: center;
    letter-spacing: .06em;
    cursor: pointer;
}
.p-gnav__child {
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease,visibility .3s ease;
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 10rem;
    z-index: 1;
    min-width: max-content;
}
.p-gnav > ul > li:hover .p-gnav__child {
    opacity: 1;
    visibility: visible;
    transition: opacity .3s ease,visibility .3s ease;
    pointer-events: all;
}
.p-gnav__child li {
    padding-top: 2px;
    opacity: 0;
    transition-duration: .8s;
}
.p-gnav > ul > li:hover .p-gnav__child li {
    opacity: 1;
}
.p-gnav > ul > li:hover .p-gnav__child li:nth-child(2) {
    transition-delay: .2s;
}
.p-gnav__child li a {
    display: block;
    position: relative;
    padding: 0.6rem 3rem 0.6rem 4rem;
    background-image: url(../img/common/bg_gnav_child.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    font-size: 1.6rem;
}
.p-gnav__child li a::after,
.p-gnav__child li a::before {
    content: '';
    display: block;
    width: 1.2rem;
    height: 1px;
    background-color: #8D8D8D;
    position: absolute;
    top: calc( 50% - 1px );
    left: 1.4rem;
}
.p-gnav__child li a::before {
    background-color: #E60012;
    transform: rotate(90deg);
}
/* メニューボタン */
.p-menu-open-btn {
    position: absolute;
    top: .7rem;
    right: .7rem;
    z-index: 1001;
    width: 58px;
    height: 58px;
    cursor: pointer;
    transition: .3s;
    background-color: #3C3C3C;
    overflow: hidden;
    display: none;
}
.p-menu-open-btn::after {
    content: '';
    display: block;
    width: 116px;
    height: 1160px;
    transform: rotate(45deg) translate(70px, 0);
    transform-origin: bottom left;
    transition: .3s;
    background-color: #E60012;
    position: absolute;
    right: 0;
    bottom: 0;
}
.menu-open .p-menu-open-btn::after {
    transform: rotate(0deg) translate(0, 0);
}
.p-menu-open-btn span {
    display: block;
    width: 22px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    z-index: 1;
    left: calc(50% - 11px);
    transition: all .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.p-menu-open-btn span.l1 {
    top: 19px;
    animation: MenuTopCloseAnime cubic-bezier(0.33, 1, 0.68, 1) .4s forwards;
}
.p-menu-open-btn span.l2 {
    top: 27px;
}
.p-menu-open-btn span.l3 {
    top: 35px;
    animation: MenuBottomCloseAnime cubic-bezier(0.33, 1, 0.68, 1) .4s forwards;
}
.menu-open .p-menu-open-btn span.l1 {
    animation: MenuTopOpenAnime cubic-bezier(0.33, 1, 0.68, 1) .4s forwards;
}
.menu-open .p-menu-open-btn span.l3 {
    animation: MenuBottomOpenAnime cubic-bezier(0.33, 1, 0.68, 1) .4s forwards;
}
@keyframes MenuTopOpenAnime {
	0% {
        top: 19px;
		transform: rotate(0);
	}
	50% {
		top: calc(50% - 1px);
		transform: rotate(0deg);
	}
	100% {
        top: 27px;
		transform: rotate(45deg);
	}
}
@keyframes MenuTopCloseAnime {
	0% {
        top: 27px;
		transform: rotate(45deg);
	}
	50% {
		top: calc(50% - 1px);
		transform: rotate(0);
	}
	100% {
        top: 19px;
		transform: rotate(0);
	}
}
@keyframes MenuBottomOpenAnime {
	0% {
        top: 35px;
		transform: rotate(0);
	}
	50% {
		top: calc(50% - 1px);
		transform: rotate(0deg);
	}
	100% {
        top: 27px;
		transform: rotate(-45deg);
	}
}
@keyframes MenuBottomCloseAnime {
	0% {
        top: 27px;
		transform: rotate(45deg);
	}
	50% {
		top: calc(50% - 1px);
		transform: rotate(0);
	}
	100% {
        top: 35px;
		transform: rotate(0);
	}
}
.menu-open .p-menu-open-btn span.l2 {
    display: none;
}
@media only screen and (max-width: 1100px) {
    .p-header {
        position: relative;
        padding: 0 0 0 1.6rem;
    }
    .p-header-logo a span {
        font-size: 1.1rem;
    }
    .p-header-logo a img {
        width: 11rem;
    }
    .p-gnav {
        position: fixed;
        top: 0;
        right: -10vw;
        z-index: 1000;
        width: 100vw;
        height: 100vh;
        padding: 10rem 0 6.4rem 0;
        transition-property: right, opacity;
        transition-duration: .3s,.4s;
        background-color: #fff;
        opacity: 0.5;
        visibility: hidden;
    }
    .menu-open .p-gnav {
        right: 0;
        opacity: 1;
        visibility: visible;
    }
    .p-gnav span.jp {
        display: block;
        font-size: 1.5rem;
        font-weight: 500;
        color: #606060;
        margin-top: 0.8rem
    }
    .p-gnav > ul {
        width: 100%;
        padding-left: 10%;
        padding-right: 10%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 4rem;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch
    }
    .p-gnav > ul > li:not(:last-of-type) {
        margin-right: initial;
    }
    .p-gnav > ul > li {
        width: 100%;
        height: initial;
        opacity: 0;
        transition-property: opacity, transform;
        transition-duration: .4s;
        transform: translateX(30px);
        border-bottom: 1px solid #98A6B5;
    }
    .p-gnav > ul > li.visible {
        opacity: 1;
        transform: translateX(0);
    }
    .p-gnav > ul > li > div,
    .p-gnav > ul > li > a {
        height: initial;
        padding: 2rem 0;
        font-size: 3.2rem;
        color: #E60012;
        flex-direction: column;
        align-items: inherit;
        position: relative;
    }
    .p-gnav > ul > li.intern:hover > div,
    .p-gnav .intern a,
    .p-gnav .intern a:hover {
        color: #004BB1;
    }
    .p-gnav > ul > li:hover > div {
        position: relative;
    }
    .p-gnav > ul > li > div::after {
        content: '';
        display: block;
        width: 3rem;
        height: 3rem;
        background: url(../img/common/gnav_child_allow.svg) no-repeat center;
        background-size: contain;
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%);
        transition: .2s;
    }
    .p-gnav > ul > li.is-child-open > div::after {
        transform: translateY(-50%) rotate(180deg);
    }
    .p-gnav__child {
        position: relative;
        left: initial;
        top: initial;
        opacity: 1;
        visibility: visible;
        display: none;
        margin-bottom: 2rem;
    }
    .p-gnav > ul > li .p-gnav__child li {
        opacity: 1;
    }
    .p-gnav__child li a {
        font-size: 1.8rem;
        font-weight: 500;
        padding: 0.6rem 2rem 0.6rem 2rem;
    }
    .p-gnav__child li a::before {
        display: none;
    }
    .p-gnav__child li a::after,
    .p-gnav__child li a::before {
        width: .8rem;
        background-color: #606060;
        left: 0;
    }
    .p-menu-open-btn {
        display: block;
    }
}
@media only screen and (max-width: 768px) {
    .p-gnav > ul > li > div,
    .p-gnav > ul > li > a {
        font-size: 2rem;
    }
    .p-gnav__child li a {
        font-size: 1.5rem;
    }
    .p-gnav span.jp {
        font-size: 1.2rem;
    }
}
/*----------------------------------------
	Footer
----------------------------------------*/
.p-footer {

}
/* フッターエントリー */
.p-footer-entry {
    width: 100vw;
    height: 40rem;
    background-image: url(../img/common/bg_footer_entry.jpg);
    background-repeat: none;
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    position: relative;
}
.p-footer-entry::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.p-footer-entry .c-button {
    z-index: 1;
    border: 1px solid #fff;
    margin-bottom: .6rem;
}
.p-footer-entry .c-button:hover {
    border-color: #E60012;
}
.p-footer-entry .c-button span {
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .1em;
}
.p-footer-entry > span {
    position: relative;
    z-index: 1;
    font-size: 1.4rem;
    font-weight: 600;
}
/* フッターナビ */
.p-footer__navi {
    padding: 6.4rem 0;
}
.p-footer__navi .inner {
    display: flex;
    justify-content: space-between;
    padding: 0 3.125%;
}
.p-footer__navi .logo {
    width: 20rem;
}
.p-footer__navi .logo a {
    display: block;
}
.p-footer__navi .logo a img {
    width: 100%;
}
.p-footer__navi nav {
    display: flex;
}
.p-footer__navi nav a {
    text-decoration: none;
    line-height: 1.5;
    transition: .3s;
}
.p-footer__navi nav a:hover {
    color: #E60012;
}
.p-footer__navi nav > ul:not(:last-of-type) {
    margin-right: 5.6rem;
}
.p-footer__navi nav > ul > li {
    font-weight: 600;
}
.p-footer__navi nav > ul > li:not(:last-of-type) {
    margin-bottom: 2.8rem;
}
.p-footer__navi nav > ul > li .title {
    font-family: 'Roboto', sans-serif;;
}
.p-footer__navi nav .is-child {
    font-weight: 400;
}
.p-footer__navi nav .is-child li {
    display: flex;
    align-items: center;
    margin-top: .6rem;
    position: relative;
    letter-spacing: .04em;
    font-size: 1.4rem;
}
.p-footer__navi nav .is-child li::before {
    content: '';
    display: block;
    width: 0.4rem;
    height: 1px;
    border-bottom: 1px solid #000;
    margin-right: .6rem;
}
.p-footer__navi nav > ul.navi-member .is-child {
    display: flex;
    flex-wrap: wrap;
}
.p-footer__navi nav > ul.navi-member .is-child ul {
    width: fit-content; 
}
.p-footer__navi nav > ul.navi-member .is-child ul:first-of-type {
    margin-right: 2rem;  
}
/* フッターバナー */
.p-footer__banenr {
    background: url(../img/common/bg_footer_banner.jpg) repeat center;
    background-size: auto 90px;
    padding: 3.2rem 0;
}
.p-footer__banenr nav {
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-footer__banenr a {
    min-width: 18rem;
    min-height: 5rem;
    overflow: hidden;
    display: flex;
    background-color: #fff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: 500;
    margin: 0 1rem;
    padding: 0 2rem;
}
.p-footer__banenr a.corp-link {
    background-color: #E60012;
    color: #fff;
}
.p-footer__banenr a.corp-link span {
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-footer__banenr a.corp-link span::after {
    content: '';
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    background: url(../img/common/icon_link_allow_w.svg) no-repeat center;
    margin-left: .4rem;
}
.p-footer__banenr a img {
    width: 16rem;
}
.p-footer__banenr a.mynavi.v2025 {
    border: 2px solid #E60012;
}
.p-footer__banenr a.mynavi.v2026 {
    border: 2px solid #004BB1;
}
.p-footer__banenr a.recnavi {

}

/* コピーライト */
.p-footer__copyright {
    font-family: 'Roboto', sans-serif;
    background-color: #4C4C4C;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 400;
    padding: 0.5rem 0;
}
/* GO TOP */
.p-gotop {
    position: absolute;
    right: 3.125%;
    bottom: 6rem;
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .3s;
}
.p-gotop:hover {
    opacity: .7;
}
.p-gotop img {
    width: 1.8rem;
    height: auto;
}
@media only screen and (max-width: 767px) {
    .p-footer__navi {
        display: none;
    }
    .p-footer-entry {
        background-image: url(../img/common/bg_footer_entry_sp.jpg);
    }
    .p-footer__banenr {
        position: relative;
        padding: 9.2rem 3.125% 3.2rem 3.125%;
    }
    .p-footer__banenr nav {
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .p-footer__banenr a {
        width: 48%;
        min-width: initial;
        margin: 0 0 1.6rem 0;
        font-size: 1.3rem;
        padding: 0;
    }
    .p-footer__banenr a img {
        width: 14rem;
    }
    .p-footer__banenr a.corp-link {
        position: absolute;
        top: 0;
        left: 0;
        width: 100vw;
        border-radius: 0;
        padding: 1.6rem 0;
        height: auto;
    }
    .p-footer__banenr a.corp-link span {
        font-size: 1.8rem;
    }
    .p-footer-entry .c-button span {
        font-size: 2.4rem;
    }
    .p-footer__copyright {
        padding: 2rem 0 8.8rem 0;
    }
    .p-gotop {
        bottom: 8rem;
    }
}

/*----------------------------------------
	共通パーツ
----------------------------------------*/
.p-link-line {
    position: relative;
    padding: 0 0 1px;
    overflow: hidden;
    display: inline-block;
}
.p-link-line::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-top: 1px solid #E60012;
    transform: translate(-101%, 0);
    animation: linkLineMouseOutAnime .45s forwards;
}
.p-link-line:hover {
    opacity: 1;
}
.p-link-line:hover::after {
    animation: linkLineMouseOverAnime .45s forwards;
}
@keyframes linkLineMouseOutAnime {
    0% {
    transform-origin: left center;
    transform: translate(0, 0);
    }

    100% {
    transform-origin: left center;
    transform: translate(101%, 0);
    }
}
@keyframes linkLineMouseOverAnime {
    0% {
    transform-origin: right center;
    transform: translate(-101%, 0);
    }

    100% {
    transform-origin: right center;
    transform: translate(0, 0);
    }
}
/* ページタイトル */
.p-page-head {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25rem 0 13rem 0;
}
.p-page-head .title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    position: relative;
    color: #3B4043;
}
.p-page-head .title::before {
    content: '';
    display: block;
    height: 1px;
    width: 20rem;
    position: absolute;
    top: 4rem;
    left: calc(50% - 10rem);
    z-index: -1;
    transform: rotate(-66deg);
    background-color: #E60012;
}
.p-page-head .title span {
    display: inline-block;
    width: 100%;
    background-color: #fff;
    text-align: center;
}
.p-page-head .title .en {
    font-family: 'Inter', sans-serif;
    font-size: 3.2rem;
    letter-spacing: .16em;
    font-weight: 700;
    padding: 1.6rem 0 0 0;
}
.p-page-head .title .jp {
    font-size: 1.4rem;
    letter-spacing: .1em;
    font-weight: 600;
    padding: 1rem 0 2rem 0;
}

@media only screen and (max-width: 767px) {
    .p-page-head {
        padding: 20rem 0 11rem 0;
    }
    .p-page-head h1 .en {
        font-size: 2.8rem;
    }
    .p-page-head h1 .jp {
        font-size: 1.3rem;
    }
}


/*----------------------------------------
	TOP
----------------------------------------*/
/* ビジュアル */
.p-top-visual {
    position: relative;
    overflow: hidden;
    height: 56vw;
    min-height: 80rem;
}
.p-top-visual::after {
    content: '';
    display: block;
    width: 16%;
    height: 70%;
    background-image: url(../img/top/triangle_visual.png);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    mix-blend-mode: multiply;
}
.p-top-visual__copy {
    width: 32%;
    max-width: 57rem;
    position: absolute;
    top: 37%;
    right: 19%;
    z-index: 1;
    transition-delay: .8s;
}
.copyMaskIn {
    transition-duration: 1.4s;
    transition-timing-function: cubic-bezier(0,.2,.2,1);
    clip-path: polygon(0 0, 0 0, 0 0);
    transform:translateX(-30px) scale(0.86) skew(8deg);
}
.copyMaskIn.inview{
    clip-path: polygon(0 0, 200% 0, 0 200%);
    transform: translateX(0) scale(1) skew(0);
}
.p-top-visual__copy img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.is_loaded .p-top-visual > img {
    animation: imgZoom 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s normal backwards;
}
@keyframes imgZoom {
    0% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}
.p-top-visual > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}
/* 導入セクション */
.p-top-introduction {
    position: relative;
    padding: 15% 0;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 50%, rgba(218, 218, 218, .4) 50%);
}
.p-top-introduction::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: url(../img/top/bg_introduction.svg) no-repeat right 10% top 42%;
    background-size: auto 45%;
    transform: translateX(-10rem);
    opacity: 0;
    transition: 1s cubic-bezier(0.33, 1, 0.68, 1) .6s;
}
.p-top-introduction.inview::after {
    transform: translateX(0);
    opacity: 1;
}
.p-top-introduction .inner {
    width: 80%;
    max-width: 132rem;
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.p-top-introduction__copy {
    width: 40%;
    max-width: 54rem;
}
.p-top-introduction__text {
    width: 44%;
    max-width: 50rem;
    min-width: fit-content;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.04em;
}
.p-top-introduction__text p:not(:last-of-type) {
    margin-bottom: 3.2rem;
}
.p-top-introduction__text p {
    transition-delay: .6s;
}
/* ジャンル別コンテンツ */
.p-top-content {
    display: flex;
}
.p-top-content .item {
    display: block;
    width: 20%;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    background-color: #000;
}
.p-top-content .item:nth-of-type(2) {
    transition-delay: .1s;
}
.p-top-content .item:nth-of-type(3) {
    transition-delay: .2s;
}
.p-top-content .item:nth-of-type(4) {
    transition-delay: .3s;
}
.p-top-content .item:nth-of-type(5) {
    transition-delay: .4s;
}
.p-top-content .item::after {
    content: '';
    display: block;
    padding-top: 280%;
}
.p-top-content.p-top-content.is-active .item::after {
    content: '';
    display: block;
    padding-top: 56.25%;
}
.p-top-content-cover {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
}
.p-top-content-popup::after, 
.p-top-content-cover::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #98A6B5;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    mix-blend-mode: multiply;
    transition: .3s ease-in;
}
.p-top-content-popup::after {
    background-color: rgba(0,0,0,.6);
}
.p-top-content .item:hover .p-top-content-cover::after {
    opacity: 0;
}
.p-top-content-cover .copy {
    position: absolute;
    z-index: 2;
    width: 60%;
    max-width: 23rem;
    top: 15%;
    left: 50%;
    transform: translate(-50%, 0);
}
.p-top-content-cover .catch {
    position: absolute;
    z-index: 2;
    width: 26%;
    max-width: 10rem;
    bottom: 5%;
    left: 0;
}
.p-top-content-cover .picture {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.p-top-content-cover .picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: ease .8s;
}
.p-top-content .item:hover .p-top-content-cover .picture img {
    transform: scale(1.05);
}
/* Life in KAGOSHIMA */
.p-top-life-in-kagoshima {
    display: flex;
    height: 60vw;
    min-height: 64rem;
    background-color: #F7F7F8;
    position: relative;
}
.p-top-life-in-kagoshima__visual {
    width: 54vw;
    min-width: 54vw;
    clip-path: polygon(0 0, 100% 0, 60% 100%, 0% 100%);
    position: relative;
}
.p-top-life-in-kagoshima__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-top-life-in-kagoshima__visual::after {
    content: '';
    display: block;
    width: 45%;
    height: 100%;
    background-image: url(../img/top/triangle_life_in_kagoshima.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    mix-blend-mode: multiply;
}
.p-top-life-in-kagoshima__content {
    width: 50vw;
    transform: translateX(-2vw);
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: 0 0 7vw 0;
}
.p-top-life-in-kagoshima__content::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/top/bg_life_in_kagoshima.svg) no-repeat right bottom;
    background-size: auto 93%;
    position: absolute;
    top: 0;
    right: 8%;
    z-index: -1;
}
.p-top-life-in-kagoshima__content .copy-main {
    max-width: 52rem;
    width: 68%;
    margin-bottom: 6%;
}
.p-top-life-in-kagoshima__content .copy-sub {
    width: fit-content;
    background-color: #fff;
    padding: 0.8rem 1rem;
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 600;
    margin-bottom: 3%;
}
.p-top-life-in-kagoshima__content .summary {
    width: 90%;
    font-size: 1.7rem;
    font-weight: 600;
    margin-bottom: 6%;
}
.p-top-life-in-kagoshima__content .navi {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.p-top-life-in-kagoshima__content .navi picture {
    width: 21%;
    margin-right: 4%;
}
.p-top-life-in-kagoshima__content .navi a {
    width: 21%;
    font-family: 'Roboto', sans-serif;;
    font-size: 1.8rem;
    color: #E60012;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
}
.p-top-life-in-kagoshima__content .navi a span {
    transition: .5s;
}
.p-top-life-in-kagoshima__content .navi a:hover span {
    opacity: .6;
}
/* バナーナビ */
.p-top-banner-navi .inner {
    width: 100vw;
    overflow: hidden;
}
.p-top-banner-navi nav {
    display: flex;
    height: 35vw;
    min-height: 34rem;
    transform: translateX(7%);
}
.p-top-banner-navi a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 34%;
    clip-path: polygon(36% 0%, 100% 0%, 64% 100%, 0% 100%);
    text-decoration: none;
    margin-left: -12.3%;
    position: relative;
}
.p-top-banner-navi a::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(179,179,179);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: opacity .2s;
}
.p-top-banner-navi a:hover::after {
    opacity: 0;
}
.p-top-banner-navi a.company::after {
    background-color: rgba(139,165,174);
}
.p-top-banner-navi a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .8s;
}
.p-top-banner-navi a:hover img {
    transform: scale(1.05);
}
.p-top-banner-navi a h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
}
.p-top-banner-navi a h3 .en {
    font-size: calc(1.2rem + 1vw);
    letter-spacing: .1em;
    margin-bottom: 1rem;
    text-align: center;
}
.p-top-banner-navi a h3 .jp {
    font-size: 1.6rem;
    letter-spacing: .06em;
}
@media only screen and (max-width: 1100px) {
    .p-top-visual__copy {
        width: 38%;
        right: 14%;
    }
}
@media only screen and (max-width: 767px) {
    /* ビジュアル */
    .p-top-visual {
        height: calc(100vh - 6.4rem);
    }
    .p-top-visual::after {
        width: 50%;
    }
    .p-top-visual__copy {
        width: 70%;
        max-width: 32rem;
        top: 20%;
        right: initial;
        left: 16%;
    }
    .p-top-visual::before {
        bottom: 4%;
    }
    .is_loaded .p-top-visual > img {
        animation: imgZoomSp 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s normal backwards;
    }
    @keyframes imgZoomSp {
        0% {
            transform: scale(1.2);
        }
        100% {
            transform: scale(1);
        }
    }
    /* 導入セクション */
    .p-top-introduction {
        padding: 24% 0;
    }
    .p-top-introduction::after {
        background: url(../img/top/bg_introduction.svg) no-repeat right 5% top 9%;
        background-size: 60% auto;
    }
    .p-top-introduction .inner {
        flex-direction: column;
        align-items: initial;
        justify-content: initial;
    }
    .p-top-introduction__copy,
    .p-top-introduction__text {
        width: 100%;
        max-width: 54rem;
    }
    .p-top-introduction__copy {
        padding: 15% 6% 30% 6%;
    }
    .p-top-introduction__text {
        font-size: 1.5rem;
    }
    /* ジャンル別コンテンツ */
    .p-top-content {
        height: auto;
        flex-direction: column;
    }
    .p-top-content .item {
        width: 100%;
        background-color: #4D4D4D;
        transition-delay: 0;
    }
    .p-top-content .item::after {
        display: none !important;
    }
    .p-top-content.is-active .item:not(.is-open) {
        display: block;
    }
    .p-top-content-cover {
        height: 82vw;
        position: relative;
    }
    .p-top-content-cover .copy {
        width: auto;
        height: 90%;
        top: 5%;
        left: initial;
        right: 14%;
        transform: initial;
    }
    .p-top-content-cover .copy img {
        height: 100%;
    }
    .p-top-content-cover .catch {
        width: 17%;
    }
    .inview .p-top-content-cover .picture img {
        animation: imgZoomSp 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s normal both;
    }
    .p-top-content-cover::after {
        z-index: 0;
    }
    .aguri .p-top-content-cover .catch {
        width: 12%;
    }
    .p-top-content .item:hover .p-top-content-cover::after {
        opacity: 1;
    }

    .p-top-life-in-kagoshima {
        height: 70rem;
        min-height: initial;
    }
    .p-top-life-in-kagoshima__visual {
        position: absolute;
        left: 0;
        top: 0;
        width: 100vw;
        height: 70rem;
        clip-path: polygon(100% 0, 100% 62%, 69% 100%, 0 100%, 0 0);
    }
    .p-top-life-in-kagoshima__visual::after {
        width: 34%;
        height: 39%;
        left: -2%;
    }
    .p-top-life-in-kagoshima__content {
        width: 88vw;
        margin-left: auto;
        margin-right: auto;
        transform: initial;
        position: relative;
        z-index: 1;
    }
    .p-top-life-in-kagoshima__content::before {
        opacity: 0.5;
        height: 80%;
    }
    .p-top-life-in-kagoshima::before {
        background-image: url(../img/top/visual_copy.svg);
        bottom: initial;
        top: 4%;
        height: 18rem;
    }
    .p-top-life-in-kagoshima__content .navi {
        justify-content: end;
        transform: translateX(3%);
    
    }
    .p-top-life-in-kagoshima__content .navi picture {
        display: none;
    }
    .p-top-life-in-kagoshima__content .navi a {
        font-size: 1.6rem;
    }
    .p-top-life-in-kagoshima__content .navi a:not(:last-of-type) {
        display: none;
    }
    .p-top-life-in-kagoshima__content .copy-main {
        max-width: initial;
        width: 100%;
    }
    .p-top-life-in-kagoshima__content .copy-sub {
        font-size: 1.7rem;
    }
    .p-top-life-in-kagoshima__content .summary {
        font-size: 1.3rem;
        color: #fff;
        margin-bottom: 24%;
    }
    /* バナーナビ */
    .p-top-banner-navi .inner {
        margin-left: initial;
    }
    .p-top-banner-navi nav {
        flex-wrap: wrap;
        height: initial;
        transform: initial;
    }
    .p-top-banner-navi a {
        width: 50%;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
        margin-left: 0;
    }
    .p-top-banner-navi a h3 .en {
        font-size: 2rem;
    }
    .p-top-banner-navi a h3 .jp {
        font-size: 1.2rem;
    }
    .p-top-banner-navi a.recruit {
        width: 100%;
        height: 50vw;
    }
}

/*----------------------------------------
	行員紹介（一覧）
----------------------------------------*/
.page-member-index .l-main {
    margin-bottom: 10rem;
}
.p-member-list {
    margin-top: 2rem;
}
.p-member-list .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.p-member-list .item {
    width: 32%;
    margin-bottom: 2.5%;
}
.p-member-list .item a {
    text-decoration: none;
}
.p-member-list .item picture {
    position: relative;
    display: block;
    overflow: hidden;
}
.p-member-list .item picture:after {
    display: block;
    padding-top: 72.2%;
    content: '';
}
.p-member-list .item picture img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1);
    transform-origin: center;
    object-fit: cover;
    transition: ease .4s;
}
.p-member-list .item:hover picture img {
    transform: scale(1.05);
}
.p-member-list .item .content {
    background-color: #F2F2F2;
    padding: 3.2rem 1.6rem;
}
.p-member-list .item .content h2 {
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.4;
    display: flex;
    flex-direction: column;
    align-items: baseline;
}
.p-member-list .item .content h2 span {
    display: inline-block;
    padding: 0.3rem 0.6rem;
    background-color: #fff;
}
.p-member-list .item .content .meta {
    border-left: 4px solid #E60012;
    padding-left: 1.2rem;
    margin-top: 1.6rem;
    font-weight: 500;
}
.p-member-list .item .content .meta .name {
    display: flex;
    align-items: baseline;
}
.p-member-list .item .content .meta .name .jp {
    font-size: 1.5rem;
    margin-right: 1rem;
}
.p-member-list .item .content .meta .name .en {
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
}
.p-member-list .item .content .meta .division {
    font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
    .p-member-list .inner {
        flex-direction: column;
    }
    .p-member-list .item {
        width: 100%;
        margin-bottom: 4rem;
    }
    .p-member-list .item .content h2 {
        font-size: 1.8rem;
    }
}


/*----------------------------------------
	行員紹介（詳細）
----------------------------------------*/
.page-member-detail .l-main {
    margin-bottom: 10rem;
}
.p-member-visual {
    position: relative;
    min-height: 80rem;
    height: 57vw;
}
.p-member-visual::before {
    content: '';
    display: block;
    width: 16%;
    height: 70%;
    background-image: url(../img/member/red_square.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    mix-blend-mode: multiply;
}
.p-member-visual picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
}
.p-member-visual picture:after {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, rgba(255,255,255,0) 50%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}
.p-member-visual picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    animation: imgZoom 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s normal;
}
@keyframes imgZoom {
    0% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}
.p-member-visual .content {
    position: absolute;
    left: 6%;
    bottom: 10%;
    z-index: 2;
}
.p-member-visual .content h2 {
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.4;
    display: flex;
    flex-direction: column;
    align-items: baseline;
}
.p-member-visual .content h2 span {
    display: inline-block;
    padding: 0.6rem 1.6rem;
    background-color: #fff;

}
.p-member-visual .content .meta {
    border-left: 6px solid #E60012;
    padding-left: 1.6rem;
    margin-top: 3rem;
    font-weight: 500;
    color: #fff;
}
.p-member-visual .content .meta .name {
    display: flex;
    align-items: baseline;
    line-height: 1;
    margin-bottom: 1rem;
}
.p-member-visual .content .meta .name .jp {
    font-size: 2.4rem;
    margin-right: 1.4rem;
}
.p-member-visual .content .meta .name .en {
    font-size: 1.3rem;
    font-family: 'Inter', sans-serif;
}
.p-member-visual .content .meta .division {
    font-size: 1.5rem;
    display: flex;
    flex-direction: column;
}
.p-member-copy {
    text-align: center;
    padding: 0 0 5rem 0;
    h2 {
        font-size: 3rem;
        line-height: 1.5;
        font-weight: 700;
    }
    p {
        font-weight: 700;
        max-width: 60rem;
        margin: 0 auto 2rem auto;
        strong {
            color: #E60012;
            font-weight: 900;
        }
    }
}
.p-member-note {
    text-align: right;
    font-size: 1.3rem;
    letter-spacing: 0;
    padding: 1rem 0;
}
.p-member-section {
    display: flex;
    justify-content: space-between;
    margin-top: 12%;
    margin-bottom: 12%;
    max-width: 1320px;
    width: calc(100% - 24rem);
}
.p-member-section .image {
    width: 50%;
}
.p-member-section .content {
    width: 45%;
    margin-top: -.5rem;
}
.p-member-section .content .heading {
    font-size: 3rem;
    line-height: 1.5;
    margin-bottom: 4rem;
}
.p-member-section .content .body p {
    line-height: 2;
    letter-spacing: 0;
    text-align: justify;
}
.p-member-section .content .body p:not(:last-of-type) {
    margin-bottom: 1.6rem;
}
.p-member-section.type-b {
    flex-direction: row-reverse;
    padding: 0 3.125%;
}
.p-member-section.type-b .image {
    width: 35%;
    margin-left: 5%;
}
.p-member-section.type-b .content {
    width: initial;
    flex: 1;
}
/* 業務内容 */
.p-member-job-description {
    border-top: 1px solid #707070;
    padding: 12rem 0 14rem 0;
}
.p-member-job-description h2 {
    text-align: center;
    font-size: 3rem;
    line-height: 1.5;
    margin-bottom: 4rem;
}
.p-member-job-description .body {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.p-member-job-description p:first-of-type {
    margin-bottom: 4rem;
}
/* メッセージ */
.p-member-msessage {
    background: #DFDFDF;
}
.p-member-msessage .image {
    display: block;
    height: 40vw;
    overflow: hidden;
}
.p-member-msessage .content {
    padding: 7rem 0;
    background-image: url(../img/member/bg_message.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 43rem auto;
}
.p-member-msessage .content h2 {
    font-size: 2.5rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 2.4rem;
}
.p-member-msessage .content .message {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    line-height: 2;
    letter-spacing: 0;
    text-align: justify;
}
.p-page-navi {
    margin-top: 8rem;
}
.p-page-navi nav {
    font-family: 'Roboto', sans-serif;;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .08em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.p-page-navi nav span {
    opacity: .3;
}
.p-page-navi nav a {
    display: block;
    text-decoration: none;
}
.p-page-navi nav a:hover {
    color: #E60012;
}
@media only screen and (max-width: 767px) {
    .p-member-visual {
        min-height: 70rem;
        height: calc( 100vh - 6.4rem);
    }
    .p-member-visual::before {
        width: 32%;
    }
    .p-member-visual .content h2 {
        font-size: 2rem;
    }
    .p-member-visual .content .meta .name .jp {
        font-size: 1.8rem;
    }
    .p-member-visual .content .meta .name .en {
        font-size: 1rem;
    }
    .p-member-visual .content .meta .division {
        font-size: 1.1rem;
    }
    .p-member-visual .content h2 span {
        padding: 0.6rem 1rem;
    }
    .p-member-visual picture img {
        object-position: 0 -1rem;
    }
    .p-member-copy {
        h2 {
            font-size: 2.4rem;
        }
        p {
            text-align: left;
        }
    }
    .p-member-note {
        text-align: left;
        font-size: 1.1rem;
        letter-spacing: 0;
    }
    .p-member-section {
        flex-direction: column-reverse;
        width: 100%;
    }
    .p-member-section .content {
        width: 88%;
        margin-top: inherit;
        margin-left: auto;
        margin-right: auto;
    }
    .p-member-section .content .heading {
        font-size: 2.4rem;
        margin-bottom: 3rem;
    }
    .p-member-section .image {
        width: 100%;
        margin-top: 4rem;
    }
    .p-member-section.type-b {
        flex-direction: column-reverse;
        padding: 0;
    }
    .p-member-section.type-b .content {
        width: 88%;
        flex: initial;
    }
    .p-member-section.type-b .image {
        width: 100%;
        margin-left: 0;
    }
    /* 業務内容 */
    .p-member-job-description {
        padding: 6rem 0 0rem 0;
        margin-top: 8rem;
    }
    .p-member-job-description h2 {
        font-size: 2.4rem;
        margin-bottom: 3rem;
    }

    .p-member-msessage {
        margin-top: 14rem;
    }
    .p-member-msessage .image {
        height: 29rem;
    }
    .p-member-msessage .image img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
    .p-member-msessage .content {
        padding: 6rem 0 8rem 0;
        background-position: center bottom;
        background-size: 23rem auto;
    }
    .p-member-msessage .content h2 {
        font-size: 2rem;
        text-align: left;
    }
    .p-page-navi {
        margin-top: 4rem;
    }

}


/*----------------------------------------
	404 Page
----------------------------------------*/
.p-404 {
    text-align: center;
    font-weight: 500;
    padding: 22rem 0;
}
.p-404 h1 {
    line-height: 1;
    margin: 0 auto 8rem auto;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
}
.p-404 h1 span {
    display: block;
    font-size: 3rem;
    letter-spacing: .05em;
}
.p-404 h1 span:first-of-type {
    font-size: 16rem;
    margin-bottom: 2rem;
    color: #E60012;
}
.p-404-content p {
    line-height: 2;
}
.p-404-back-navi {
    margin-top: 4rem;
}
.p-404-back-navi a {
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (max-width: 767px) {
    .p-404 h1 span:first-of-type {
        font-size: 12rem;
        margin-bottom: 1rem;
    }
    .p-404 h1 span {
        font-size: 2.6rem;
    }
}

/*----------------------------------------
	Create the Next
----------------------------------------*/
.p-creat-next-intro {
    padding-top: 10rem;
    background: #F2F2F2 url(../img/top/bg_introduction.svg) no-repeat left 6% top 37%;
    background-size: auto 40%;
}
.p-creat-next-intro .inner {
    padding: 18% 6% 12% 6%;
    display: flex;
    justify-content: space-between;
}
.p-creat-next-intro_content {
    width: 50%;
    font-weight: 600;
}
.p-creat-next-intro_content h2 {
    max-width: 65rem;
    width: 76%;
    margin-bottom: 4rem;
}
.p-creat-next-intro_content .intro-text {
    font-size: 2.2rem;
    line-height: 2;
}
.p-creat-next-intro_content .intro-sub {
    font-size: 1.7rem;
    margin-top: 3.2rem;
}
.p-creat-next-intro__navi {
    width: 40%;
    display: flex;
    flex-direction: column;
}
.p-creat-next-intro__navi a {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 8%;
}
.p-creat-next-intro__navi a::after {
    content: '';
    display: block;
    padding-top: 8%;
}
.p-creat-next-intro__navi a img {
    position: absolute;
    left: 0;
    display: block;
    height: 100%;
}
.p-creat-next {}
.p-creat-next .item {
    width: 100%;
    position: relative;
    background-color: #000;
}
.p-creat-next .item::after {
    content: '';
    display: block;
    padding-top: 56.25%;
}
.p-creat-next .item .cover {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
}
.p-creat-next .item .cover::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #98A6B5;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
    mix-blend-mode: multiply;
    transition: .3s ease-in;
}
.p-creat-next .popup::after {
    background-color: rgba(0,0,0,.6);
}
.p-creat-next .item .cover .copy {
    position: absolute;
    z-index: 2;
    width: 13%;
    max-width: 24rem;
    bottom: 22%;
    left: 50%;
    transition-duration: .4s;
}
.p-creat-next .item .cover .catch {
    position: absolute;
    z-index: 2;
    max-width: 12rem;
    width: 6%;
    bottom: 23%;
    left: 41%;
    transition-duration: .4s;
}
.p-creat-next .item.aguri .cover .catch {
    width: 5%;
}
.p-creat-next .item .cover .picture {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.p-creat-next .item .cover .picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: ease .8s;
}
.p-creat-next .item:hover .cover .picture img {
    transform: scale(1.05);
}
.p-creat-next .item .popup {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100vw;
    height: 100%;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: 0s;
}
.p-creat-next .item .popup .content {
    position: absolute;
    z-index: 4;
    width: 50%;
    max-width: 55rem;
    top: 50%;
    left: 45%;
    transform: translateY(-40%);
}
.p-creat-next .item .popup .content h3 {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 2rem;
}
.p-creat-next .item .popup .content .text {
    text-align: justify;
    font-size: min(1.5vw,1.8rem);
}

/* コンテンツ表示時 */
.p-creat-next .item.is-open .cover .catch,
.p-creat-next .item:hover .cover .catch {
    left: 14%;
}
.p-creat-next .item.is-open .cover .copy,
.p-creat-next .item:hover .cover .copy {
    left: 23%;
}
.p-creat-next .item.is-open .popup,
.p-creat-next .item:hover .popup {
    opacity: 1;
    visibility: visible;
    transition: 1s;
}

@media only screen and (max-width: 767px) {
    .p-creat-next-intro {
        padding-top: 7.2rem;
        background-position: left 15% top 25%;
    }
    .p-creat-next-intro .inner {
        flex-direction: column;
        padding: 18% 0 12% 0;
    }
    .p-creat-next-intro_content {
        width: 100%;
    }
    .p-creat-next-intro_content h2 {
        max-width: 32rem;
        width: 74%;
        margin-right: auto;
        margin-left: auto;
    }
    .p-creat-next-intro_content .intro-text {
        font-size: 1.6rem;
        letter-spacing: 0.02em;
    }
    .p-creat-next-intro_content .intro-sub {
        font-size: 1.4rem;
    }
    .p-creat-next-intro__navi {
        width: 80%;
        max-width: 24rem;
        margin-top: 5rem;
        margin-left: auto;
        margin-right: auto;
    }
    .p-creat-next-intro__navi a {
        margin-bottom: 10%;
    }
    .p-creat-next .item {
        width: 100%;
        background-color: #4D4D4D;
        overflow: hidden;
    }
    .p-creat-next .item.is-open {
        display: block;
        width: 100vw;
        left: 0;
    }
    .p-creat-next .item .cover {
        height: 82vw;
        position: relative;
    }
    .p-creat-next .item.is-open .cover .catch,
    .p-creat-next .item:hover .cover .catch,
    .p-creat-next .item .cover .catch {
        position: absolute;
        z-index: 2;
        width: 17%;
        bottom: 5%;
        left: 0;
    }
    .p-creat-next .item.aguri .cover .catch {
        width: 12%;
    }
    .p-creat-next .item.is-open .cover .copy,
    .p-creat-next .item:hover .cover .copy,
    .p-creat-next .item .cover .copy {
        width: auto;
        height: 90%;
        top: 5%;
        left: initial;
        right: 14%;
        transform: initial;
    }
    .p-creat-next .item .cover .copy img {
        height: 100%;
    }
    .p-creat-next .item::after {
        display: none;
    }
    .p-creat-next .item.is-open .popup,
    .p-creat-next .item:hover .popup,
    .p-creat-next .item .popup {
        position: relative;
        left: initial;
        top: initial;
        padding: 0;
        height: 0;
        opacity: 0;
        visibility: hidden;
    }
    .p-creat-next .item.is-open .popup {
        opacity: 1;
        visibility: visible;
        transition: .4s;
        padding: 6rem 0;
        height: auto;
    }
    .p-creat-next .item .popup .content {
        position: relative;
        width: 88%;
        max-width: initial;
        top: initial;
        left: initial;
        transform: initial;
        margin: 0 auto;
    }
    .p-creat-next .item .popup .content h3 {
        font-size: 2rem;
        line-height: 1.65;
        margin-bottom: 2.4rem;
    }
    .p-creat-next .item .popup .content .text {
        font-size: 1.5rem;
    }

}

/*----------------------------------------
	Recruit
----------------------------------------*/
/* ページビジュアル */
.p-page-visual {
    position: relative;
    overflow: hidden;
    height: 56vw;
}
.p-page-visual::after {
    content: '';
    display: block;
    width: 18%;
    height: 100%;
    background-image: url(../img/top/triangle_visual.png);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    mix-blend-mode: multiply;
}
.p-page-visual .title {
    position: absolute;
    bottom: 14%;
    left: 7%;
    z-index: 1;
    color: #fff;
    display: flex;
    flex-direction: column;
    z-index: 2;
}
.p-page-visual .title .en {
    font-family: 'Inter', sans-serif;
    font-size: 9rem;
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1;
    padding: 0 0 1rem 0;
}
.p-page-visual .title .jp {
    font-size: 2rem;
    letter-spacing: .1em;
    font-weight: 600;
}
/* セクションタイトル */
.p-section-head {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13rem 0;
}
.p-section-head .title {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    position: relative;
    color: #3B4043;
}
.p-section-head .title::before {
    content: '';
    display: block;
    height: 1px;
    width: 14rem;
    position: absolute;
    top: 2.5rem;
    left: calc(50% - 7rem);
    z-index: 0;
    transform: rotate(-66deg);
    background-color: #E60012;
}
.p-section-head .title span {
    display: inline-block;
    width: 100%;
    min-width: 20rem;
    background-color: #fff;
    text-align: center;
    position: relative;
    font-size: 3.2rem;
    letter-spacing: .1em;
    font-weight: 600;
    padding: 1rem 0;
}
.p-section-head .title .en {
    font-family: 'Inter', sans-serif;
}
/* 募集要項 */
.p-requirements-section {
    background-color: #F2F2F2;
    padding: 6rem 0 14rem 0;
}
.p-requirements-section .p-section-head .title span {
    background-color: #F2F2F2;
}
.p-requirements-table {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 84rem;
}
.p-requirements-table dt,
.p-requirements-table dd {
    border-bottom: 1px solid #CDD6DD;
    padding: 2.4rem 0;
    color: #606060;
}
.p-requirements-table dt {
    width: 30%;
    min-width: fit-content;
    font-weight: bold;
}
.p-requirements-table dd {
    width: 70%;
}
.p-allowance-text {
    width: fit-content;
    text-align: right;
    margin-bottom: 1.6rem;
}
.p-allowance-wrap {
    display: flex;
    margin-bottom: 1.6rem;
}
.p-allowance-wrap .item {
    width: 50%;
}
/* 選考フロー */
.p-flow-section {
    padding: 6rem 0 14rem 0;
}
.p-flow {
    max-width: 78rem;
    margin-top: 1rem;
}
.p-flow__item {
    display: flex;
}
.p-flow__item .label {
    width: 18%;
    min-width: fit-content;
    font-family: 'Inter', sans-serif;
    font-size: 2rem;
    letter-spacing: .06em;
    font-weight: 700;
    line-height: 1;
    position: relative;
}
.p-flow__item .label::before,
.p-flow__item .label::after {
    content: '';
    display: block;
    width: 1.5rem;
    position: absolute;
    right: 0;
    top: 0;
}
.p-flow__item .label::before {
    height: 100%;
    background-color: #F2F2F2;
}
.p-flow__item:first-of-type .label::before {
    border-radius: 1.5rem 1.5rem 0 0;
}
.p-flow__item:last-of-type .label::before {
    border-radius: 0 0 1.5rem 1.5rem;
    height: 1.5rem;
}
.p-flow__item .label::after {
    height: 1.5rem;
    border-radius: 1.5rem;
    background-color: #E60012;
}
.p-flow__item .content {
    width: 78%;
    position: relative;
    padding: 0 0 10% 6%;
    margin-top: -0.8rem;
}
.p-flow__item:last-of-type .content {
    padding-bottom: 0;
}
.p-flow__item .content .title {
    display: block;
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: .6rem;
}
.p-flow__item .content p {
    line-height: 1.65;
}
/* FAQ */
.p-faq-section {
    background-color: #F2F2F2;
    padding: 6rem 0 14rem 0;
}
.p-faq-section .p-section-head .title span {
    background-color: #F2F2F2;
}
/* FAQタブ */
.p-faq-tab {
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-faq-tab li {
    margin: 0 2.4rem;
    padding-bottom: 4.8rem;
    opacity: .5;
    position: relative;
}
.p-faq-tab li:not(.current) {
    cursor: pointer;
}
.p-faq-tab li.current {
    opacity: 1;
}
.p-faq-tab li.current::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 1rem 1.6rem 1rem;
    border-color: transparent transparent #fff transparent;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.p-faq-tab li:first-of-type {
    margin-left: 0;
}
.p-faq-tab li:last-of-type {
    margin-right: 0;
}
.p-faq-tab li span {
    display: block;
    font-size: 2.2rem;
    font-weight: bold;
    border-bottom: 1px solid #E60012;
}
/* FAQコンテンツ */
.p-faq-list {
    background-color: #fff;
    max-width: 88rem;
    padding: 6%;
    display: none;
}
.p-faq-list.current {
    display: block;
}
.p-faq-list .item {
    padding: 1.6rem 0;
    border-bottom: 1px solid #CDD6DD;
}
.p-faq-list .item .question {
    display: flex;
    align-items: center;
    position: relative;
    padding-right: 3rem;
    cursor: pointer;
}
.p-faq-list .item .question::before,
.p-faq-list .item .question::after {
    content: '';
    display: block;
    width: 2rem;
    height: 1px;
    border-bottom: 1px solid #707070;
    position: absolute;
    right: 0;
    transition: .2s;
}
.p-faq-list .item .question::after {
    transform: rotate(90deg);
}
.p-faq-list .item.is-open .question::before {
    transform: rotate(135deg);
}
.p-faq-list .item.is-open .question::after {
    transform: rotate(225deg);
}
.p-faq-list .item .question .number {
    font-family: 'Inter', sans-serif;
    font-size: 2.4rem;
    letter-spacing: .06em;
    font-weight: 700;
    width: 6rem;
}
.p-faq-list .item .question .title {
    flex: 1;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: bold;
}
.p-faq-list .item .answer {
    padding: 1.6rem 0 1.6rem 6rem;
    display: none;
}
@media only screen and (max-width: 767px) {
    /* ページビジュアル */
    .p-section-head .title span {
        font-size: 2.4rem;
    }
    .p-page-visual {
        height: 90vh;
    }
    .p-page-visual::after {
        width: 38%;
    }
    .p-page-visual .title {
        bottom: 5%;
        left: 7%;
    }
    .p-page-visual .title .en {
        font-size: 4.4rem;
        padding: 0 0 0.6rem 0;
    }
    .p-page-visual .title .jp {
        font-size: 1.4rem;
    }
    /* セクションタイトル */
    .p-section-head {
        padding: 12rem 0;
    }
    .p-section-head .title::before {
        width: 10rem;
        top: 2.2rem;
        left: 24%;
    }
    /* 募集要項 */
    .p-requirements-table dt {
        width: 11rem;
        min-width: initial;
    }
    .p-requirements-table dd {
        width: calc(100% - 13rem);
    }
    .p-flow__item .label {
        width: 10rem;
        font-size: 1.4rem;
    }
    .p-flow__item .content {
        width: 73%;
        margin-top: -0.5rem;
    }
    .p-flow__item .content .title {
        font-size: 1.4rem;
        margin-bottom: 0.4rem;
    }
    .p-flow__item .content p {
        font-size: 1.3rem;
    }
    .p-allowance-wrap {
        flex-direction: column;
    }
    .p-allowance-wrap .item {
        width: 100%;
    }
    /* FAQ */
    .p-faq-tab {
        justify-content: space-between;
    }
    .p-faq-tab li {
        width: 47%;
        padding-bottom: 3.2rem;
        margin: 0;
    }
    .p-faq-tab li span {
        font-size: 1.5rem;
        padding: 1rem 0;
        text-align: center;
    }
    .p-faq-list {
        padding: 6% 6% 14% 6%;
    }
    .p-faq-list .item {
        padding: 2.4rem 0;
    }
    .p-faq-list .item .question .number {
        font-size: 2rem;
    }
    .p-faq-list .item .question .title {
        font-size: 1.4rem;
    }
    .p-faq-list .item .question p {
        font-size: 1.3rem;
    }
    .p-faq-list .item .question::before,
    .p-faq-list .item .question::after {
        width: 1.5rem;
    }
}

/*----------------------------------------
	Intern
----------------------------------------*/
.page-intern {
    background-color: #F2F2F2;
}
.page-intern .p-page-visual::after {
    background-image: url(../img/common/triangle_visual_blue.png);
}
.page-intern .p-page-visual .title .jp {
    letter-spacing: .01em;
}
.p-intern-intro {
    text-align: center;
    padding: 14rem 0 4rem 0;
}
.p-intern-intro h3 {
    font-size: 3rem;
    line-height: 1.5;
    font-weight: bold;
    color: #004BB1;
}
.p-intern-intro p {
    font-weight: bold;
    line-height: 2;
    max-width: 80rem;
    margin: 2rem auto;
}
.p-whitebox {
    background-color: #fff;
    padding: 6% 6% 7% 6%;
    max-width: 1320px;
    margin: 6% auto;
}
.p-whitebox-head {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5rem;
}
.p-whitebox-head .title {
    padding-bottom: 1rem;
}
.p-whitebox-head .title .jp {
    font-size: 3.2rem;
    display: flex;
    justify-content: center;
    position: relative;
    min-width: 20rem;
    width: fit-content;
}
.p-whitebox-head .title .jp::after {
    content: '';
    display: block;
    height: 1px;
    width: 20rem;
    position: absolute;
    left: 50%;
    bottom: -1rem;
    transform: translateX(-50%);
    border-bottom: 1px solid #004BB1;
}
.p-whitebox-head .title .t-small {
    font-size: 1.3rem;
    letter-spacing: 0;
    padding: 2rem 0 0 0;
    display: flex;
    justify-content: center;
}
.p-whitebox:last-of-type {
    margin-bottom: 12%;
}
/* 実施内容 */
.p-intern-program {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}
.p-intern-program .item {
    width: 32%;
    border: 2px solid #004BB1;
    border-radius: 0.8rem;
}
.p-intern-program .item h3 {
    background-color: #004BB1;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    padding: 1.4rem 2rem;
    text-align: center;
    line-height: 1.4;
}
.p-intern-program .item p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    color: #004BB1;
    line-height: 2;
    padding: 8% 8% 10% 8%;
}
.p-intern-program__attention {
    width: fit-content;
    max-width: 100%;
    margin-bottom: 8rem;
    margin-left: auto;
    margin-right: auto;
    font-weight: bold;
    text-align: center;
}
.p-intern-program__attention h4 {
    text-align: center;
    margin-bottom: 3.2rem;
    font-size: 2.4rem;
    color: #004BB1;
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1rem;
}
/* 開催方法 */
.p-host-method {
    text-align: center;
    font-weight: bold;
}
/* 学べること */
.p-intern-feature {
    display: flex;
    flex-wrap: wrap;
    gap: 7.2rem 6.5%;
}
.p-intern-feature .item {
    width: 29%;
}
.p-intern-feature .item .heading {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    font-weight: bold;
}
.p-intern-feature .item .heading strong {
    font-size: 1.8rem;
    color: #004BB1;
    letter-spacing: 0;
    display: flex;
    margin-bottom: 1.6rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #004BB1;
}
.p-intern-feature .item .text {
    letter-spacing: 0;
    font-weight: bold;
    margin-top: 1.6rem;
    font-size: 1.5rem;
    text-align: justify;
}
.p-intern-feature .item .text strong {
    color: #004BB1;
    font-weight: bold;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 1rem;
}
.p-intern-feature .item .text strong img {
    width: 3.2rem;
    margin-left: .2rem;
}
.p-intern-text {
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-weight: bold;
}
/* 参加者の声 */
.p-intern-voice {
    display: flex;
    justify-content: space-between;
    margin-top: 6rem;
}
.p-intern-voice .item {
    width: 44%;
}
.p-intern-voice .item .profile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3.2rem;
}
.p-intern-voice .item .profile figure {
    width: 30%;
    text-align: center;
}
.p-intern-voice .item .profile figcaption {
    line-height: 1.4;
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: .6rem;
}
.p-intern-voice .item .profile .info {
    width: 65%;
    line-height: 1.6;
    font-size: 1.4rem;
    font-weight: bold;
}
.p-intern-voice .item .profile .info strong {
    font-weight: bold;
    display: block;
    margin-bottom: 1.6rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px dotted #000;
}
.p-intern-voice .item .voice {
    width: 100%;
    font-weight: bold;
    text-align: justify;
}
.p-footer-intern {
}
.p-footer-intern .item {
    width: 100%;
    border-bottom: 1px solid #fff;
}
.p-footer-intern .item nav {
    display: flex;
}
.p-footer-intern .item nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50%;
    height: 40rem;
    text-decoration: none;
    transition: .3s;
    font-family: 'Roboto', 'Zen Kaku Gothic New', "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Droid Sans", sans-serif;
    font-weight: 600;
}
.p-footer-intern .item.v2025 nav a {
    background-color: #E60012;
}
.p-footer-intern .item.v2026 nav a {
    background-color: #004BB1;
}
.p-footer-intern .item nav a:first-of-type {
    border-right: 1px solid #fff;
}
.p-footer-intern .item nav a:hover {
    opacity: .7;
}
.p-footer-intern .item nav a span {
    font-size: 4rem;
    letter-spacing: .06em;
    line-height: 1;
    color: #fff;
}
@media only screen and (max-width: 767px) {
    .p-intern-intro h3 {
        font-size: 2.4rem;
    }
    .p-whitebox {
        padding: 15% 2rem;
    }
    .p-whitebox-head .title .jp {
        font-size: 2.2rem;
    }
    .p-whitebox-head .title .jp::after {
        width: 10rem;
    }
    .p-intern-program {
        flex-direction: column;
    }
    .p-intern-program .item {
        width: 100%;
    }
    .p-intern-program .item:not(:last-of-type) {
        margin-bottom: 1.6rem;
    }
    .p-intern-program .item span {
        font-size: 1.5rem;
    }
    .p-intern-program .item span.t-small {
        font-size: 1.3rem;
    }
    .p-intern-program__attention {
        text-align: left;
    }
    .p-intern-program__attention h4 {
        margin-bottom: 2.2rem;
        font-size: 1.6rem;
        letter-spacing: 0;
    }
    .p-intern-feature {
        flex-direction: column;
        gap: initial;
    }
    .p-intern-feature .item {
        width: 100%;
    }
    .p-intern-feature .item:not(:last-of-type) {
        margin-bottom: 6.4rem;
    }
    .p-intern-feature .item p {
        margin-top: 1.6rem;
    }
    /* 参加者の声 */
    .p-intern-voice {
        flex-direction: column;
    }
    .p-intern-voice .item {
        width: 100%;
    }
    .p-intern-voice .item:not(:last-of-type) {
        margin-bottom: 8rem;
    }
    .p-intern-voice .item .profile {
        flex-direction: column;
        margin-top: 2rem;
    }
    .p-intern-voice .item .profile figure {
        width: 48%;
    }
    .p-intern-voice .item .profile .info {
        width: fit-content;
        margin-top: 2rem;
        font-size: 1.2rem;
        margin-left: auto;
        margin-right: auto;
    }
    .p-intern-voice .item .profile .info strong {
        text-align: center;
    }
    .p-footer-intern {
        flex-direction: column;
    }
    .p-footer-intern .item {
        width: 100%;
    }
    .p-footer-intern .item nav a {
        height: 16rem;
    }
    .p-footer-intern .item nav a span {
        font-size: 2.4rem;
    }
    .p-intern-text.t-center {
        text-align: left;
    }
}

/*----------------------------------------
	COMPANY
----------------------------------------*/
.page-company .p-page-visual::after {
    background-image: url(../img/company/triangle_visual.png);
    background-position: left top;
}
.p-company-intro {
    text-align: center;
    padding: 10rem 0 5rem 0;
    margin-bottom: 9rem;
    background: url(../img/company/bg_intro_allow.png) no-repeat center bottom;
    background-size: 3.4rem auto;
}
.p-company-intro h3 {
    font-size: 3rem;
    line-height: 1.5;
    font-weight: bold;
    color: #E60012;
}
.p-company-intro p {
    font-weight: bold;
    max-width: 60rem;
    margin: 2rem auto;
}
.l-company-data {
    display: flex;
}
.l-company-data__item {
    width: 50%;
}
.p-company-data {
    height: 50%;
    min-height: 25vw;
    padding: 12% 20% 10% 8%;
    position: relative;
}
.p-company-data.flipIn {
    backface-visibility: hidden;
    transition-property: transform;
    transition-timing-function: ease;
    transition-duration: .4s;
    transition-delay: .2s;
    transform: perspective(2500px) rotateX(-100deg);
}
.p-company-data.flipIn.inview {
    transform: perspective(2500px) rotateX(0);
}
.p-company-data.large {
    min-height: 50vw;
    height: 100%;
    padding: 12%;
}
.p-company-data .wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.p-company-data .title {
    position: relative;
    z-index: 1;
}
.p-company-data .content {
    position: relative;
    z-index: 1;
    margin-top: 3.2rem;
    font-size: 1.7rem;
    font-weight: bold;
    text-align: justify;
}
.p-company-data .number {
    color: #fff;
    font-size: 6rem;
    line-height: 1;
    position: absolute;
    right: 4%;
    bottom: 6%;
    z-index: 1;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0;
    font-weight: 700;
}
/* 01 */
.p-company-data.data1 {
    background: url(../img/company/bg_data1.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
}
.p-company-data.data1::after,
.p-company-data.data4::after,
.p-company-data.data8::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #606060;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
    mix-blend-mode: multiply;
}
/* 02 */
.p-company-data.data2 .number {
    color: #CDD6DD;
}
.p-company-data.data2 .content {
    display: flex;
}
.p-company-data.data2 .content figure {
    width: 25%;
    padding-right: 5%;
}
.p-company-data.data2 .content p {
    flex: 1;
}
/* 03 */
.p-company-data.data3 {
    background-color: #E60012;
    color: #fff;
}
.p-company-data.data3 .title {
    width: 44%;
    position: absolute;
    left: 0;
}
.p-company-data.data3 .content {
    width: 45%;
    position: absolute;
    right: 0;
    bottom: 20%;
    margin-top: 0;
}
.p-company-data.data3 .number {
    right: 8%;
}
/* 04 */
.p-company-data.data4 {
    background: url(../img/company/bg_data4.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
}
.p-company-data.data4 .title {
    width: 55%;
    position: absolute;
    left: 4%;
}
.p-company-data.data4 .content {
    width: 58%;
    position: absolute;
    right: 0;
    bottom: 20%;
    margin-top: 0;
}
/* 05 */
.p-company-data.data5 .number {
    color: #CDD6DD;
}
.p-company-data.data5 .wrap,
.p-company-data.data6 .wrap,
.p-company-data.data8 .wrap {
    max-width: 50rem;
    margin-left: auto;
    margin-right: 0;
}
.p-company-data.data5 .title {
    width: 80%;
    font-size: 1.6rem;
}
/* 06 */
.p-company-data.data6 {
    background-color: #CDD6DD;
}
.p-company-data.data6 .title {
    width: 88%;
}
/* 07 */
.p-company-data.data7 {
    background-color: #E60012;
    color: #fff;
    height: 100%;
    padding: 8%;
}
.p-company-data.data7 .title {
    width: 50%;
    position: absolute;
    left: 0;
    bottom: 0;
}
.p-company-data.data7 .content {
    width: 42%;
    position: absolute;
    right: 0;
    top: 0;
    margin-top: 0;
}
/* 08 */
.p-company-data.data8 {
    height: 100%;
    background: url(../img/company/bg_data8.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
}
/* MOREリンク */
.p-company-more {
    color: #E60012;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
}
.p-company-more:hover {
    color: #E60012;
    opacity: .7;
}
.p-company-more .wrap {
    display: flex;
    align-items: center;
    padding: 10rem 5rem 10rem 0;
    background: url(../img/company/icon_more_link.svg) no-repeat right center;
    background-size: 2.2rem auto;
}
.p-company-more .en {
    width: fit-content;
    font-family: 'Roboto', sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    border-right: 1px solid #E60012;
    padding-right: 2.4rem;
    margin-right: 2.2rem;
}
.p-company-more .jp {
    width: fit-content;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.3;
}
.p-company-more .jp span {
    display: block;
}
@media only screen and (max-width: 1200px) {
    /* 07 */
    .p-company-data .wrap {
        justify-content: initial;
    }
    .p-company-data.data7 .title {
        position: relative;
        left: inherit;
        bottom: inherit;
    }
    .p-company-data.data7 .content {
        width: 80%;
        position: relative;
        right: 0;
        top: 0;
        margin-top: 3.2rem;
    }
}
@media only screen and (max-width: 767px) {
    .p-company-intro {
        width: 84%;
    }
    .p-company-intro h3 {
        font-size: 2.4rem;
    }
    .p-company-intro p {
        text-align: left;
    }
    .l-company-data {
        flex-direction: column;
        overflow: hidden;
    }
    .l-company-data__item {
        width: 100%;
    }
    .p-company-data {
        height: auto;
        min-height: initial;
        padding: 26% 8% 26% 8%;
    }
    .p-company-data.large {
        min-height: initial;
        height: auto;
        padding: 16% 8% 22% 8%;
    }
    .p-company-data .number {
        right: 7%;
        bottom: 4%;
    }
    .p-company-data .content {
        font-size: 1.5rem;
    }
    /* 02 */
    .p-company-data.data2 {
        padding-bottom: 14%;
    }
    .p-company-data.data2 .title {
        width: 75%;
    }
    .p-company-data.data2 .number {
        z-index: 0;
    }
    .p-company-data.data2 .content figure {
        width: 46%;
        padding-right: 5%;
        margin-left: -8%;
    }
    /* 03 */
    .p-company-data.data3 .title {
        width: 38%;
        position: relative;
        left: initial;
        margin-left: auto;
        margin-right: auto;
    }
    .p-company-data.data3 .content {
        width: 100%;
        position: relative;
        right: initial;
        bottom: initial;
        margin-top: 4rem;
    }
    /* 04 */
    .p-company-data.data4 .title {
        position: relative;
        left: initial;
    }
    .p-company-data.data4 .content {
        width: 58%;
        position: relative;
        right: initial;
        bottom: initial;
        margin-top: -36%;
        margin-left: 40%;
    }
    /* 06 */
    .p-company-data.data6 .title {
        width: 100%;
    }
    /* 07 */
    .p-company-data.data7 .title {
        width: 78%;
        position: relative;
        left: initial;
        bottom: initial;
    }
    .p-company-data.data7 .content {
        width: 100%;
        position: relative;
        right: initial;
        top: initial;
        margin-top: 4rem;
    }
    .p-company-data.data7 {
        padding: 22% 8% 22% 8%;
    }
    /* 08 */
    .p-company-data.data8 .title {
        width: 100%;
    }
    /* MOREリンク */

    .p-company-more .jp {
        font-size: 1.5rem;
    }
    .p-company-more .en {
        font-size: 2.4rem;
        padding-right: 1.8rem;
        margin-right: 1.6rem;
    }
    .p-company-more .wrap {
        padding: 8rem 4rem 8rem 0;
        background-size: 2rem auto;
    }
}
/*----------------------------------------
	PERSONAL DEVELOPMENT
----------------------------------------*/
.p-personal-dev-intro {
    text-align: center;
    padding: 14rem 0 2rem 0;
}
.p-personal-dev-intro p {
    font-weight: bold;
    line-height: 2;
    max-width: 78rem;
    margin: 2rem auto;
}
.p-personal-dev-sec {
    max-width: 110rem;
    margin-top: 8%;
    margin-bottom: 8%;
}
.p-personal-dev-sec:first-of-type {
    margin-top: 14%;
}
.p-personal-dev-sec:last-of-type {
    margin-bottom: 12%;
}
@media only screen and (max-width: 767px) {
    .p-personal-dev-sec {
        width: 97%;
        margin-right: 0;
        margin-top: 12%;
        margin-bottom: 12%;
    }
    .p-personal-dev-sec:first-of-type {
        margin-top: 20%;
    }
    .p-personal-dev-sec:last-of-type {
        margin-bottom: 22%;
    }
    .p-personal-dev-sec figure {
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
        padding-bottom: 3rem;
    }
    .simplebar-track.simplebar-horizontal {
        height: 10px;
        background: #E2E2E2;
        border-radius: 5px;
        max-width: 372px;
        margin: 0 auto;
    }
    .simplebar-scrollbar {
        height: 10px;
        background: #606060;
        border-radius: 5px;
        top: 0;
    }
    .p-personal-dev-sec figure img {
        min-width: 710px;
    }
}


/*----------------------------------------
	LIFE IN KAGOSHIMA
----------------------------------------*/
.page-life-in-kagoshima .l-main {
    margin-bottom: 14rem;
}
.p-life-in-kagoshima-intro {
    text-align: center;
    padding: 18% 0 12% 0;
    background: #F2F2F2 url(../img/top/bg_introduction.svg) no-repeat left 10% top 55%;
    background-size: auto 60%;
}
.p-life-in-kagoshima-intro h3 {
    font-size: 3rem;
    line-height: 1.75;
    font-weight: bold;
    color: #E60012;
}
.p-life-in-kagoshima-intro p {
    font-weight: bold;
    line-height: 2;
    max-width: 80rem;
    margin: 3.2rem auto 0 auto;
}
.p-life-in-kagoshima-slide {
    display: flex;
    width: 100vw;
    overflow: hidden;
    border-bottom: 4rem solid #E3DE6C;
}
.p-life-in-kagoshima-slide img {
    width: 100vw;
    height: 40vw;
}
.p-life-in-kagoshima-slide img:first-child {
    animation: loopSlide1 60s -30s linear infinite;
}

.p-life-in-kagoshima-slide img:last-child {
    animation: loopSlide2 60s linear infinite;
}
@keyframes loopSlide1 {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}
@keyframes loopSlide2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}
/* 鹿児島の魅力 */
.p-kagoshima-feature {
    background-color: #f2f2f2;
    padding-top: 26rem;
    overflow: hidden;
}
.p-kagoshima-feature#feature-food {
    padding-top: 36rem;
}
.p-feature-wrap {
    display: flex;
    flex-direction: row;
    background-color: #fff;
    position: relative;
}
.p-feature-visual {
    position: absolute;
    top: -8%;
    left: -5%;
    width: 59%;
    height: 38vw;
}
.p-feature-visual img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.p-feature-content {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    padding: 12% 5% 8% 5%;
}
.p-feature-text {
    width: 38%;
}
.p-feature-text .main h3 {
    margin-bottom: 3.2rem;
    height: calc(3rem + 2vw);
    max-height: 7rem;
}
.p-feature-text .main h3 img {
    height: 100%;
    width: auto;
}
.p-feature-text .main p {
    font-weight: bold;
    text-align: justify;
}
.p-feature-text .sub {
    margin-top: 5.6rem;
}
.p-feature-text .sub h4 {
    font-size: 2.8rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 1.8rem;
}
.p-feature-text .sub p {
    text-align: justify;
}
.p-feature-data {
    width: 54%;
    margin-top: 24vw;
}
#feature-food .p-feature-data {
    margin-top: 26.4vw;
}
.p-feature-data__wrap {
    display: flex;
    justify-content: space-between;
}
.p-feature-data .item {
    display: flex;
    flex-direction: column;
    width: 30%;
}
.p-feature-data .item .label {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 1.6rem;
}
.p-feature-data .item .data {
    display: flex;
    align-items: end;
    color: #D80C18;
    letter-spacing: 0;
}
.p-feature-data .item .data .number {
    font-family: 'Oswald', sans-serif;
    line-height: 1;
    font-size: calc(2rem + 3vw);
}
.p-feature-data .item .data .between {
    font-size: calc(1.5rem + 2vw);
    font-weight: bold;
    line-height: 1.2;
}
.p-feature-data .item .data .unit {
    font-size: calc(1rem + .8vw);
    font-weight: bold;
    line-height: 1;
    letter-spacing: .02em;
    padding-bottom: 0.2rem;
}
.p-feature-data .item .data .asterisk {
    color: #3B4043;
    font-size: 1.2rem;
    transform: translateY(-0.6rem);
}
.p-feature-data .item .data .asterisk.no-unit {
    transform: translateY(calc(-1rem - 2vw));
}
.p-feature-data .item .summary {
    font-size: 1.5rem;
    letter-spacing: .04em;
    margin-top: 1.5rem;
}
.p-feature-data .item .summary .asterisk {
    color: #3B4043;
    font-size: 1rem;
    transform: translateY(-0.4rem);
    display: inline-flex;
    margin-right: 0.4rem;
}
.p-feature-source {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 1.8;
    margin-top: 2.4rem;
}
/* 環境 X ミライ */
#feature-enviroment .p-feature-content {
    flex-direction: row;
    position: relative;
}
#feature-enviroment .p-feature-wrap::after {
    content: '';
    display: block;
    width: 16vw;
    height: 16vw;
    background: url(../img/special/life_in_kagoshima/img_allow_yellow.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: -8vw;
    left: -3vw;
    z-index: 0;
}
#feature-enviroment .p-feature-visual {
    left: initial;
    right: -5%;
    z-index: 1;
}
@media only screen and (max-width: 767px) {
    .page-life-in-kagoshima .l-main {
        margin-bottom: 12rem;
    }
    .page-life-in-kagoshima .p-top-life-in-kagoshima::before {
        background-image: url(../img/top/copy_en_life_in_kagoshima.svg);
        bottom: 2%;
        top: initial;
    }
    .p-life-in-kagoshima-intro {
        padding: 22% 0 22% 0;
        background: #F2F2F2 url(../img/top/bg_introduction.svg) no-repeat right 10% bottom 14%;
        background-size: auto 40%;
    }
    .p-life-in-kagoshima-intro h3 {
        font-size: 2.4rem;
    }
    .p-life-in-kagoshima-intro p {
        text-align: left;
    }
    .p-life-in-kagoshima-slide {
        border-bottom: 2rem solid #E3DE6C;
    }
    .p-life-in-kagoshima-slide img {
        width: 400vw;
        height: 160vw;
        max-width: initial;
    }
    .p-life-in-kagoshima-slide img:first-child {
        animation: loopSlide1 90s -45s linear infinite;
    }
    .p-life-in-kagoshima-slide img:last-child {
        animation: loopSlide2 90s linear infinite;
    }
    /* 鹿児島の魅力 */
    .p-kagoshima-feature-intro {
        width: 84%;
    }
    .p-kagoshima-feature-intro h3 {
        font-size: 2.4rem;
    }
    .p-kagoshima-feature-intro p {
        text-align: left;
    }
    .p-kagoshima-feature {
        padding-top: 10rem;
    }
    .p-kagoshima-feature#feature-food {
        padding-top: 10rem;
    }
    .p-feature-wrap {
        flex-direction: column;
    }
    .p-feature-visual {
        width: 100vw;
        height: auto;
        position: relative;
        top: initial;
        right: initial;
        left: 50%;
        right: 50%;
        margin-left: -50vw;
        margin-right: -50vw;
    }
    .p-feature-visual img {
        height: auto;
    }
    #feature-enviroment .p-feature-content,
    .p-feature-content {
        flex-direction: column;
        padding: 8rem 8% 2rem 8%;
    }
    .p-feature-text {
        width: 100%;
        padding-bottom: 6.4rem;
        margin-bottom: 2.4rem;
        border-bottom: 1px solid #707070;
    }
    .p-feature-text .main h3 {
        text-align: center;
        height: 4rem;
    }
    .p-feature-text .sub h4 {
        font-size: 2.8rem;
        text-align: center;
    }
    #feature-food .p-feature-data,
    .p-feature-data {
        margin-top: 5rem;
        width: 100%;
    }
    .p-feature-data__wrap {
        flex-direction: column;
    }
    .p-feature-data .item {
        width: 100%;
        margin-bottom: 7rem;
    }
    .p-feature-data .item .label {
        margin-bottom: 1rem;
    }
    .p-feature-data .item .data .number {
        font-size: 6.8rem;
    }
    .p-feature-data .item .data .unit {
        font-size: 2.4rem;
    }
    .p-feature-data .item .data .asterisk.no-unit {
        transform: translateY(-4.6rem);
    }
    .p-feature-source {
        font-size: 1.1rem;
        margin-top: 0;
    }
    #feature-enviroment {
        padding-top: 16rem;
    }
    #feature-enviroment .p-feature-wrap::after {
        width: 40vw;
        height: 40vw;
        top: -27vw;
        left: initial;
        right: -1rem;
    }
    #feature-enviroment .p-feature-visual {
        left: 50%;
    }
}
/*----------------------------------------
	WELFARE
----------------------------------------*/
.page-welfare {
    background-color: #F6F6F6;
}
.p-certification-section {
    padding: 6rem 0 0 0;
}
/* 外部からの評価や認定 */
.p-certification-section .p-section-head .title span {
    background-color: #F6F6F6;
}
.p-certification-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1320px;
    padding-bottom: 13rem;
}
.p-certification-list .item {
    width: 31%;
    padding: 3.125%;
    background-color: #fff;
    margin-bottom: 3.125%;
}
.p-certification-list .heading {
    position: relative;
}
.p-certification-list .heading picture {
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-certification-list .heading picture img {
    width: 76%;
}
.p-certification-list .heading picture img.on-text {
    opacity: .7;
}
.p-certification-list .heading h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
    z-index: 1;
    color: #333;
}
.p-certification-list .text {
    margin-top: 3.2rem;
    text-align: justify;
    letter-spacing: 0;
}

/* 各種制度や取り組み */
.p-attempt-section {
    margin-bottom: 14rem;
}
.p-attempt-section .inner {
    background-color: #fff;
    max-width: 1320px;
    padding: 2% 10% 10% 10%;
}
.p-attempt-list {
    max-width: 660px;
    margin-top: 2rem;
    margin-left: auto;
    margin-right: auto;
}
.p-attempt-list .item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4.4rem;
}
.p-attempt-list .item picture {
    width: 120px;
}
.p-attempt-list .item .text {
    width: calc(100% - 120px - 5rem);
}
.p-attempt-list .item .text h3 {
    font-size: 2.2rem;
    font-weight: 600;
    color: #E60012;
    margin-bottom: .8rem;
}
.p-attempt-list .item .text p {
    font-size: 1.8rem;
}
.p-attempt-navi {
    margin: 8rem 0 0 calc(120px + 5rem);
    display: flex;
    flex-direction: column;
}
.p-attempt-navi span {
    display: block;
    font-family: 'Roboto', sans-serif;
    letter-spacing: .06em;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 1rem;
}
.p-attempt-navi a {
    display: flex;
}
/* Banner Life in KAGOSHIMA */
.page-welfare .p-top-life-in-kagoshima {
    height: 30vw;
    min-height: 40rem;
    background: #F2F2F2 url(../img/welfare/bg_banner_allow.svg) no-repeat right center;
    background-size: auto 100%;
}
.page-welfare .p-top-life-in-kagoshima a {
    display: flex;
    position: relative;
    text-decoration: none;
    width: 100vw;
    overflow: hidden;
}
.page-welfare .p-top-life-in-kagoshima__visual::after {
    width: 18%;
}
.page-welfare .p-top-life-in-kagoshima__visual {
    clip-path: polygon(0 0, 100% 0, 84% 100%, 0% 100%);
}
.page-welfare .p-top-life-in-kagoshima__content {
    padding: 0 0 7vw 12vw;
}
.page-welfare .p-top-life-in-kagoshima__content .copy-main {
    width: 50%;
    max-width: 39rem;
}
.page-welfare .p-top-life-in-kagoshima__content::before {
    background: url(../img/top/bg_life_in_kagoshima.svg) no-repeat left -15vw top -15%;
    background-size: auto 200%;
    left: 0;
}
.page-welfare .p-top-life-in-kagoshima__content .summary span {
    display: inline-block;
    background-color: #fff;
    padding: 0.5rem 1rem;
    margin-bottom: 0.5rem;
    font-weight: 600;
}
.page-welfare .p-top-life-in-kagoshima__content .navi {
    display: none;
    font-family: 'Roboto', sans-serif;
    font-size: 1.6rem;
    color: #E60012;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    text-align: right;
    transform: translateX(3.4rem);
}
@media only screen and (max-width: 767px) {
    /* 外部からの評価や認定 */
    .p-certification-list {
        padding-bottom: 9rem;
    }
    .p-certification-list .item {
        width: 100%;
        padding: 3rem 3rem 4rem 3rem;
        margin-bottom: 2rem;
    }
    .p-certification-list .heading picture img {
        width: 60%;
    }
    .p-certification-list .text {
        margin-top: 1.6rem;
    }
    /* 各種制度や取り組み */
    .p-attempt-section .p-section-head {
        padding: 12rem 0 10rem 0px;
    }
    .p-attempt-section .inner {
        padding: 2% 6% 14% 6%;
    }
    .p-attempt-list .item {
        flex-direction: column;
        margin-bottom: 6rem;
    }
    .p-attempt-list .item picture {
        width: 16rem;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2rem;
    }
    .p-attempt-list .item .text {
        width: 100%;
    }
    .p-attempt-list .item .text h3 {
        font-size: 1.8rem;
        text-align: center;
        margin-bottom: 1rem;
    }
    .p-attempt-list .item .text p {
        font-size: 1.5rem;
    }
    .p-attempt-navi {
        margin: 8rem 0 0 0;
    }
    .page-welfare .p-top-life-in-kagoshima {
        height: 70rem;
        min-height: initial;
    }
    .page-welfare .p-top-life-in-kagoshima__visual {

        clip-path: polygon(100% 0, 100% 62%, 69% 100%, 0 100%, 0 0);
    }
    .page-welfare .p-top-life-in-kagoshima__visual::after {
        width: 34%;
        height: 39%;
        left: -2%;
    }
    .page-welfare .p-top-life-in-kagoshima__content {
        padding: 0 0 7vw 7vw;
    }
    .page-welfare .p-top-life-in-kagoshima__content::before {
        height: 100%;
        background: url(../img/top/bg_life_in_kagoshima.svg) no-repeat right bottom;
        background-size: auto 93%;
    }
    .page-welfare .p-top-life-in-kagoshima__content .copy-main {
        max-width: initial;
        width: 100%;
    }
    .page-welfare .p-top-life-in-kagoshima__content .summary span {
        color: #3B4043;
    }
    .page-welfare .p-top-life-in-kagoshima__content .navi {
        display: block;
    }
}