@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !root
---------------------------------------------------------- */
:root {

    /*フォント*/
    --font_default: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    --font_eng: "Montserrat", sans-serif;

    /*カラー*/
    --color_default: #000;
    --color_main: #166DD4;
    --color_accent: #4EDBC3;
    --color_base1: #FEF5E4;
    --color_base2: #E9F7F4;
    --color_base3: #EEF4FF;
    --color_button: #2680EA;
    --color_white: #fff;



}

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
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,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
    height: auto;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: var(--font_default);
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: var(--font_default);
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

.no_move {
    overflow: hidden;
}

/*** タブレット 768x ~ 1200px***/
@media screen and (min-width: 768px) and (max-width: 1280px) {
    html {
        font-size: calc(100vw / 128);
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}

body {
    font-family: var(--font_default);
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    font-weight: normal;
    color: var(--color_default);
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: var(--color_default);
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.3s;
    }

    a:hover {
        text-decoration: underline;
    }

    .hover-opacity {
        transition: opacity 0.3s ease-out;
    }

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

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}

.font-eng {
    font-family: var(--font_eng);
}

.color-blue {
    color: var(--color_button);
}

.color-green {
    color: var(--color_accent);
}


/*** 非スマホ 751px ~ ***/
@media screen and (min-width: 768px) {
    .is-sp {
        display: none;
    }
}

@media only screen and (max-width : 767px){
    .is-pc {
        display: none;
    }
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
    width: 100%;
}

/* !header
---------------------------------------------------------- */
#header {
    padding: 3.9rem 0;
    background: var(--color_white);
    width: 100%;
    position: relative;
    z-index: 999;
}

.header-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.header-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    transform: translate(-50%,-50%);
    width: 11.4rem;
}

.header-logo img {
    width: 100%;
}

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

.header-menu li {
    width: 17.1rem;
}

.header-menu li:nth-child(3) {
    margin-left: 19.4rem;
}

.header-menu li a {
    font-size: 1.2rem;
    letter-spacing: -0.001rem;
    display: block;
    text-align: center;
    line-height: 1.5;
    font-weight: bold;
}

.header-menu li a .eng {
    display: block;
    font-family: var(--font_eng);
    font-size: 2.2rem;
    letter-spacing: 0.088rem;
    font-weight: bold;
    line-height: 1.227;
}


.header-links {
    position: fixed;
    right: 2.4rem;
    top: 6.2rem;
    z-index: 999;
    width: 7.27vh; /* 画面の高さに対して比率で指定(40px / 550px) */
    max-width: 5.8rem;
    min-width: 40px;
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none;
}

.header-links.is-show {
    opacity: 1;
    pointer-events: auto;
}

.header-links .header-links__inner {
    position: relative;
    padding-top: 20.2rem;
    width: 100%;
    background: url(../img/common/scrollnav_arrow.svg) center top no-repeat;
    background-size: auto 15rem;
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none;
}

.header-links.is-show .header-links__inner.is-show {
    opacity: 1;
    pointer-events: auto;
}

.header-links ul {
    display: flex;
    justify-content: center;
    appearance: center;
    flex-direction: column;
    gap: 1.4rem;
}

.header-links a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 100%;
    background-color: var(--color_default);
    overflow: hidden;
}

.header-links img {
    width: 100%;
    max-width: none;
}

.btn-menu {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 100%;
    overflow: hidden;
    background: url(../img/common/scrollnav_menu.svg) center center no-repeat var(--color_default);
    background-size: 100% 100%;
    margin-bottom: 1.4rem;
    cursor: pointer;
    transition: all .3s;
}

.btn-menu.is-active {
    background-image: url(../img/common/scrollnav_close.svg);
}

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

    .header-links.is-show .header-links__inner {
        opacity: 1;
        pointer-events: auto;
    } 
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .header-menu li a:hover {
        color: var(--color_button);
        text-decoration: none;
    }

    .header-links a:hover,
    .btn-menu:hover {
        background-color: var(--color_main);
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #header {
        padding: 2.4rem 1.6rem;
    }

    .header-inner {
        display: block;
    }

    .header-logo {
        position: relative;
        left: 0;
        top: 0;
        transform: none;
        width: 7.1rem;
    }

    .header-menu {
        display: none;
    }


    .header-links {
        right: 1.6rem;
        top: 2.4rem;
        width: 4rem;
    }

    .header-links .header-links__inner {
        padding-top: 9.3rem;
        background-size: auto 7.646rem;
    }

    .no_move .header-links .header-links__inner {
        opacity: 1;
        pointer-events: auto;
    } 

    .header-links ul {
        gap: .8rem;
    }

    .btn-menu {
        margin-bottom: .8rem;
    }
}

/* !global navigation
---------------------------------------------------------- */
#g-navi {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 998;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
    background: url(../img/common/navi_line.svg) right bottom no-repeat #fff;
    background-size: 20rem auto;
    padding: 2.4rem 0 4.8rem;
    }

#g-navi.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#g-navi .g-navi__logo {
    width: 11.4rem;
    transform: translateX(-1.3rem);
    margin-bottom: 2.4rem;
}

#g-navi .g-navi__logo img {
    width: 100%;
}

#g-navi .g-navi__menu {
    padding-right: 6.7rem;
}

#g-navi .g-navi__menu > li {
    padding: 2.4rem 0 3.2rem;
    border-bottom: .1rem solid #707070;
}

#g-navi .g-navi__menu > li > a {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
}

#g-navi .g-navi__menu > li > a .eng {
    font-size: 2.2rem;
    line-height: 1.227;
    font-family: var(--font_eng);
    font-weight: bold;
    display: block;
    margin-bottom: .8rem;
}

#g-navi .g-navi__submenu {
    margin-top: 1.6rem;
}

#g-navi .g-navi__submenu li + li {
    margin-top: .8rem;
}

#g-navi .g-navi__submenu li a {
    font-size: 1.4rem;
    line-height: 1.5;
    color: #707070;
    font-weight: 500;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    #g-navi .g-navi__menu > li > a:hover {
        color: #166CD1;
        text-decoration: none;
    }

    #g-navi .g-navi__submenu li a:hover {
        color: #186DD4;
        text-decoration: none;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #g-navi {
        padding: 2.4rem 0 8rem;
    }

    #g-navi .g-navi__logo {
        width: 7.1rem;
        transform: translateX(0);
        margin-bottom: .8rem;
    }

    #g-navi .g-navi__menu {
        padding-right: 0;
    }

    #g-navi .g-navi__menu > li {
        padding: 1.6rem 0 2rem;
    }

    #g-navi .g-navi__menu > li > a {
        font-size: 1.2rem;
    }

    #g-navi .g-navi__menu > li > a .eng {
        font-size: 1.8rem;
        line-height: 1.22;
        margin-bottom: 0;
    }

    #g-navi .g-navi__submenu {
        margin-top: 1.2rem;
    }

    #g-navi .g-navi__submenu li + li {
        margin-top: .4rem;
    }

    #g-navi .g-navi__submenu li a {
        font-size: 1.2rem;
    }
}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
    width: 100%;
    border-bottom: .1rem solid #BAB5B5;
    padding: 3.5rem 0 1.95rem;
    background: var(--color_white);
    position: relative;
    z-index: 3;
}

#breadcrumb ul {
    font-size: 1.4rem;
    line-height: 1.5;
}

#breadcrumb ul li {
    font-size: 1.4rem;
    line-height: 1.5;
    position: relative;
    color: #444553;
    display: inline;
    font-weight: 500;
}

#breadcrumb ul li + li:before {
    width: 4.3rem;
    height: 2.1rem;
    text-align: center;
    display: inline-block;
    background: url(../img/common/icon_arrow.svg) center center no-repeat;
    background-size: .695rem auto;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    content: '';
}

#breadcrumb ul li + li {
    padding-left: 4.3rem;
}

#breadcrumb ul li a{
    olor: #444553;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #breadcrumb {
        padding: 0 0 .75rem;
    }

    #breadcrumb ul {
        font-size: 1.2rem;
    }

    #breadcrumb ul li {
        font-size: 1.2rem;
        font-weight: 400;
    }

    #breadcrumb ul li + li:before {
        width: 2.264rem;
        height: 1.8rem;
        background-size: .464rem auto;
    }

    #breadcrumb ul li + li {
        padding-left: 2.264rem;
    }
}

/* !main Visual
---------------------------------------------------------- */
#main-visual {
    width: 100%;
    position: relative;
}

#main-visual .swiper-slide {
    width: 100%;
}

#main-visual.plan01 .swiper-slide,
#main-visual.plan02 .swiper-slide {
    width: 100%;
    height: 100vh;
    min-height: 66.7rem;
    position: relative;
    text-align: center;
}

#main-visual .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main-visual.plan02 .swiper-slide img {
    width: auto;
    height: 100%;
    object-fit: cover;
}

#main-visual .swiper-fade .swiper-slide {
    -webkit-transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, transform !important;
    transition-property: opacity, transform, -webkit-transform !important;
    pointer-events: none;
}

#main-visual .swiper-pagination {
    line-height: 1;
    font-size: 1px;
    bottom: .8rem;
}

#main-visual .swiper-pagination .swiper-pagination-bullet {
    width: .8rem;
    height: .8rem;
    background: var(--color_white);
    opacity: 1;
    margin: 0 .8rem;
    line-height: 1;
}

#main-visual .swiper-pagination .swiper-pagination-bullet-active {
    background: #176cd5;
}

#main-visual .main-visual__scroll {
    position: absolute;
    right: 3rem;
    bottom: 0;
    z-index: 2;
    width: 5.3rem;
}

#main-visual.plan03 .main-visual__scroll {
    margin-bottom: max(100% * .625 - 100vh, .1rem);
}

#main-visual .main-visual__scroll img {
    width: 100%;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #main-visual .swiper-pagination {
        bottom: 1.2rem;
    }

    #main-visual.plan02 .swiper-slide img {
        width: 100%;
    }


    #main-visual .main-visual__scroll {
        right: 1rem;
        bottom: 3.6rem;
    }

    #main-visual.plan03 .main-visual__scroll {
        margin-bottom: max(100% * 2.16 - 100vh, .1rem);
    }
}

/* !teaser
---------------------------------------------------------- */
#teaser {}

/*** hover ***/
@media screen and (min-width: 960px) {}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {}

/* !contents
---------------------------------------------------------- */
#contents {}

#main {}

#side {}

.inner {
    width: 100%;
    max-width: 128rem;
    padding: 0 4.8rem;
    margin: 0 auto;
}

.fixed-bg {
    position: relative;
    z-index: 2;
}

.fixed-bg:before {
    width: 100%;
    height: calc(100vh - 20rem);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    background: var(--color_white);
    content: '';
}

.fixed-bg:after {
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -2;
    background: url(../img/common/dec_bg.svg) center center no-repeat;
    background-size: cover;
    content: '';
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .inner {
        padding: 0 1.6rem;
    }
}

/* !CTA(お問い合わせ)
---------------------------------------------------------- */
.cta-contact {
    width: 100%;
    background: url(../img/common/footer_contact_line.svg) left top no-repeat var(--color_accent);
    background-size: auto 100%;
    padding: 4rem 0;
    position: relative;
    z-index: 3;
}

.cta-contact .cta-contact__inner {
    width: 100%;
    max-width: 108.8rem;
    margin: 0 auto;
    background: #fff;
    padding: 2.5rem 2.4rem 4rem;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    text-align: center;
}

.cta-contact .heading-large {
    margin-bottom: 2.4rem;
}

.cta-contact .cta-contact__button {
    margin-top: 4.8rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .cta-contact {
        background: url(../img/common/footer_contact_line_sp.svg) left bottom no-repeat var(--color_accent);
        background-size: auto 30rem;
        padding: 1.6rem 0;
    }

    .cta-contact .cta-contact__inner {
        padding: 2.4rem;
        font-size: 1.4rem;
        line-height: 1.714;
        letter-spacing: 0.014rem;
    }

    .cta-contact .heading-large {
        margin-bottom: 3.2rem;
    }

    .cta-contact p {
        width: 100%;
        max-width: 26.8rem;
        margin: 0 auto;
    }

    .cta-contact .cta-contact__button {
        margin-top: 3.2rem;
    }
}

/* !footer
---------------------------------------------------------- */
#footer {
    background: url(../img/common/footer_line.svg) right bottom no-repeat #1A1A1A;
    background-size: 44.2rem auto;
    padding: 9.665rem 0 2.55rem;
    position: relative;
    z-index: 3;
}

#footer .inner {
    padding: 0 5rem;
}

.footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
}

.footer-logo {
    width: 27.1rem;
}

.footer-logo img {
    width: 100%;
}

.footer-menu {
    display: flex;
    align-items: flex-start;
    width: 50%;
}

.footer-menu > ul {
    width: 26rem;
    padding-right: 8rem;
}

.footer-menu > ul > li {
    border-bottom: .1rem solid #707070;
    padding-bottom: 3.2rem;
}

.footer-menu > ul > li + li {
    margin-top: 3.2rem;
}

.footer-menu > ul > li > a {
    display: block;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
    color: var(--color_white);
}

.footer-menu > ul > li > a .eng {
    font-size: 2.2rem;
    line-height: 1.227;
    font-family: var(--font_eng);
    font-weight: bold;
    display: block;
    margin-bottom: .8rem;
}

.footer-menu .footer-submenu {
    margin-top: 1.647rem;
}

.footer-menu .footer-submenu li + li {
    margin-top: 1.6rem;
}

.footer-menu .footer-submenu li a {
    font-size: 1.4rem;
    line-height: 1.5;
    color: #707070;
    font-weight: 500;
}

.footer-sns {
    margin-top: 2.6rem;
    display: flex;
    align-items: center;
    gap: 2.4rem;
}

.footer-sns li {
    width: 4.2rem;
}

.footer-sns li a {
    display: block;
    width: 100%;
    border-radius: 100%;
    overflow: hidden;
    background: var(--color_white);
}

.footer-sns img {
    width: 100%;
}

.footer-copy {
    text-align: center;
    font-size: 8.6rem;
    font-family: var(--font_eng);
    color: var(--color_white);
    font-weight: bold;
    line-height: 1.23;
    margin-top: 1.6rem;
    word-break: keep-all;
    white-space: nowrap;
    overflow: hidden;
}

.footer-copy span {
    color: #277de3;
}

.copyright {
    text-align: right;
    margin-top: .6rem;
    color: var(--color_white);
    font-size: 1.4rem;
    font-family: var(--font_eng);
    font-weight: 500;
    line-height: 1.2857;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .footer-menu > ul > li > a:hover {
        color: var(--color_button);
        text-decoration: none;
    }

    .footer-menu .footer-submenu li a:hover {
        color: #277DE3;
        text-decoration: none;
    }

    .footer-sns li a:hover {
        background: var(--color_main);
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    #footer {
        background: url(../img/common/footer_line_sp.svg) right bottom no-repeat #1A1A1A;
        background-size: auto 30.2rem;
        padding: 4rem 0 0;
    }

    #footer .inner {
        padding: 0 1.6rem;
    }

    .footer-inner {
        flex-direction: column-reverse;
        gap: 4rem;
    }

    .footer-logo {
        width: 27.7rem;
        transform: translateX(-.6rem);
    }

    .footer-menu {
        display: block;
        width: 100%;
    }

    .footer-menu > ul {
        width: 100%;
        padding-right: 0;
    }

    .footer-menu > ul + ul {
        margin-top: 2.4rem;
    }

    .footer-menu > ul > li {
        padding-bottom: 2.4rem;
    }

    .footer-menu > ul > li + li {
        margin-top: 2.4rem;
    }

    .footer-menu > ul > li > a {
        font-size: 1.2rem;
    }

    .footer-menu > ul > li > a .eng {
        font-size: 1.8rem;
        line-height: 1.22;
        margin-bottom: 0;
    }

    .footer-menu .footer-submenu {
        margin-top: .8rem;
    }

    .footer-menu .footer-submenu li + li {
        margin-top: .6rem;
    }

    .footer-menu .footer-submenu li a {
        font-size: 1.2rem
    }

    .footer-sns {
        margin-top: 5.5rem;
        gap: 1.6rem;
    }

    .footer-copy {
        text-align: left;
        font-size: 6rem;
        line-height: 1.07;
        margin-top: .4rem;
    }

    .copyright {
        text-align: left;
        margin-top: 3.8rem;
        font-size: 1.1rem;
        line-height: 1.27;
    }
}


/* !heading
---------------------------------------------------------- */
.heading-large {
    text-align: center;
    margin-bottom: 6.4rem;
}

.heading-large .heading-large__eng {
    font-family: var(--font_eng);
    font-size: 5.6rem;
    font-weight: bold;
    line-height: 1.214;
    display: block;
}

.heading-large .heading-large__eng:first-letter {
    color: var(--color_button);
}

.heading-large .heading-large__jap {
    display: block;
    font-size: 1.6rem;
    color: #6F6969;
    line-height: 1.5;
    font-weight: bold;
}

h1.heading-large {
    margin-bottom: 2rem;
}

h1.heading-large .heading-large__eng {
    font-size: 8.8rem;
    line-height: 1.2159;
}

h1.heading-large .heading-large__jap {
    font-size: 3.2rem;
    line-height: 1.2159;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .heading-large {
        margin-bottom: 3.2rem;
    }

    .heading-large .heading-large__eng {
        font-size: 2.8rem;
    }

    .heading-large .heading-large__jap {
        font-size: 1.4rem;
        margin-top: .6rem;
    }

    h1.heading-large {
        margin-bottom: 2.4rem;
    }

    h1.heading-large .heading-large__eng {
        font-size: 4rem;
        line-height: 1.225;
    }

    h1.heading-large .heading-large__jap {
        font-size: 1.5rem;
        line-height: 1.4;
    }
}


/* !links
---------------------------------------------------------- */
.btn-links {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: 1.4rem 2.4rem 1.8rem;
    background: var(--color_button);
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .026rem;
    color: #fff;
}

.btn-links:after {
    content: '';
    width: 1.7rem;
    height: 1.4rem;
    background: url(../img/common/icon_arrow_right.svg) center center no-repeat;
    background-size: 100% 100%;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .btn-links:hover {
        background: var(--color_accent);
        text-decoration: none;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .btn-links {
        padding: 1.1rem 1.6rem 1.3rem;
    }
}


/* !HOME
---------------------------------------------------------- */
.home #header {
    background: none;
    position: absolute;
    left: 0;
    top: 0;
}

.top-wrap {
    padding: 0 0 12rem;
}

.top-about {
    padding: 8rem 0 0;
}

.top-about .heading-large {
    margin-bottom: 3.2rem;
    text-align: left;
}

.top-about .about-info {
    background: url(../img/top/about_totas_dec_line.svg) right bottom no-repeat var(--color_main);
    background-size: 43.3rem auto;
    padding: 4.8rem 0;
    color: var(--color_white);
}

.top-about .about-info .about-info__head {
    margin-bottom: 3.2rem;
}

.top-about .about-info .about-info__head .about-info__head--subtitle {
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 3.2rem;
}

.top-about .about-info .about-info__head .about-info__head--title {
    font-size: 4.8rem;
    line-height: 1.3;
    font-weight: bold;
}

.top-about .about-info .about-info__body {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
}

.top-about .about-info .about-info__body p + p {
    margin-top: 3.2rem;
}

.top-about .about-info .about-info__body .about-info__body--title {
    font-size: 2.2rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 1.6rem;
}

.top-about .about-card {
    border-bottom: .1rem solid #707070;
    background: #F6F6F6;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.top-about .about-card .about-card__item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4rem 2rem 6rem;
}

.top-about .about-card .about-card__item + .about-card__item {
    border-left: .1rem solid #707070;
}

.top-about .about-card .about-card-box {
    text-align: center;
}

.top-about .about-card .about-card__image {
    margin-bottom: 2.3rem;
}

.top-about .about-card .about-card__image img {
    width: 8rem;
}

.top-about .about-card .about-card__title {
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 2.4rem;
}

.top-about .about-card .about-card__text {
    font-size: 1.6rem;
    line-height: 1.5;
    color: #191919;

}

.top-about .about-contact {
    padding: 8rem 0;
}

.top-about .about-contact .about-contact__text {
    text-align: center;
    font-size: 3.2rem;
    line-height: 2;
    font-weight: bold;
}

.top-about .about-contact .about-contact__text .under-maru {
    display: inline-block;
    position: relative;
}

.top-about .about-contact .about-contact__text .under-maru:after {
    width: .6rem;
    height: .6rem;
    border-radius: 100%;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -100%);
    z-index: 2;
    content: '';
    top: 100%;
}

.top-about .about-contact .about-contact__text .under-maru.is-blue:after {
    background: var(--color_button);
}

.top-about .about-contact .about-contact__text .under-maru.is-green:after {
    background: var(--color_accent);
}

.top-about .about-contact .about-contact__button {
    text-align: center;
    margin-top: 3.2rem;
}

.top-about .about-message {
    background: url(../img/top/section_message_dec.svg) right top no-repeat #FFF6E5;
    background-size: 34.8rem auto;
    padding: 8rem 0;
}

.top-about .about-message .about-message__area {
    display: flex;
    align-items: flex-start;
    gap: 3.2rem;
}

.top-about .about-message .about-message__image {
    min-width: 32.6rem;
    width: 32.6rem;
}

.top-about .about-message .about-message__image img {
    width: 100%;
}

.top-about .about-message .about-message__box {
    flex-grow: 1;
    font-size: 1.6rem;
    line-height: 1.5;
}

.top-about .about-message .about-message__box p + p {
    margin-top: 1.5em;
}

.top-about .about-message .about-message-title {
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 1.6rem;
    font-weight: bold;
}

.top-service {
    padding: 12.3rem 0 0;
	color: #333;
}

.top-service-list .top-service-list__item {
    width: 100%;
    position: relative;
    padding: 5.6rem 0 8rem;
}

.top-service-list .top-service-list__item:nth-child(odd){
    background: #F6F6F6;
}

.top-service-list .top-service-list__item:nth-child(even){
    background: var(--color_white);
}

.top-service-list .top-service-list-image {
    position: absolute;
    width: 53.515625%;
    height: 100%;
    top: 0;
    z-index: 1;
}

.top-service-list .top-service-list__item:nth-child(odd) .top-service-list-image {
    left: 0;
}

.top-service-list .top-service-list__item:nth-child(even) .top-service-list-image {
    right: 0;
    width: 52.109375%;
}

.top-service-list .top-service-list-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-service-list .top-service-list__item:nth-child(odd) .top-service-list-image img {
    object-position: right center;
}

.top-service-list .top-service-list__item:nth-child(even) .top-service-list-image img {
    object-position: left center;
}

.top-service-list .top-service-list__item:nth-child(1) .top-service-list-box {
    padding: 0 3.2rem 0 54.4rem;
}

.top-service-list .top-service-list__item:nth-child(2) .top-service-list-box {
    padding: 0 54.4rem 0 3.2rem;
}

.top-service-list .top-service-list__item:nth-child(3) .top-service-list-box {
    padding: 0 3.2rem 0 59.5rem;
}

.top-service .top-service-title {
    font-size: 4.8rem;
    line-height: 1.4583;
    font-weight: bold;
    margin-bottom: .8rem;
}

.top-service .top-service-subtitle {
    font-size: 1.4rem;
    line-height: 1.5;
}

.top-service .top-service-box {
    margin-top: 2.4rem;
    font-size: 1.6rem;
    line-height: 1.5;
}

.top-service-list .top-service-list__item:nth-child(1) .top-service-box p + ul,
.top-service-list .top-service-list__item:nth-child(1) .top-service-box ul + p,
.top-service-list .top-service-list__item:nth-child(1) .top-service-box p + p {
    margin-top: .8rem;
}

.top-service-list .top-service-list__item:nth-child(3) .top-service-box p + ul,
.top-service-list .top-service-list__item:nth-child(3) .top-service-box ul + p,
.top-service-list .top-service-list__item:nth-child(3) .top-service-box p + p {
    margin-top: 1.6rem;
}

.top-service .top-service-box ul {
    padding-left: 1.5rem;
}

.top-service .top-service-box ul li {
    padding-left: 1.5rem;
    position: relative;
}

.top-service .top-service-box ul li:before {
    width: .6rem;
    height: .6rem;
    border-radius: 100%;
    background: var(--color_button);
    position: absolute;
    left: 0;
    top: 1.1rem;
    z-index: 2;
    content: '';
}

.top-service .top-service-button {
    margin-top: 3.2rem;
}

.top-service .top-service-button .btn-links {
    padding: 1.1rem 2.4rem 1.4rem;
}

.top-service-list .top-service-list__item:nth-child(odd) .top-service-button {
    text-align: right;
}

.top-profile {
    padding: 12rem 0 0;
}

.top-profile .heading-large {
    text-align: left;
}

.top-profile .top-profile__area {
    background: url(../img/top/about_totas_dec_line.svg) right top no-repeat var(--color_main);
    background-size: 35rem auto;
    padding: 4rem 0 4.8rem;
}

.top-profile .top-profile__box {
    display: grid;
    grid-template-columns: 37.2rem auto;
    gap: 4rem;
    padding-right: 1.7rem;
}

.top-profile .top-profile-image img {
    width: 100%;
}

.top-profile .top-profile-box {
    background: var(--color_white);
    padding: 3.2rem;
}

.top-profile .top-profile-name {
    margin-bottom: 3.2rem;
}

.top-profile .top-profile-name .top-profile-name__post {
    font-size: 2rem;
    line-height: 1.45;
    font-weight: bold;
    display: block;
}

.top-profile .top-profile-name .top-profile-name__name {
    font-size: 3.2rem;
    line-height: 1.4375;
    font-weight: bold;
    display: block;
}

.top-profile .top-profile-name .top-profile-name__project {
    font-size: 1.4rem;
    line-height: 1.5;
    display: block;
}

.top-profile .top-profile-message {
    font-size: 1.8rem;
    line-height: 1.5;
}

.top-profile .top-profile-button {
    margin-top: 4.8rem;
    text-align: right;
}

.top-profile .top-profile-button .btn-links {
    padding: 1.1rem 2.4rem 1.4rem;
}

.top-story {
    padding: 12rem 0 0;
}

.top-story .top-story-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.8rem;
}

.top-story .top-story-list .top-story-list__item {
    background: #FFF6E5;
    padding: 4.8rem;
}

.top-story .top-story-head {
    display: flex;
    flex-direction: row-reverse;
    gap: 1rem;
}

.top-story .top-story-head .top-story-head__image {
    width: 8rem;
    min-width: 8rem;
}

.top-story .top-story-head .top-story-head__image img {
    width: 100%;
}

.top-story .top-story-head .top-story-head__box {
    flex-grow: 1;
}

.top-story .top-story-name {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 1.6rem;
}

.top-story .top-story-title {
    font-size: 2rem;
    line-height: 1.45;
    font-weight: bold;
}

.top-story .top-story-body {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.5;
}

.top-story .top-story-button {
    text-align: center;
    margin-top: 7.5rem;
}

.top-story .top-story-button .btn-links {
    padding: 1.1rem 2.4rem 1.4rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .top-wrap {
        padding: 0 0 8rem;
    }

    .top-about {
        padding: 7.8rem 0 0;
    }

    .top-about .heading-large {
        text-align: center;
    }

    .top-about .about-info {
        background-image: url(../img/top/about_totas_dec_line_sp.svg);
        background-size: 16rem auto;
        padding: 4rem 4rem 8.4rem 0;
    }

    .top-about .about-info .about-info__head {
        margin-bottom: 1.6rem;
    }

    .top-about .about-info .about-info__head .about-info__head--subtitle {
        font-size: 1.4rem;
        line-height: 1.3;
        margin-bottom: 1.6rem;
        letter-spacing: -.098rem;
    }

    .top-about .about-info .about-info__head .about-info__head--subtitle span {
        display: inline-block;
        margin-bottom: .8rem;
    }

    .top-about .about-info .about-info__head .about-info__head--title {
        font-size: 2.2rem;
        padding-right: 0;
    }

    .top-about .about-info .about-info__body {
        font-size: 1.4rem;
    }

    .top-about .about-info .about-info__body p + p {
        margin-top: 1.6rem;
    }

    .top-about .about-info .about-info__body .about-info__body--title {
        font-size: 1.4rem;
        line-height: 1.3;
    }

    .top-about .about-card {
        border-bottom: 0;
        display: block;
    }

    .top-about .about-card .about-card__item {
        padding: 4.4rem 2rem;
        width: 100%;
    }

    .top-about .about-card .about-card__item + .about-card__item {
        border-left: 0;
        border-top: .1rem solid #707070;
    }

    .top-about .about-card .about-card-box {
        text-align: center;
    }

    .top-about .about-card .about-card__image {
        margin-bottom: 2.4rem;
    }

    .top-about .about-card .about-card__title {
        font-size: 1.6rem;
    }

    .top-about .about-card .about-card__text {
        font-size: 1.4rem;

    }

    .top-about .about-contact {
        padding: 4rem 0 3.2ren;
    }

    .top-about .about-contact .about-contact__text {
        font-size: 1.6rem;
    }

    .top-about .about-contact .about-contact__text .under-maru:after {
        width: .4rem;
        height: .4rem;
    }

    .top-about .about-message {
        background: none;
        padding: 0;
    }

    .top-about .about-message .about-message__area {
        display: block;
        background: url(../img/top/section_message_dec_sp.svg) right top no-repeat #FFF6E5;
        background-size: 24.9rem auto;
        padding: 4rem 4rem 6.4rem;
    }

    .top-about .about-message .about-message__image {
        min-width: unset;
        width: 100%;
    }

    .top-about .about-message .about-message__box {
        font-size: 1.4rem;
        margin-top: 1.2rem;
    }

    .top-about .about-message .about-message-title {
        font-size: 1.8rem;
        text-align: center;
    }

    .top-service {
        padding: 8rem 0 0;
    }

    .top-service-list .top-service-list__item {
        padding: 0;
    }

    .top-service-list .top-service-list__item:nth-child(even){
        background: #F6F6F6;
    }

    .top-service-list .top-service-list-image {
        position: relative;
        width: 100%;
        height: auto;
    }

    .top-service-list .top-service-list__item:nth-child(even) .top-service-list-image {
        width: 100%;
    }

    .top-service-list .top-service-list__item:nth-child(1) .top-service-list-box,
    .top-service-list .top-service-list__item:nth-child(2) .top-service-list-box,
    .top-service-list .top-service-list__item:nth-child(3) .top-service-list-box {
        padding: 3.2rem 4rem 3.2rem 0;
    }

    .top-service .top-service-title {
        font-size: 1.8rem;
        line-height: 1.5;
        margin-bottom: .4rem;
    }

    .top-service .top-service-subtitle {
        font-size: 1.2rem;
        line-height: 1.75;
    }

    .top-service .top-service-box {
        margin-top: 1.6rem;
        font-size: 1.4rem;
    }

    .top-service-list .top-service-list__item:nth-child(3) .top-service-box p + ul,
    .top-service-list .top-service-list__item:nth-child(3) .top-service-box ul + p,
    .top-service-list .top-service-list__item:nth-child(3) .top-service-box p + p {
        margin-top: .8rem;
    }

    .top-service .top-service-box ul {
        padding-left: 2rem;
    }

    .top-service .top-service-box ul li {
        padding-left: 1.25rem;
    }

    .top-service .top-service-box ul li:before {
        width: .6rem;
        height: .6rem;
        border-radius: 100%;
        background: var(--color_button);
        position: absolute;
        left: 0;
        top: .8rem;
        z-index: 2;
        content: '';
    }

    .top-service .top-service-box ul li + li {
        margin-top: .4rem;
    }

    .top-service .top-service-button {
        width: calc(100% + 4rem);
        margin-right: -4rem;
        text-align: center;
    }

    .top-service .top-service-button .btn-links {
        padding: 1.1rem 2.4rem 1.3rem;
        width: 26rem;
    }

    .top-service-list .top-service-list__item:nth-child(odd) .top-service-button {
        text-align: center;
    }

    .top-profile {
        padding: 8rem 0 0;
    }

    .top-profile .heading-large {
        text-align: center;
    }

    .top-profile .top-profile__area {
        background: url(../img/top/profile_bg_dec_line_sp.svg) right bottom no-repeat var(--color_main);
        background-size: 24.9rem auto;
        padding: 4rem 0 8rem;
    }

    .top-profile .top-profile__box {
        display: block;
        padding-right: 0;
    }

    .top-profile .top-profile-image {
        max-width: 25.2rem;
        width: 100%;
        margin: 0 auto 4rem;
    }

    .top-profile .top-profile-box {
        padding: 2.4rem 4rem 4rem 1.6rem;
    }

    .top-profile .top-profile-name {
        margin-bottom: 1.6rem;
    }

    .top-profile .top-profile-name .top-profile-name__project {
        font-size: 1.2rem;
    }

    .top-profile .top-profile-message {
        font-size: 1.6rem;
    }

    .top-profile .top-profile-button {
        margin-top: 8rem;
        text-align: center;
        width: calc(100% + 2.4rem);
        margin-right: -2.4rem;
    }

    .top-profile .top-profile-button .btn-links {
        padding: 1.1rem 2.4rem 1.3rem;
        width: 26rem;
    }

    .top-story {
        padding: 8rem 0 0;
    }

    .top-story .top-story-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 1rem;
    }

    .top-story .top-story-list .top-story-list__item {
        padding: 4rem 0;
        text-align: center;
    }

    .top-story .top-story-head {
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 2.4rem;
        padding: 0 1.6rem;
    }

    .top-story .top-story-head .top-story-head__image {
        width: 6rem;
        min-width: 6rem;
    }

    .top-story .top-story-head .top-story-head__box {
        width: 100%;
    }

    .top-story .top-story-name {
        margin-bottom: .8rem;
    }

    .top-story .top-story-title {
        font-size: 1.8rem;
    }

    .top-story .top-story-body {
        margin-top: 2.4rem;
        font-size: 1.4rem;
        line-height: 1.714;
        padding: 0 4rem;
    }

    .top-story .top-story-body span {
        letter-spacing: -.112rem;
    }

    .top-story .top-story-button {
        margin-top: 4rem;
    }

    .top-story .top-story-button .btn-links {
        padding: 1.1rem 2.4rem 1.3rem;
        width: 26rem;
    }
}

/* !お問い合わせ
---------------------------------------------------------- */

.contact-wrap {
    padding-bottom: 10rem;
}

.contact-head {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.714;
    padding: 8rem 0;
}

.contact-body {
    width: 100%;
    max-width: 110.4rem;
    margin: 0 auto;
    box-shadow: 0 .5rem 1.2rem rgba(0, 0, 0, 0.16);
    background: url(../img/common/contact_line.svg) right bottom no-repeat var(--color_white);
    background-size: 23.3rem auto;
    padding-bottom: 15.7rem;
}

.contact-step {
    background: var(--color_base3);
    padding: 4.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 4rem;
}

.contact-step ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12rem;
    position: relative;
    z-index: 2;
}

.contact-step ul:before {
    width: 100%;
    height: .5rem;
    background: #DEDEDE;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
    content: '';
}

.contact-step ul li {
    position: relative;
    z-index: 2;
    width: 8rem;
    aspect-ratio: 1 / 1;
    min-width: 8rem;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #DEDEDE;
    border: .3rem solid #DEDEDE;
    background: var(--color_white);
}

.contact-step ul li.is-active {
    background: #0D7DF5;
    border-color: #0D7DF5;
    color: var(--color_white);
}

.contact-step ul li.is-active + li.is-active:before {
    width: 12rem;
    height: .5rem;
    content: '';
    background: #0D7DF5;
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    margin-right: .3rem;
}

.contact-form {
    width: 100%;
    max-width: 60rem;
    margin: 0 auto;
}

.contact-form span.error {
    font-size: 1.4rem;
    line-height: 1.5;
    color: #C94B4B;
    display: block;
    font-weight: 500;
    margin-top: .6rem;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 2;
    width: 100%;
}

.contact-form span.is-required {
    display: inline-flex;
    height: 2.4rem;
    align-items: center;
    padding: 0 .8rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--color_white);
    font-weight: bold;
    background: #0D7DF5;
}

.contact-form span.is-any {
    display: inline-flex;
    height: 2.4rem;
    align-items: center;
    padding: 0 .8rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--color_white);
    font-weight: bold;
    background: var(--color_accent);
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #C2C2C2;
}

.contact-form input:-ms-input-placeholder,
.contact-form textarea:-ms-input-placeholder {
  color: #C2C2C2;
}

.contact-form input::-webkit-input-placeholder,
.contact-formtextarea::-webkit-input-placeholder {
  color: #C2C2C2;
}

.contact-form input[type=text],
.contact-form input[type=tel],
.contact-form input[type=email],
.contact-form textarea {
    width: 100%;
    border: .1rem solid #E5E5E5;
    background: #F8F9FB;
    padding: 0 1.7rem;
    height: 6rem;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #1A1A1A;
    font-weight: 500;
}

.contact-form textarea {
    height: 18.2rem;
    padding: 1.7rem;
}

.contact-form input[type=text].error,
.contact-form input[type=tel].error,
.contact-form input[type=email].error,
.contact-form textarea.error {
    border-color: #C94B4B;
}

.error-message {
    text-align: center;
    margin-bottom: 4rem;
    display: none;
}

.error-message--recaptcha {
    display: block;
}

.has-error .error-message {
    display: block;
}

.error-message .error-message__text {
    display: inline-block;
    border: .2rem solid #C94B4B;
    padding: 1.2rem;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #C94A4A;
}

.contact-item {
    margin-bottom: 4rem;
}

.contact-item.name-cell {
    display: flex;
    gap: 4rem;
    align-items: flex-start;
    justify-content: center;
}

.contact-item .contact-item__cell {
    width: 100%;
}

.contact-item .contact-title {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #1A1A1A;
    margin-bottom: 1.6rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.contact-item .contact-box {
    position: relative;
}

.contact-confirm .contact-item,
.contact-item.check-cell {
    display: flex;
    align-items: flex-start;
}

.contact-confirm .contact-item .contact-title {
    min-width: 31.8rem;
}

.contact-item.check-cell .contact-title {
    min-width: 24.3rem;
}

.contact-confirm .contact-item .contact-box,
.contact-item.check-cell .contact-box {
    flex-grow: 1;
}


.radio-list {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.radio-list label {
    position: relative;
    z-index: 2;
}

.radio-list label input[type=radio] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.radio-list label input[type=radio] + span {
  padding-left: 3.4rem;
  position: relative;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 2rem;
}
.radio-list label input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  background: #F8F9FB;
  border: .1rem solid #E5E5E5;
}
.radio-list label input[type=radio] + span::after {
  opacity: 0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  background: #0D7DF5;
  clip-path: circle(25%);
}

.radio-list label input[type=radio]:checked + span::after {
  opacity: 1;
}

.checkbox-list {
    display: flex;
    align-items: flex-start;
    gap: 2.4rem;
}

.checkbox-list label {
    position: relative;
    z-index: 2;
}

.checkbox-list label input[type=checkbox] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.checkbox-list label input[type=checkbox] + span {
  padding-left: 3.6rem;
  position: relative;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 2rem;
}
.checkbox-list label input[type=checkbox] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  background: #F8F9FB;
  border: .1rem solid #E5E5E5;
}
.checkbox-list label input[type=checkbox] + span::after {
  opacity: 0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  background: url(../img/common/icon_checked.svg) center center no-repeat;
  background-size: 1rem auto;
}

.checkbox-list label input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.privacy-area {
    padding: 0 2.7rem;
    margin-bottom: 3.6rem;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #8E8A8A;
}

.privacy-area p,
.privacy-area li {
    margin-bottom: .8rem;
}

.agree-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.agree-area label {
    position: relative;
    z-index: 2;
}

.agree-area label input[type=checkbox] {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.agree-area label input[type=checkbox] + span {
  padding-left: 6.8rem;
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 2.4rem;
  font-size: 2rem;
  line-height: 2;
  font-weight: bold;
}
.agree-area label input[type=checkbox] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4rem;
  height: 4rem;
  background: #F8F9FB;
  border: .1rem solid #E5E5E5;
}
.agree-area label input[type=checkbox] + span::after {
  opacity: 0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4rem;
  height: 4rem;
  background: url(../img/common/icon_checked.svg) center center no-repeat;
  background-size: 2.245rem auto;
}

.agree-area label input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.agree-area span.error {
    margin-top: 2.8rem;
}

.submit-button {
    margin-top: 4rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.4rem;
}

.contact-confirm .submit-button {
    margin-top: 8rem;
} 

.submit-button .confirm-button,
.submit-button .send-button {
    width: 20rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: 1.4rem 2.4rem 1.8rem;
    background: var(--color_button);
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .026rem;
    color: #fff;
    position: relative;
    transition: background-color .3s;
}

.submit-button .confirm-button:before,
.submit-button .send-button:before {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .026rem;
    color: #fff;
}

.submit-button .confirm-button:before {
    content: '確認画面へ';
}

.submit-button .send-button:before {
    content: '送信する';
}

.submit-button .confirm-button input,
.submit-button .send-button input {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    cursor: pointer;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.submit-button .confirm-button:after,
.submit-button .send-button:after {
    content: '';
    width: 1.7rem;
    height: 1.4rem;
    background: url(../img/common/icon_arrow_right.svg) center center no-repeat;
    background-size: 100% 100%;
}

.submit-button .back-button {
    width: 20rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
    padding: 1.4rem 2.4rem 1.8rem;
    background: #DDEBFB;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .026rem;
    color: #fff;
    position: relative;
    transition: background-color .3s;
}

.submit-button .back-button:after {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: .026rem;
    color: var(--color_button);
    content: '入力画面へ戻る';
    transition: all .3s;
}

.submit-button .back-button input {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    cursor: pointer;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.submit-button .back-button:before {
    content: '';
    width: 1.7rem;
    height: 1.4rem;
    background: url(../img/common/icon_arrow_left_blue.svg) center center no-repeat;
    background-size: 100% 100%;
    transition: all .3s;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    .submit-button .confirm-button:hover,
    .submit-button .send-button:hover {
        background: var(--color_accent);
        text-decoration: none;
    }

    .submit-button .back-button:hover {
        background: var(--color_accent);
        text-decoration: none;
    }

    .submit-button .back-button:hover:after {
        color: var(--color_white);
    }

    .submit-button .back-button:hover:before {
        background-image: url(../img/common/icon_arrow_left.svg)
    }
}

.contact-complete {
    padding: 6.4rem 0 5.7rem;
    text-align: center;
}

.contact-complete h2 {
    padding-top: 12rem;
    background: url(../img/common/icon_checked.svg) center top no-repeat;
    background-size: 8.651rem auto;
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 1.4583;
    margin-bottom: 4rem;
    color: #1A1A1A;
}

.contact-complete p {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #1A1A1A;
}

.contact-complete .contact-complete__button {
    margin-top: 9.4rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .contact-wrap {
        padding-bottom: 8rem;
    }

    .contact-head {
        padding: 1.15rem 0 4rem;
    }

    .contact-body {
        background-size: 16.3rem auto;
        padding-bottom: 16.4rem;
    }

    .contact-step {
        padding: 3.6rem;
        margin-bottom: 2.4rem;
    }

    .contact-step ul {
        gap: 4.8rem;
    }

    .contact-step ul:before {
        height: .2rem;
    }

    .contact-step ul li {
        width: 4rem;
        min-width: 4rem;
        font-size: 1.4rem;
        border: .2rem solid #DEDEDE;
    }

    .contact-step ul li.is-active + li.is-active:before {
        width: 4.8rem;
        height: .2rem;
        margin-right: .2rem;
    }

    .contact-form {
        padding: 0 1.4rem;
    }

    .contact-form span.error {
        font-size: 1.2rem;
    }

    .contact-form span.is-required,
    .contact-form span.is-any {
        height: 2.2rem;
        font-size: 1.2rem;
    }

    .contact-form input[type=text],
    .contact-form input[type=tel],
    .contact-form input[type=email],
    .contact-form textarea {
        padding: 0 1.3rem;
        height: 4.4rem;
        font-size: 1.4rem;
    }

    .contact-form textarea {
        height: 14rem;
        padding: 1.3rem;
    }

    .error-message {
        margin-bottom: 4.5rem;
    }

    .error-message .error-message__text {
        font-size: 1.4rem;
    }

    .contact-confirm .contact-item {
        margin-bottom: 1.2rem;
    }

    .contact-item.name-cell {
        flex-direction: column;
    }

    .contact-item .contact-title {
        font-size: 1.4rem;
        margin-bottom: .8rem;
        gap: 1.4rem;
    }

    .contact-confirm .contact-item,
    .contact-item.check-cell {
        display: block;
    }

    .contact-confirm .contact-item .contact-title,
    .contact-item.check-cell .contact-title {
        min-width: unset;
    }

    .contact-item.check-cell .contact-box {
        padding-top: .8rem;
    }

    .radio-list {
        gap: 1.6rem;
        padding-left: 1.4rem;
    }

    .checkbox-list {
        padding-left: .8rem;
    }

    .privacy-area {
        padding: 0;
        margin-bottom: 2.4rem;
        font-size: 1.4rem;
        line-height: 1.5;
        color: #8E8A8A;
    }

    .privacy-area p,
    .privacy-area li {
        margin-bottom: .8rem;
    }

    .privacy-area ul {
        padding-left: 1.4rem;
    }

    .agree-area label input[type=checkbox] + span {
      padding-left: 3.6rem;
      gap: 1.4rem;
      font-size: 1.4rem;
      line-height: 1.714;
    }
    .agree-area label input[type=checkbox] + span::before {
      width: 2.4rem;
      height: 2.4rem;
    }
    .agree-area label input[type=checkbox] + span::after {
      width: 2.4rem;
      height: 2.4rem;
      background-size: 1.614rem auto;
    }

    .agree-area span.error {
        margin-top: .8rem;
    }

    .contact-confirm .submit-button {
        margin-top: 4rem;
    }

    .submit-button {
        gap: 1.6rem;
    }

    .submit-button .confirm-button,
    .submit-button .send-button,
    .submit-button .back-button {
        width: 26rem;
        padding: 1.1rem 2.4rem 1.3rem;
    }

    .contact-complete {
        padding: 3.2rem 0 0;
    }

    .contact-complete h2 {
        padding-top: 8rem;
        background-size: 5.314rem auto;
        font-size: 3.2rem;
        line-height: 1.4375;
        margin-bottom: 1.6rem;
    }

    .contact-complete p {
        font-size: 1.4rem;
        line-height: 1.714;
    }

    .contact-complete .contact-complete__button {
        margin-top: 4rem;
    }

    .contact-complete .contact-complete__button .btn-links {
        width: 26rem;
    }

}


/* !ストーリー
---------------------------------------------------------- */
.story-main {
    padding-bottom: 10rem;
}

.story-main .story-main__head {
    padding: 8rem 0;
    background: url(../img/common/bg_teaser_line.svg) right top no-repeat #fff;
    background-size: 43.3rem auto;
}

.story-main .story-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.story-main .story-head .story-head__box {
    width: calc(50% - 1.2rem);
}

.story-main .story-head .story-head__image {
    width: calc(50% + 1.2rem);
}

.story-main .story-head .story-head__image img {
    width: 100%;
}

.story-main .story-head .heading-large {
    text-align: left;
    margin-bottom: 3.3rem;
}

.story-main .story-main-title {
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 1.6rem;
}

.story-main .story-main-text {
    font-size: 1.8rem;
    line-height: 1.55;
    font-weight: 500;
}

.story-main .story-main__body {
    position: relative;
    padding: 24rem 0;
}

.story-main .story-main__body:before,
.story-main .story-main__body:after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 5.2rem;
    background-image: url(../img/common/bg_dec_line.png);
    background-color: var(--color_white);
    background-size: 45.15625% 5.2rem;
    background-repeat: no-repeat;
    content: '';
}

.story-main .story-main__body:before {
    top: 0;
    background-position: left top;
}

.story-main .story-main__body:after {
    top: 100%;
    background-position: right top;
    height: 15.2rem;
    transform: translateY(-5.2rem);
}

.story-profile .story-profile__item {
    display: grid;
    grid-template-columns: 37.4rem auto;
    gap: 4rem;
    padding-left: 4.3rem;
}

.story-profile .story-profile__item + .story-profile__item {
    margin-top: 4rem;
}

.story-profile .story-profile-image img {
    width: 100%;
}

.story-profile .story-profile-box {
    border: .5rem solid #231816;
    background: #fff;
    padding: 4.3rem;
}

.story-profile .story-profile__name {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: .6rem;
}

.story-profile .story-profile__name.is-blue {
    color: var(--color_button);
}

.story-profile .story-profile__name.is-green {
    color: var(--color_accent);
}

.story-profile .story-profile__title {
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 2.8rem;
}

.story-profile .story-profile__text {
    font-size: 1.6rem;
    line-height: 1.75;
    font-weight: 500;
    color: #3E2D2D;
}

.story-profile .story-profile__button {
    margin-top: 4rem;
}

.story-profile .story-profile__button .btn-links {
    padding: 1.1rem 2.5rem 1.3rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .story-main {
        padding-bottom: 8rem;
    }

    .story-main .story-main__head {
        padding: 1.15rem 0 4.3rem;
        background-size: 15.1rem auto;
    }

    .story-main .story-head .story-head__box {
        width: 100%;
    }

    .story-main .story-head .story-head__image {
        width: 100%;
        margin-bottom: 2.4rem;
    }

    .story-main .story-main-title {
        font-size: 1.8rem;
        line-height: 1.55;
    }

    .story-main .story-main-text {
        font-size: 1.4rem;
        line-height: 1.714;
    }

    .story-main .story-main__body {
        padding: 11.2rem 0;
    }

    .story-main .story-main__body:before,
    .story-main .story-main__body:after {
        height: 3.2rem;
        background-size: 62.93% 3.2rem;
    }

    .story-main .story-main__body:after {
        height: 11.2rem;
        transform: translateY(-3.2rem);
    }

    .story-profile .story-profile__item {
        display: block;
        padding-left: 0;
    }

    .story-profile .story-profile__item + .story-profile__item {
        margin-top: 5.2rem;
    }

    .story-profile .story-profile-box {
        padding: 1.9rem;
    }

    .story-profile .story-profile__name {
        font-size: 1.2rem;
        margin-bottom: .8rem;
    }

    .story-profile .story-profile__title {
        font-size: 2.4rem;
        margin-bottom: 2rem;
    }

    .story-profile .story-profile__text {
        font-size: 1.4rem;
        line-height: 1.714;
    }

    .story-profile .story-profile__button {
        margin-top: 3.2rem;
    }

    .story-profile .story-profile__button .btn-links {
        width: 100%;
    }
}

.story-detail:before {
    display: none;
}

.story-detail .story-detail__head {
    padding: 8rem 0 0;
    background: url(../img/common/bg_teaser_line.svg) right top no-repeat #fff;
    background-size: 43.3rem 100%;
    position: relative;
    z-index: 2;
}

.story-detail .heading-large {
    text-align: left;
}

.story-detail .story-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.story-detail .story-head .story-head__box {
    width: 50%;
    padding-left: 6rem;
}

.story-detail .story-head .story-head__image {
    width: 50%;
    padding: 0 0 5.2rem 18.8rem;
    position: relative;
}

.story-detail .story-head .story-head__image:before {
    position: absolute;
    width: 100vw;
    height: 5.2rem;
    content: '';
    right: 0;
    bottom: 0;
    z-index: 2;
    background: url(../img/common/bg_dec_line.png) right center no-repeat;
    background-size: 100% 100%;
}

.story-detail .story-detail-image {
    width: 32.3rem;
    aspect-ratio: 1 / 1;
    position: relative;
}

.story-detail .story-head .story-head__image img {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
}

#athletics .story-detail .story-head .story-head__image img {
    width: 40.1rem;
    max-width: unset;
}

.story-detail .story-detail-title {
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 3rem;
}

.story-detail .story-detail-text {
    font-size: 1.6rem;
    line-height: 1.75;
    font-weight: 500;
}

.story-detail .story-detail-text  p + p {
    margin-top: .8rem;
}

.story-detail .story-detail__body {
    padding: 12rem 0 10rem;
}

.story-detail .story-detail-heading {
    text-align: center;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: .8rem;
}

.story-detail .story-detail-scene {
    width: 100%;
    max-width: 74.5rem;
    margin: 0 auto;
}

.story-detail .story-detail-scene picture {
    display: block;
}

.story-detail .story-detail-scene picture + picture {
    margin-top: 5rem;
}

.story-detail .story-detail-scene img {
    width: 100%;
}

.story-detail .story-detail-button {
    margin-top: 13.2rem;
    text-align: center;
}

.story-detail .story-detail-button .btn-links {
    padding: 1.1rem 2.4rem 1.3rem;
}

.story-detail .story-detail-banner {
    position: fixed;
    left: 6rem;
    bottom: 6rem;
    width: 21.2rem;
    z-index: 1;
    display: none;
}

.story-detail .story-detail-banner img {
    width: 100%;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .story-detail .story-detail__head {
        padding: 1.15rem 0 0;
        background-size: 15.1rem auto;
    }

    .story-detail .heading-large {
        margin-bottom: 1.4rem;
    }

    .story-detail .story-head {
        display: block;
    }

    .story-detail .story-head .story-head__box {
        width: 100%;
        padding: 0 0 3.2rem;
    }

    #athletics .story-detail .story-head .story-head__image {
        margin-top: -2.2rem;
    }

    .story-detail .story-head .story-head__image {
        width: calc(100% + 3.2rem);
        padding: 0 0 3.2rem;
        margin: 0 -1.6rem 2.4rem;
    }

    .story-detail .story-head .story-head__image:before {
        height: 3.2rem;
        right: 25%;
    }

    #athletics .story-detail .story-head .story-head__image:before {
        right: 15%;
    }

    #athletics .story-detail .story-head .story-head__image img {
        width: 100%;
        max-width: 100%;
    }

    .story-detail .story-detail-image {
        width: 28rem;
        margin: 0 auto;
    }

    #athletics .story-detail .story-detail-image {
        width: 29.4rem;
    }

    .story-detail .story-detail-title {
        font-size: 2.4rem;
        margin-bottom: 2.4rem;
    }

    .story-detail .story-detail-text {
        font-size: 1.4rem;
        line-height: 2;
        letter-spacing: -.084rem;
    }

    .story-detail .story-detail__body {
        padding: 6.4rem 0 8rem;
        position: relative;
    }

    .story-detail .story-detail__body:before {
        position: absolute;
        width: 75%;
        height: 3.2rem;
        content: '';
        right: 0;
        top: 0;
        z-index: 2;
        background: url(../img/common/bg_dec_line.png) right center no-repeat;
        background-size: 100% 100%;
    }

    .story-detail .story-detail-heading {
        font-size: 1.8rem;
        line-height: 1.55;
        margin-bottom: 3.2rem;
    }

    .story-detail .story-detail-scene picture + picture {
        margin-top: 2.5rem;
    }

    .story-detail .story-detail-button {
        margin-top: 8rem;
    }

    .story-detail .story-detail-button .btn-links {
        width: 26rem;
    }

    .story-detail .story-detail-banner {
        display: none !important;
    }
}


/* !404 NOT FOUND
---------------------------------------------------------- */
.notfound-wrap {
    padding: 8.4rem 0 10rem;
}

.notfound-box {
    max-width: 84rem;
    width: 100%;
    margin: 100px auto 0;
}

.notfound-image img {
    width: 100%;
}

.notfound-title {
    text-align: center;
    font-size: 4.8rem;
    font-family: var(--font_eng);
    font-weight: bold;
    line-height: 1.208;
    margin-top: -1.7rem;
    margin-bottom: .8rem;
    color: #0A2176;
}

.notfound-text {
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    color: #0A2176;
    text-align: center;
}

.notfound-button {
    margin-top: 4.6rem;
    text-align: center;
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .notfound-wrap {
        padding: 3.4rem 0 6rem;
    }

    .notfound-title {
        font-size: 3.2rem;
        line-height: 1.21875;
        margin-top: -2.025rem;
        margin-bottom: 1.6rem;
    }

    .notfound-text {
        font-size: 1.4rem;
        line-height: 1.714;
    }

    .notfound-button {
        margin-top: 4rem;
    }

    .notfound-button .btn-links {
        width: 26rem;
    }
}



/* !自己紹介
---------------------------------------------------------- */
.profile-main {
    padding: 8rem 0 0;
    background: url(../img/common/bg_teaser_line.svg) right top no-repeat #fff;
    background-size: 43.3rem 100%;
    position: relative;
    z-index: 2;
}

.profile-main .heading-large {
    text-align: left;
    margin-bottom: 0;
}

.profile-main .profile-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.profile-main .profile-head .profile-head__box {
    width: 50%;
    padding: 2.5rem 0 0 7rem;
}

.profile-main .profile-head .profile-head__image {
    width: 48.817%;
    padding: 0 0 5.2rem 10.4rem;
    position: relative;
}

.profile-main .profile-head .profile-head__image:before {
    position: absolute;
    width: 100vw;
    height: 5.2rem;
    content: '';
    right: 0;
    bottom: 0;
    z-index: 2;
    background: url(../img/common/bg_dec_line.png) right center no-repeat;
    background-size: 100% 100%;
}

.profile-main .profile-main-image {
    width: 36.5rem;
    aspect-ratio: 1 / 1;
    position: relative;
}

.profile-main .profile-head .profile-head__image img {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
}

.profile-main .profile-main-name {
    margin-bottom: 2.4rem;
}

.profile-main .profile-main-name .profile-main-name__post {
    font-size: 2rem;
    line-height: 1.45;
    font-weight: bold;
    display: block;
}

.profile-main .profile-main-name .profile-main-name__name {
    font-size: 4.8rem;
    line-height: 1.4583;
    font-weight: bold;
    display: block;
    margin-bottom: 2.4rem;
}

.profile-main .profile-main-name .profile-main-name__project {
    font-size: 1.4rem;
    line-height: 1.5;
    display: block;
    max-width: 34rem;
}

.profile-main .profile-main-message {
    font-size: 1.8rem;
    line-height: 1.5;
}

.profile-main .profile-main-message  p + p {
    margin-top: 1.6rem;
}

.profile-heading {
    margin-bottom: 12rem;
}

.profile-heading .profile-heading__eng {
    font-family: var(--font_eng);
    font-weight: 400;
    display: block;
    font-size: 4.8rem;
    line-height: 1.2083;
    margin-bottom: .4rem;
    color: #333333;
}

.profile-heading .profile-heading__jap {
    display: inline-block;
    padding: .8rem 1.6rem;
    background: #FFF6E5;
    font-size: 1.6rem;
    line-height: 1.5;
    color: #333333;
    font-weight: 400;
}

.profile-item-sec01 {
    padding: 7.2rem 0 0;
}

.profile-item-sec01 .profile-area {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 6.2rem;
}

.profile-item-sec01 .profile-area .profile-area__image {
    min-width: 37.416%;
}

.profile-item-sec01 .profile-area .profile-area__box {
    flex-grow: 1;
    width: 100%;
    padding-bottom: 7rem;
    font-size: 1.8rem;
    line-height: 1.55;
}

.profile-item-sec01 .profile-area .profile-area__box p + p {
    margin-top: 3.2rem;
}

.profile-item-sec02 {
    padding: 12rem 0 0;
}

.profile-strengths .profile-strengths__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem;
    width: 100%;
    max-width: 94.6rem;
    margin: 0 auto 6.4rem;
}

.profile-strengths .profile-strengths__list li {
    text-align: center;
}

.profile-strengths .profile-strengths-nun {
    font-size: 4.8rem;
    line-height: 1.4583;
    font-weight: 400;
    margin-bottom: 2.4rem;
}

.profile-strengths .profile-strengths-title {
    font-size: 2.4rem;
    line-height: 1.833;
    font-weight: bold;
}

.profile-strengths .profile-strengths__image {
    max-width: 106rem;
    width: 100%;
    margin: 0 auto 2.6rem;
}

.profile-strengths .profile-strengths__box {
    max-width: 75.3rem;
    width: 100%;
    margin: 0 auto;
    font-size: 1.6rem;
    line-height: 2;
}

.profile-strengths .profile-strengths__box p + p {
    margin-top: 2.4rem;
}

.profile-item-sec03 {
    width: 100%;
    padding: 10.4rem 0 13.5rem;
    background: url(../img/profile/img_line03_pc.svg) right bottom no-repeat;
    background-size: 91.1rem auto;
}

.profile-reasons {
    padding: 0 0 0 4.2rem;
    width: 100%;
    max-width: 75rem;
    font-size: 1.6rem;
    line-height: 2;
}

.profile-reasons .profile-reasons__text {
    margin-bottom: 8rem;
}

.profile-reasons .profile-reasons__text p + p {
    margin-top: 1.6rem;
}

.profile-sign {
    text-align: right;
    padding-right: 10rem;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
}

.profile-sign .profile-sign__name {
    font-size: 2.4rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    .profile-main {
        padding: 1.15rem 0 0;
        background-size: 15.1rem auto;
    }

    .profile-main .heading-large {
        margin-bottom: 1rem;
    }

    .profile-main .profile-head {
        display: block;
    }

    .profile-main .profile-head .profile-head__box {
        width: 100%;
        padding: 2.4rem 3.7rem 0 0;
    }

    .profile-main .profile-head .profile-head__image {
        width: 100%;
        padding: 0 1.6rem;
    }

    .profile-main .profile-head .profile-head__image:before {
        display: none;
    }

    .profile-main .profile-main-image {
        width: 100%;
    }

    .profile-main .profile-head .profile-head__image img {
        position: relative;
    }

    .profile-main .profile-main-name {
        margin-bottom: 1.6rem;
    }

    .profile-main .profile-main-name .profile-main-name__post {
        font-size: 1.6rem;
        line-height: 1.5;
        margin-bottom: .4rem;
    }

    .profile-main .profile-main-name .profile-main-name__name {
        font-size: 3.2rem;
        margin-bottom: .8rem;
    }

    .profile-main .profile-main-name .profile-main-name__project {
        font-size: 1.2rem;
        max-width: 29.2rem;
    }

    .profile-main .profile-main-message {
        font-size: 1.4rem;
        line-height: 1.714;
    }

    .profile-heading {
        margin-bottom: 4rem;
        padding-right: 4rem;
    }

    .profile-heading .profile-heading__eng {
        font-size: 3.2rem;
        line-height: 1.25;
    }

    .profile-heading .profile-heading__jap {
        padding: .4rem .8rem;
        font-size: 1.2rem;
    }

    .profile-item-sec01 {
        padding: 8rem 0 0;
    }

    .profile-item-sec01 .profile-area {
        display: block;
    }

    .profile-item-sec01 .profile-area .profile-area__image {
        min-width: 0;
        width: 100%;
        max-width: 26.555rem;
    }

    .profile-item-sec01 .profile-area .profile-area__box {
        margin-top: 4rem;
        padding: 0 4rem 0 1.8rem;
        font-size: 1.4rem;
        line-height: 1.857;
    }

    .profile-item-sec01 .profile-area .profile-area__box p + p {
        margin-top: 2.4rem;
    }

    .profile-item-sec02 {
        padding: 4.8rem 0 0;
    }

    .profile-strengths .profile-strengths__list {
        grid-template-columns: repeat(1, 1fr);
        gap: 4rem;
        margin-bottom: 1.6rem;
    }

    .profile-strengths .profile-strengths-nun {
        font-size: 3.2rem;
        line-height: 1.4375;
    }

    .profile-strengths .profile-strengths-title {
        font-size: 1.8rem;
        line-height: 1.55;
    }

    .profile-strengths .profile-strengths__image {
        max-width: 32.5rem;
        margin-bottom: 1.6rem;
    }

    .profile-strengths .profile-strengths__box {
        padding: 0 4rem;
        font-size: 1.4rem;
        line-height: 1.857;
    }

    .profile-item-sec03 {
        padding: 4.8rem 0 15rem;
        background: url(../img/profile/img_line03_sp.svg) right bottom no-repeat;
        background-size: 27.3rem auto;
    }

    .profile-reasons {
        padding: 0 4.3rem 0 1.9rem;
        max-width: 100%;
        font-size: 1.4rem;
        line-height: 1.857;
    }

    .profile-reasons .profile-reasons__text {
        margin-bottom: 2.4rem;
    }

    .profile-reasons .profile-reasons__text p + p {
        margin-top: 2.4rem;
    }

    .profile-sign {
        margin-top: 8rem;
        padding-right: 5.6rem;
    }
}



/* !20260305 service
---------------------------------------------------------- */
.fw-bold {
	font-weight: 700;
}

.service-wrap.top-service {
	padding: 0;
}

.service-top__display {
	padding: 6.4rem 0 8rem;
	background: url(../img/common/bg_teaser_line.svg)no-repeat right top;
	background-size: 43.3rem;
}
.service-top__display .heading-large {
	position: relative;
	z-index: 2;
	margin-bottom: -14.6rem;
	text-align: left;
}
.service-top__display .display {
	display: flex;
	justify-content: space-between;
}
.service-top__display .display .info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 5rem 0;
	position: relative;
	padding: 18rem 0 0;
	width: 50%;
	line-height: 1.625;
	font-weight: 500;
}

.service-top__display .display .img {
	width: 45%;
}
.service-top__display .display .img img {
	width: 100%;
}
.service-imgs__swiper {
	position: relative;
	overflow: hidden;
	width: 100%;
}
.service-imgs__swiper .swiper-pagination .swiper-pagination-bullet {
	opacity: 1;
	margin: 0 .8rem;
	background: #fff;
}
.service-imgs__swiper .swiper-pagination .swiper-pagination-bullet-active {
	background: #176cd5;
}

.service-page__anchors {
	display: flex;
	gap: 0 3.2rem;
}
.service-page__anchors .btn-links {
	padding: 1.2rem 2.4rem;
}

.service-growth {
	padding: 8rem 0;
	background: url(../img/common/bg_teaser_line2.svg)no-repeat right bottom #FFF6E5;
	background-size: 41.1rem;
}
.service-growth .top-service-title {
	margin-bottom: 8rem;
}

.service-recommend-players {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5rem;
}
.service-recommend-players li {
	padding: 12.4rem 3.2rem 5.8rem;
	background: no-repeat 3.2rem 3.2rem #fff;
	background-size: 6rem;
	border-radius: 2rem;
	border: 1px solid #707070;
	line-height: 1.625;
}
.service-recommend-players .icon-player01 {
	background-image: url(../img/service/icon_growth01.svg);
}
.service-recommend-players .icon-player02 {
	background-image: url(../img/service/icon_growth02.svg);
}
.service-recommend-players .icon-player03 {
	background-image: url(../img/service/icon_growth03.svg);
}
.service-recommend-players .icon-player04 {
	background-image: url(../img/service/icon_growth04.svg);
}

.service-growth .display {
	display: flex;
	justify-content: space-between;
	margin-top: 8rem;
}
.service-growth .display .info {
	width: calc(50% + 1.6rem);
}
.service-growth .display .img {
	width: calc(50% - 13.2rem);
}
.service-growth .display .head {
	margin-bottom: 1.6rem;
	line-height: 1.4;
	font-size: 3.2rem;
	font-weight: 500;
}
.service-growth .display .text p {
	margin-bottom: 1.4rem;
	line-height: 1.875;
	font-weight: 500;
}
.service-growth .display .btn {
	margin-top: 3.2rem;
}
.service-athletes .top-service-title {
    margin-bottom: 4.8rem;
}

.service-retirement {
	position: relative;
	padding: 13rem 0 18.5rem;
	background: url(../img/service/bg_line.png) no-repeat right 13rem;
	background-size: 37.6rem calc(100% - 35rem);
}
.service-retirement .top-service-title {
	margin-bottom: 4.8rem;
}
.service-retirement__display {
	display: flex;
    justify-content: space-between;
}
.service-retirement__display .sideimg {
	width: calc(25% + 1.2rem);
}
.service-retirement__display .sideinfo {
	width: calc(75% - 5.2rem);
}
.service-retirement__display .service-retirement__points {
	padding: 1.8rem 0;
	background: #fff;
}
.service-retirement__points li {
	position: relative;
	padding: 1rem 5rem 1rem 0;
	max-width: 80.4rem;
	border-bottom: 1px solid #707070;
	font-weight: 700;
}
.service-retirement__points li + li {
	margin-top: 3.3rem;
}
.service-retirement__points li .step {
    position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	text-align: center;
	font-size: 3.2rem;
}
.service-retirement .display {
	display: flex;
	justify-content: space-between;
	margin-top: 2.7rem;
}
.service-retirement .display .info {
	width: 36.8rem;
}
.service-retirement .display .img {
	position: relative;
	width: 37.6rem;
}
.service-retirement .display .tit {
	margin-bottom: 3rem;
	line-height: 1.875;
	font-weight: 700;
}
.service-retirement__display .btn {
	margin-top: 4rem;
}

.service-turning {
	padding: 8rem 0;
	background: #EEF4FF;
}
.service-turning .top-service-title {
	margin-bottom: 3.2rem;
}
.service-turning .display {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.service-turning .display .img {
	position: relative;
	width: calc(50% - 10rem);
}
.service-turning .display .img:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 50%;
	background: url(../img/service/bg_imgline.svg)no-repeat bottom;
	background-size: 101%;
}
.service-turning .display .info {
	width: calc(55% + 0.2rem);
}
.service-turning__points {
	padding: 3.2rem 3.5rem;
	background: #277DE3;
	color: #fff;
	font-weight: 700;
}
.service-turning__points li {
	position: relative;
	padding-left: 2.8rem;
}
.service-turning__points li + li {
	margin-top: 3.2rem;
}
.service-turning__points li:before {
	content: "";
    position: absolute;
	left: 0;
	top: 0.9rem;
	width: 0.8rem;
	height: 0.8rem;
	background: #fff;
	border-radius: 50%;
}
.service-turning .info-txt {
	margin-top: 3.6rem;
	padding: 3.2rem;
	background: #fff;
}
.service-turning .info-txt p {
	margin-bottom: 0.8rem;
	line-height: 1.625;
	font-weight: 500;
}
.service-turning .info-txt .head {
	white-space: nowrap;
	word-wrap: break-word;
	word-break:break-all;
	font-size: 2.4rem;
	font-weight: 700;
}
.service-turning .info-txt .btn {
	margin-top: 4rem;
	text-align: right;
}

.service-flow {
	padding: 12rem 0;
}
.service-flow .heading-large {
	text-align: left;
}
.service-flow .heading-large .heading-large__eng {
	color: #000;
	font-size: 6.4rem;
}
.service-flow .heading-large .heading-large__jap {
	margin-top: 0;
	color: #000;
	font-size: 3.2rem;
}
.flow-points ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6.4rem 6.6rem;
}
.flow-points li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 2.4rem 2.4rem 2.4rem 14.4rem;
	width: 100%;
}
.flow-points li:nth-child(1) {
	background: #EEF4FF;
}
.flow-points li:nth-child(2) {
	background: #DCE8FF;
}
.flow-points li:nth-child(3) {
	background: #F3F5F8;
}
.flow-points li:nth-child(4) {
	background: #E9F7F5;
}
.flow-points li:nth-child(5) {
	background: #F7F3EC;
}
.flow-points li:nth-last-child(1),
.flow-points li:nth-last-child(2) {
	justify-content: center;
	padding: 2.4rem;
	width: calc(50% - 3.3rem);
	min-height: 10.5rem;
	background: #FFF6E5;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
}
.flow-points li:nth-last-child(1) {
	color: #989494;
}
.flow-points li:nth-last-child(2) {
	color: #277DE3;
}
.flow-points li + li:before {
	content: "";
    position: absolute;
	left: 0;
	top: -4.4rem;
	width: 100%;
	height: 2.4rem;
	background: url(../img/service/icon_arr_down_blue.png)no-repeat center;
	background-size: 3rem;
}
.flow-points li:nth-of-type(odd):before {
	background-image: url(../img/service/icon_arr_down_gre.png);
}
.flow-points li:nth-last-child(1):before {
	background-position: 5.2rem 50%;
    background-image: url(../img/service/icon_arr_down_gray.png);
}
.flow-points li:nth-last-child(2):before {
	background-position: calc(100% - 5.2rem) 50%;
}
.flow-points li:after {
	content: "";
    position: absolute;
	left: 2.4rem;
	top: 50%;
	transform: translateY(-50%);
	width: 4rem;
	height: 4rem;
	background: #fff;
	border-radius: 50%;
}
.flow-points li .tit {
	display: flex;
	align-items: center;
	gap: 0 2.4rem;
	font-weight: 500;
	font-size: 1.8rem;
}
.flow-points li .step {
	color: #277DE3;
	font-size: 3.2rem;
	font-weight: 700;
}
.flow-points li:nth-of-type(even) .step {
	color: #4EDBC3;
}
.flow-points .tags {
	display: flex;
	gap: 1rem 2.4rem;
}
.flow-points .tags span {
	padding: 0.8rem;
	min-width: 8.8rem;
	text-align: center;
	line-height: 1.25;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
}
.flow-points .tags .faceto {
	background: #277DE3;
}
.flow-points .tags .online {
	background: #4EDBC3;
}
.flow-points .notes {
	margin-top: 1.6rem;
	line-height: 1.75;
	text-align: right;
	color: #605E5E;
	font-size: 1.2rem;
	font-weight: 500;
}

/* service growth */
#service-growth {
}

.heading-large__jap2 {
	display: block;
	margin-top: 0.8rem;
	font-weight: 500;
	font-size: 1.4rem;
}

.service-top__display .service-about__support {
	margin: 3.2rem 0 2.4rem;
}
.service-about__support .head {
	margin-bottom: 1.6rem;
	font-size: 2.4rem;
	font-weight: 700;
}
.service-about__support .checks li {
	padding-left: 5rem;
	background: url(../img/service/icon_arr_circle_blue.svg)no-repeat left 1.6rem top 0.6rem;
	background-size: 2.4rem;
	line-height: 2.25;
	font-weight: 700;
}

.service-goal-effect {
	padding: 8rem 0;
    overflow: hidden;
}
.service-goal-effect .display {
	display: flex;
	justify-content: space-between;
	gap: 0 5rem;
}
.service-goal-effect .display + .display {
	margin-top: 4rem;
}
.service-goal-effect .display.reverse {
	flex-direction: row-reverse;
}
.service-goal-effect .display .img {
	width: 48.7rem;
}
.service-goal-effect .display .img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.service-goal-effect .display .info {
	width: 55%;
	line-height: 1.71;
	font-size: 1.4rem;
    position: relative;
}
.service-goal-effect .display .first:after {
    width: 100vw;
    height: 5.2rem;
	background: url(../img/service/growth/bg_line2.png)repeat-x left bottom;
	background-size: auto 5.2rem;
    content: '';
    position: absolute;
    left: 10.5rem;
    bottom: 0;
    z-index: 2;
}
.service-goal-effect .display .bgbox {
	padding: 3.2rem;
	background: #EEF4FF;
}
.service-goal-effect .display .bgbox2 {
	background: #DCE8FF;
}
.service-goal-effect .display .head {
	margin-bottom: 2.4rem;
	line-height: 1.6667;
	font-size: 2.4rem;
	font-weight: 500;
}
.service-goal-effect .display .points li {
	position: relative;
	padding-left: 3.6rem;
	letter-spacing: -0.04em;
	font-weight: 500;
}
.service-goal-effect .display .points li + li {
	margin-top: 1.6rem;
}
.service-goal-effect .display .points li:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0.7rem;
	width: 1.6rem;
	height: 1.6rem;
	background: #fff;
	border-radius: 50%;
}
.service-goal-effect .display .points li .note {
	margin-left: 4.4rem;
	font-weight: 400;
	font-size: 1.2rem;
}

.service-goal-effect__box {
	margin-top: 4.8rem;
	padding: 3.2rem 4.8rem;
	background: url(../img/service/growth/bg_line.svg) no-repeat left top #277DE3;
	background-size: 24.3rem;
}
.service-goal-effect__box .box {
	padding: 2.4rem;
	background: #fff;
	text-align: center;
	line-height: 1.625;
	font-weight: 500;
}
.service-goal-effect__box .head {
	margin-bottom: 2.4rem;
	text-align: center;
	line-height: 1.5;
	font-size: 2.4rem;
}

.service-coaching-flow .top-service-title {
	margin-bottom: 5rem;
}
.service-coaching-flow .flow-data ul {
	display: flex;
	justify-content: center;
	gap: 0 5.4rem;
	position: relative;
	margin-bottom: -12.5rem;
	text-align: center;
}
.service-coaching-flow .flow-data li {
	width: 23rem;
}
.service-coaching-flow .flow-data li:nth-child(1) {
	margin-top: 12rem;
}
.service-coaching-flow .flow-data li:nth-child(2) {
	margin-top: 6rem;
}
.service-coaching-flow .flow-data .step {
	margin-bottom: 0.5rem;
	color: #277DE3;
	font-weight: 700;
	font-size: 4.8rem;
}
.service-coaching-flow .flow-data .introd {
	padding: 2.8rem 1.6rem;
	border: 2px solid;
	font-weight: 500;
}
.service-coaching-flow .flow-data li:nth-child(1) .introd {
	border-color: #54DBC3;
}
.service-coaching-flow .flow-data li:nth-child(2) .introd {
	border-color: #FEB100;
}
.service-coaching-flow .flow-data li:nth-child(3) .introd {
	border-color: #277DE3;
}
.service-coaching-flow .flow-data .tit {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 2rem;
}
.service-coaching-flow .end {
	margin-top: 6.4rem;
	text-align: center;
	line-height: 2;
	font-size: 2.4rem;
	font-weight: 700;
}
.service-coaching-flow .end:before {
	content: "●";
	display: inline-block;
	vertical-align: middle;
	margin: -0.5rem 1rem 0 0;
	color: #277DE3;
	font-size: 1.6rem;
}

.service-growth-future {
	padding: 12rem 0;
}
.service-growth-future .top-service-title {
	margin-bottom: 4rem;
}
.service-growth-future .display {
	display: flex;
	justify-content: space-between;
}
.service-growth-future .display + .display {
	margin-top: 4.8rem;
}
.service-growth-future .display .img {
	position: relative;
	width: calc(50% - 4.3rem);
}
.service-growth-future .display .img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.service-growth-future .display .img:before {
	content: "";
	position: absolute;
	left: 2.7rem;
	top: 0;
	width: 12rem;
	height: 100%;
	background: url(../img/service/growth/bg_line3.png)repeat-y center;
	background-size: 100%;
}
.service-growth-future .display .info {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	gap: 4rem 0;
	width: calc(50% + 0.8rem);
	line-height: 1.625;
}
.service-growth-future .display.reverse {
	flex-direction: row-reverse;
}
.service-growth-future .display.reverse .img:before {
	left: auto;
	right: 0;
}
.service-growth-future .display.st2 .img {
	width: calc(50% + 0.7rem);
}
.service-growth-future .display.st2 .info {
	width: calc(50% - 1.7rem);
}
.service-growth-future .head {
	margin-bottom: 3.2rem;
	line-height: 1.5;
	font-weight: 500;
	font-size: 2.4rem;
}
.service-growth-future .display .txt p {
	margin-bottom: 2.4rem;
	font-weight: 500;
}
.service-growth-future .display .notes {
	margin-top: 1.4rem;
	font-size: 1.2rem;
}
.service-growth-future .bgbox {
	padding: 2.4rem;
	height: 100%;
	background: #FFF6E5;
}
.service-growth-future .growth-info__note {
	display: flex;
	gap: 0 2.4rem;
}
.service-growth-future .growth-info__note .img-note {
	width: calc(50% - 2.4rem);
}
.service-growth-future .growth-info__note .img-note img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	border-radius: 1rem;
}
.service-growth-future .growth-info__note .info-note {
	padding: 4.2rem;
	width: 50%;
	background: #E9F7F4;
	border-radius: 2rem;
}
.growth-info__note .info-note .bg {
	padding: 1rem;
	height: 100%;
	background: #fff;
	border-radius: 1.5rem;
}
.service-growth-future .growth-info__note .head {
	margin-bottom: 1.4rem;
	font-size: 1.6rem;
}

/* turning
 -----------------------------------------------------------------------*/
#service-turning .service-top__display {
    padding-bottom: 0;
}

.service-sports-career {
	padding: 2.6rem 0 7.2rem;
}
.service-sports-career .top-service-title {
	margin-bottom: 2.4rem;
	text-align: center;
}
.service-sports-career .heading-large__jap2 {
	font-size: 1.6rem;
}
.service-sports-career .display {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.service-sports-career .display .career-img {
	position: relative;
	width: 31.5rem;
}
.service-sports-career .display .career-img:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 50%;
	background: url(../img/service/turning/bg_line02.svg)no-repeat center bottom;
	background-size: 100%;
}
.service-sports-career .display .career-info {
	width: calc(100% - 35.5rem);
}
.service-sports-career .bgbox {
	padding: 3.2rem 3.2rem 4.8rem;
	background: #E9F7F4;
}
.service-sports-career .head {
	margin-bottom: 2.4rem;
	font-weight: 700;
	font-size: 2.4rem;
}
.sports-career__list {
	margin-top: 2.4rem;
	padding: 2.4rem;
	background: #FFF7E4;
}
.sports-career__list ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.4rem;
}
.sports-career__list li {
	display: flex;
	align-items: center;
	gap: 0 1.6rem;
	padding: 2.4rem;
	background: #fff;
}
.sports-career__list .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8rem;
	height: 8rem;
	background: #F6F6F6;
	border-radius: 0.5rem;
}
.sports-career__list .info {
	width: calc(100% - 9.6rem);
	line-height: 1.71;
	font-size: 1.4rem;
}

.service-expand-options {
	position: relative;
	z-index: 2;
	padding: 8rem 0 8.8rem;
}
.service-expand-options:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 10.5rem;
	background: url(../img/service/turning/bg_line.svg)repeat-y center top;
	background-size: 100%;
}
.service-expand-options .bg-banner {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
}
.service-expand-options .bg-banner:before {
	content: "";
	position: absolute;
	top: 4rem;
	bottom: 0;
	left: 4.8rem;
	right: 4.8rem;
	background: rgba(22, 63, 113, 0.6);
}
.service-expand-options .bg-banner img {
	object-fit: cover;
	width: 100%;
	height: 55rem;
}
.service-expand-options .title {
	margin-bottom: 4rem;
	text-align: center;
	color: #fff;
}
.service-expand-options .top-service-title {
	margin-bottom: 4rem;
}
.service-expand-options .heading-large__jap2 {
    margin-top: 2.6rem;
    font-size: 1.6rem;
}
.service-expand-options .sub {
	line-height: 1.75;
	font-weight: 700;
}
.service-expand-options ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4rem 11rem;
	margin: 0 auto;
	max-width: 96rem;
}
.service-expand-options li {
	padding: 0 2rem 3.2rem;
	background: #fff;
	border: 1.6rem solid #DCE8FF;
	letter-spacing: -0.02em;
	text-align: center;
}
.service-expand-options li:nth-child(2) {
	border-color: #E8F7F4;
}
.service-expand-options li:nth-child(3) {
	border-color: #FFF6E5;
}
.service-expand-options li .step {
	color: #277DE3;
	font-size: 4.8rem;
	font-weight: 700;
}
.service-expand-options li .tit {
	margin-bottom: 1.8rem;
	min-height: 8.6rem;
	line-height:1.6667;
	font-weight: 700;
	font-size: 1.8rem;
}
.service-expand-options li .txt {
	min-height: 9.6rem;
}

.service-turning-plan {
	padding: 12rem 0;
}
.service-turning-plan .display {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	font-weight: 500;
}
.service-turning-plan .display .left {
	width: 50%;
}
.service-turning-plan .display .right {
	width: calc(50% - 11rem);
}
.service-turning-plan .top-service-title {
    margin-bottom: 3.2rem;
}
.service-turning-plan .heading-large__jap2 {
	font-size: 1.6rem;
}
.service-turning-plan .display .img {
	margin-bottom: 5rem;
}
.service-turning-plan .display .head {
	margin-bottom: 3.2rem;
	line-height: 1.375;
	font-size: 3.2rem;
	font-weight: 700;
}
.turning-plan__list li {
	display: flex;
	align-items: center;
	gap: 0 3.2rem;
	padding: 4rem;
	min-height: 16rem;
	background: #EEF4FF;
	border-left: 1.4rem solid #277DE3;
}
.turning-plan__list li + li {
	margin-top: 4.8rem;
}
.turning-plan__list li .icon {
	width: 8rem;
}
.turning-plan__list li .tit {
	width: calc(100% - 11.2rem);
	font-weight: 500;
}

/* retirement
 -----------------------------------------------------------------------*/
#service-retirement .service-top__display .display .img {
	width: calc(35% - 0.4rem);
}

.heading-middle {
	margin-bottom: 3.2rem;
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
}

.service-creating-axis {
	padding: 4rem 0 0;
}
.service-creating-axis .display {
	display: flex;
	justify-content: space-between;
}
.service-creating-axis .display .img {
	width: calc(50% - 5.2rem);
}
.service-creating-axis .display .info {
	width: calc(50% + 1rem);
}
.service-creating-axis .top-service-title {
	margin-bottom: 3.2rem;
}
.service-creating-axis .axis-points {
	margin-bottom: 2.4rem;
}
.service-creating-axis .axis-points li {
	position: relative;
	padding: 0.8rem 0 0.8rem 2rem;
}
.service-creating-axis .axis-points li:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 100%;
	border-left: 1px solid #277DE3;
	border-radius: 50%;
}
.service-creating-axis .axis-points li:last-child:before {
	content: none;
}
.service-creating-axis .axis-points li:after {
	content: "";
	position: absolute;
	top: 1.6rem;
	left: 0;
	transform: translateX(-50%);
	width: 0.8rem;
	height: 0.8rem;
	background: #277DE3;
	border-radius: 50%;
}
.service-creating-axis .axis-points li .tit {
	font-weight: 700;
}
.service-creating-axis .display .txt p {
	margin-bottom: 1.6rem;
	line-height: 1.625;
	font-weight: 500;
}

.service-retirement-howto {
	padding: 4rem 0 0;
}
.service-retirement-howto .support {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.6rem;
	margin-top: 7rem;
}
.service-retirement-howto .support li {
	position: relative;
	padding: 2.4rem;
	background: #FFF7E4;
}
.service-retirement-howto .support li:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: -3.8rem;
	transform: translateX(-50%);
	width: 2.2rem;
	height: 2.2rem;
	background: #277DE3;
	border-radius: 50%;
}
.service-retirement-howto .support li:after {
	content: "";
	position: absolute;
	left: 50%;	
	top: -2.8rem;
	border-top: 3px solid #277DE3;
	width: calc(100% + 2rem);
}
.service-retirement-howto .support li:last-child:after {
	content: none;
}
.service-retirement-howto .support .tit {
	margin-bottom: 0.8rem;
	text-align: center;
	font-weight: 700;
}
.service-retirement-howto .support .notes {
	line-height: 1.6667;
	font-size: 1.2rem;
}

.service-player-experience {
	overflow: hidden;
	padding: 4rem 0 12rem;
}
.service-player-experience .player-experiences {
	background: url(../img/service/retirement/bg_line.png)no-repeat center;
	background-size: auto 14.8rem;
}
.service-player-experience .player-experiences ul {
	display: flex;
	gap: 0 6rem;
	position: relative;
	background: url(../img/service/retirement/bg_line2.png)repeat-x center;
	background-size: auto 100%;
}
.service-player-experience .player-experiences ul:before {
	content: "";
	position: absolute;
	left: 100%;
	top: 0;
	height: 100%;
	width: 100rem;
	background: url(../img/service/retirement/bg_line2.png)repeat-x center;
	background-size: auto 100%;
}
.service-player-experience .player-experiences ul + ul {
	margin-top: 15rem;
}
.service-player-experience .player-experiences .right {
	justify-content: flex-end;
}
.service-player-experience .player-experiences .right:before {
	left: auto;
	right: 100%;
}
.service-player-experience .player-experiences li {
	position: relative;
}
.service-player-experience .player-experiences li .box {
	position: relative;
	padding: 3.2rem;
	background: #fff;
	border: 1px solid #707070;
	text-align: center;
	font-size: 1.4rem;
}
.service-player-experience .player-experiences li .box:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 2.2rem;
	height: 2.2rem;
	background: #277DE3;
	border-radius: 50%;
}
.service-player-experience .player-experiences li .tit {
	margin-bottom: 1.6rem;
	font-weight: 700;
	font-size: 1.6rem;
}

.service-retirement-numbers {
	padding: 8rem 0;
	background: url(../img/service/retirement/bg_line4.png)no-repeat right bottom #FFF6E5;
	background-size: 35rem;
}
.service-retirement-numbers .top-service-title {
	margin-bottom: 7.2rem;
	text-align: center;
}
.service-retirement-numbers .display {
	display: flex;
	align-items: flex-start;
	gap: 4.8rem;
}
.service-retirement-numbers .display.reverse {
	flex-direction: row-reverse;
}
.service-retirement-numbers .display .img {
	width: calc(32% + 0.6rem);
}
.service-retirement-numbers .display .img img {
	width: 100%;
}
.service-retirement-numbers .display .info {
	width: calc(63% + 0.5rem);
	font-weight: 500;
}
.service-retirement-numbers .display .info .bg {
	padding: 3.2rem 3.2rem 4.8rem;
	background: #fff;
}
.service-retirement-numbers .display .head {
	margin-bottom: 3.2rem;
	font-size: 2.4rem;
	font-weight: 500;
}
.service-retirement-numbers .numbers-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.service-retirement-numbers .numbers-list li {
	background: #fff;
	line-height: 1.71;
	font-weight: 500;
	font-size: 1.4rem;
}
.service-retirement-numbers .numbers-list .tit {
	margin-bottom: 1.4rem;
	line-height: 1.5;
	font-weight: 700;
	font-size: 1.6rem;
}
.service-retirement-numbers .numbers-list .note {
	margin-top: 0.8rem;
	color: #807C7C;
	font-size: 1.2rem;
}

.service-retirement-numbers .howto-support {
	margin-top: 5.8rem;
    padding: 0 3.2rem;
}
.service-retirement-numbers .howto-support .heading-middle {
	margin-bottom: 2.6rem;
}
.service-retirement-numbers .howto-support .img {
	width: calc(50% - 2rem);
}
.service-retirement-numbers .howto-support .info {
    width: 100%;
    max-width: 50.8rem;
}
.service-retirement-numbers .howto-support .numbers-list {
	gap: 2.4rem;
}
.service-retirement-numbers .howto-support .numbers-list li {
	padding: 1.6rem;
	min-height: 14.4rem;
	text-align: center;
}

.service-retirement-numbers .player-experience {
	margin-top: 5.8rem;
    padding: 0 3.2rem 0 2rem;
    gap: 4rem;
}
.service-retirement-numbers .player-experience .heading-middle {
	margin-bottom: 4rem;
	text-align: left;
}
.service-retirement-numbers .player-experience .img {
	width: 37.2rem;
}
.service-retirement-numbers .player-experience .info {
	width: calc(100% - 41.2rem);
}
.service-retirement-numbers .player-experience .numbers-list {
	gap: 4rem;
}
.service-retirement-numbers .player-experience .numbers-list li {
	padding: 3rem;
}
.service-retirement-numbers .player-experience .numbers-list .tit {
	font-size: 1.8rem;
}

.service-sustainable-business {
	margin-top: 12rem;
	background: url(../img/service/retirement/bg_line5.png) repeat-y right top;
	background-size: 14.5rem;
}
.service-sustainable-business .top-service-title {
	margin-bottom: 3.2rem;
}
.service-sustainable-business .display {
	display: flex;
	justify-content: space-between;
	gap: 0 3rem;
}
.service-sustainable-business .display .info {
	width: calc(50% + 0.8rem);
	line-height: 1.625;
}
.service-sustainable-business .display .img {
	width: calc(50% - 4.8rem);
}
.service-sustainable-business .display .head {
	margin-bottom: 1.4rem;
	line-height: 1.5;
	font-size: 2.4rem;
	font-weight: 700;
}

.service-sustainable-business .howto-support {
	padding: 7rem 20.6rem 0 0;
}
.service-sustainable-business .howto-support .heading-middle {
	padding-left: 6.4rem;
	margin-bottom: 2.5rem;
	background: url(../img/service/retirement/icon_check.svg)no-repeat left center;
	background-size: 4rem;
	text-align: left;
}
.service-sustainable-business .howto-support ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.2rem;
}
.service-sustainable-business .howto-support li {
	display: flex;
	flex-direction: column;
	gap: 0.8rem 0;
	position: relative; 
	padding: 3.2rem 3.2rem 3.2rem 6.4rem;
	background: #EEF4FF;
	font-weight: 500;
}
.service-sustainable-business .howto-support li:before {
	content: "";
	position: absolute;
	right: 4.4rem;
	top: 50%;
	transform: translateY(-50%);
	width: 4rem;
	height: 4rem;
	background: #fff;
	border-radius: 50%;
}
.service-sustainable-business .howto-support li .tit {
	line-height: 1.777;
	font-size: 1.8rem;
	font-weight: 700;
}

.service-retirement-player-experience {
	padding: 6.4rem 0 12rem;
}
.service-retirement-player-experience .heading-middle {
	position: relative;
	margin-bottom: 6.4rem;
	padding-left: 4.8rem;
	text-align: left;
}
.service-retirement-player-experience .heading-middle:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2.4rem;
	height: 2.4rem;
	background: #2680EA;
	border-radius: 50%;
}
.service-retirement-player-experience ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4.4rem 1.2rem;
}
.service-retirement-player-experience li {
	padding: 0.3rem 0 0.3rem 16rem;
	min-height: 8rem;
	background: no-repeat left 3.2rem center;
	background-size: 8rem;
}
.service-retirement-player-experience .icon-experience01 {
	background-image: url(../img/service/retirement/icon_experience01.svg);
}
.service-retirement-player-experience .icon-experience02 {
	background-image: url(../img/service/retirement/icon_experience02.svg);
}
.service-retirement-player-experience .icon-experience03 {
	background-image: url(../img/service/retirement/icon_experience03.svg);
}
.service-retirement-player-experience .icon-experience04 {
	background-image: url(../img/service/retirement/icon_experience04.svg);
}
.service-retirement-player-experience li .tit {
	margin-bottom: 2.4rem;
	font-size: 1.8rem;
	font-weight: 700;
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
	.service-top__display {
	    padding: 6.4rem 0 8rem;
	    background-size: 15rem;
	}
	.service-top__display .heading-large {
		position: relative;
		z-index: 2;
		margin-bottom: 1.6rem;
		text-align: left;
	}
	.service-top__display .display {
	    flex-direction: column-reverse;
	}
	.service-top__display .display .img {
	    width: auto;
	}
	.service-top__display .display .info {
	    position: relative;
	    padding-top: 2.4rem ;
	    width: auto;
	    line-height: 1.71;
        font-size: 1.4rem;
	}

    .service-top__display .display .text {
        padding-right: 4rem;
        letter-spacing: -.084em;
    }

	.service-page__anchors {
	    gap: 0 1.2rem;
        justify-content: center;
	}
	.service-page__anchors .btn-links {
		gap: 1rem;
	    padding: 1rem 1.8rem;
		font-size: 1.4rem;
	}
	.service-page__anchors .btn-links:after {
	    width: 1.4rem;
	}
	
	.service-growth {
	    padding: 3.2rem 0 10.2rem;
	    background: url(../img/common/bg_teaser_line2.svg) no-repeat right bottom #FFF6E5;
	    background-size: 9.4rem;
	}
	.service-wrap .top-service-title {
	    margin-bottom: 3.2rem;
		font-size: 3.2rem;
	}
	.service-recommend-players {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2.4rem;
		margin: 0 auto;
		max-width: 26rem;
	}
	.service-growth .display {
		flex-direction: column-reverse;
		gap: 3.2rem 0;
	    margin-top: 4rem;
	}
	.service-growth .display .img {
		margin: 0 -1.6rem;
	    width: auto;
	}
	.service-growth .display .info {
		width: auto;
	}
	.service-growth .display .head {
	    margin-bottom: 0.8rem;
		max-width: 30.3rem;
	    font-size: 2rem;
	}
	.service-growth .display .text {
		max-width: 30.3rem;
	}
	.service-growth .display .text p {
	    line-height: 1.71;
		font-size: 1.4rem;
	}
	.service-growth .display .btn {
		text-align: center;
	}
	.service-growth .display .btn-links {
		width: 26rem;
	}
	
	.service-retirement {
	    padding: 7.7rem 0 8rem;
	    background-position: center 24rem;
	    background-size: 100% calc(100% - 35rem);
	}
	.service-retirement .top-service-title {
	    margin-bottom: 3.2rem;
	    font-size: 3.2rem;
	}
	.service-retirement__display {
		display: block;
	}
	.service-retirement__display .sideimg {
		margin-bottom: 2.8rem;
		width: auto;
	}
	.service-retirement__display .sideimg img {
		width: 100%;
	}
	.service-retirement__display .sideinfo {
		width: auto;
	}
	.service-retirement__display .service-retirement__points {
		padding: 2.4rem 0;
	}
	.service-retirement__points li {
	    padding: 0.8rem 11rem 0.8rem 0;
		font-size: 1.4rem;
	}
	.service-retirement__points li + li {
	    margin-top: 0;
	}
	.service-retirement__points li .step {
		width: 10rem;
	    text-align: center;
	    font-size: 2rem;
	}
	.service-retirement .display {
	    flex-direction: column-reverse;
		gap: 3.2rem 0;
	    margin-top: 7rem;
		background: #fff;
	}
	.service-retirement .display .img {
		width: auto;
	}

    .service-retirement .display .img img {
        width: 100%;
    }

	.service-retirement .display .info {
		width: auto;
		font-size: 1.4rem;
	}
	.service-retirement .display .tit {
	    margin-bottom: 2.4rem;
		font-size: 1.6rem;
	}
	.service-retirement__display .btn {
	    margin-top: 3.2rem;
		text-align: center;
	}
	.service-retirement__display .btn-links {
		width: 26rem;
	}
	.service-retirement__display .btn-links:after {
		width: 1.4rem;
	}
	
	.service-turning {
	    padding: 0;
	    background: #fff;
	}
	.service-turning .top-service-title {
		margin-bottom: 3.2rem;
		font-size: 3.2rem;
	}
	.service-turning .display {
	    display: block;
		margin: 0 -1.6rem;
	}
	.service-turning .display .img {
		width: auto;
	}
	.service-turning .display .info {
		width: auto;
	}
	.service-turning .display .img:before {
		height: 80%;
		background-image: url(../img/service/bg_imgline_sp.svg);
	}
	.service-turning__points {
	    padding: 4rem 5.2rem 6rem 3.2rem;
	}
	.service-turning__points li {
	    padding-left: 2.6rem;
		line-height: 1.375;
	}
	.service-turning__points li + li {
	    margin-top: 2.4rem;
	}
	.service-turning .info-txt {
		position: relative;
		z-index: 2;
	    margin-top: 0;
	    padding: 4rem;
	    background: #EEF4FF;
	}
	.service-turning .info-txt:before {
		content: "";
		position: absolute;
		z-index: -1;
		left: 1.6rem;
		right: 1.6rem;
		top: 1.6rem;
		bottom: 1.6rem;
	    background: #fff;
	}
	.service-turning .info-txt .head {
		margin-top: 2.4rem;
	    font-size: 1.6rem;
	}
	.service-turning .info-txt .btn {
	    margin-top: 3.2rem;
	    text-align: center;
	}
	.service-turning .info-txt .btn-links {
		width: 26rem;
	}
	.service-turning .info-txt .btn-links:after {
		width: 1.4rem;
	}
	
	.service-flow {
	    padding: 8rem 0;
	}
	.service-flow .heading-large {
		margin-bottom: 6.4rem;
	}
	.service-flow .heading-large .heading-large__eng {
	    font-size: 4.8rem;
	}
	.service-flow .heading-large .heading-large__jap {
	    font-size: 2.4rem;
	}
	.flow-points ul {
	    gap: 6.4rem 2.8rem;
	}
	.flow-points li {
		flex-direction: column;
		align-items: flex-start;
		gap: 1.2rem 0;
	    padding: 2.4rem 2.4rem 2.4rem 6.8rem;
	}
	.flow-points li:nth-last-child(1), 
	.flow-points li:nth-last-child(2) {
		align-items: center;
	    padding: 2.4rem;
	    width: calc(50% - 1.4rem);
	    min-height: 10.8rem;
	    font-size: 1.4rem;
	}
	.flow-points li:after {
	    left: 1.6rem;
	    width: 2.4rem;
	    height: 2.4rem;
	}

    .flow-points li + li:before {
        background-size: 1.9rem;
    }

	.flow-points li:nth-last-child(1):before,
	.flow-points li:nth-last-child(2):before {
		background-position: 50% 50%;
	}
	.flow-points li:nth-last-child(1):after,
	.flow-points li:nth-last-child(2):after {
		left: 0.8rem;
		top: 0.8rem;
		transform: translateY(0%);
	}
	.flow-points li .step {
	    font-size: 2.4rem;
	}
	.flow-points li .tit {
		font-size: 1.6rem;
	}

    .flow-points .tags {
        /*width: calc(100% + 4.4rem);
        margin-left: -4.4rem;
        justify-content: center;*/
        padding-left: 1.2rem;
    }

	.flow-points .tags span {
	    padding: 0.6rem;
	    min-width: 8.4rem;
	    line-height: 1.25;
	    font-size: 1.2rem;
	}
	.flow-points .notes {
	    line-height: 1.333;
	    text-align: left;
	    font-size: 1.2rem;
	}
	.flow-points .notes p + p {
		margin-top: 0.8rem;
	}
	
	.heading-large__jap2 {
	    margin-top: 0.8rem;
	    font-size: 1.1rem;
	}
	.service-top__display .service-about__support {
		margin: 1.6rem 0;
	}
	.service-about__support .head {
	    font-size: 2rem;
	}
	.service-about__support .checks li {
	    padding-left: 2rem;
	    background-position: left 0 top 0.7rem;
	    background-size: 1.2rem;
		line-height: 1.5;
	}
	.service-about__support .checks li + li {
		margin-top: 0.8rem;
	}
	
	/* growth */
	.service-goal-effect {
	    padding-top: 0;
	}
	.service-goal-effect .display {
		display: block;
	}
	.service-goal-effect .display + .display {
	    margin-top: 2.4rem;
	}
	.service-goal-effect .display .img {
		margin: 0 -1.6rem;
		width: auto;
	}
	.service-goal-effect .display .info {
		margin-bottom: 2.4rem;
		width: auto;
		font-size: 1.4rem;
	}
	.service-goal-effect .display .first {
		margin-bottom: 4.8rem;
		padding-bottom: 7rem;
	}

    .service-goal-effect .display .first:after {
        width: 100%;
        left: -1.6rem;
    }

	.service-goal-effect .display .first .top-service-title {
		margin-bottom: 0;
        line-height: 1.25;
        letter-spacing: -.144rem;
	}
	.service-goal-effect .display .bgbox {
	    padding: 1.6rem 2.4rem 1.6rem 1.6rem;
	}
	.service-goal-effect .display .head {
	    margin-bottom: 1.6rem;
	    line-height: 1.555;
	    font-size: 1.8rem;
	}
	.service-goal-effect .display .points li {
		padding-left: 2rem;
	}
	.service-goal-effect .display .points li:before {
	    top: 0.5rem;
	    width: 1.2rem;
	    height: 1.2rem;
	}
	.service-goal-effect .display .points li .note {
	    margin-left: 1rem;
	}
	
	.service-goal-effect__box {
		margin-top: 2.4rem;
		padding: 1.6rem 0;
		background: #277DE3;
	}
	.service-goal-effect__box .box {
	    padding: 2.4rem 4rem;
	    line-height: 1.71;
		text-align: left;
		font-size: 1.4rem;
	}
	
	.service-coaching-flow .top-service-title {
		text-align: center;
	}
	.service-coaching-flow .flow-data ul {
	    flex-direction: column;
		gap: 2.8rem 0;
	    margin: 0 auto 5.5rem;
		width: 23rem;
	}
	.service-coaching-flow .flow-data li:nth-child(1),
	.service-coaching-flow .flow-data li:nth-child(2) {
		margin-top: 0;
	}
	.service-coaching-flow .flow-data li {
	    width: 100%;
	}
	.service-coaching-flow .flow-data .tit {
	    margin-bottom: 0.8rem;
	}
	.service-coaching-flow .end {
	    margin-top: 3.2rem;
		padding-left: 3rem;
		max-width: 30.3rem;
		text-indent: -0.7em;
	    text-align: left;
	    line-height: 1.71;
	    font-size: 1.4rem;
	}
	.service-coaching-flow .end:before {
		margin: -0.2rem 0.6rem 0 0;
		font-size: 1.2rem;
	}
	
	.service-growth-future {
	    padding: 8rem 0;
	}
	.service-growth-future .top-service-title {
	    margin-bottom: 3.2rem;
		max-width: 30.3rem;
	}
	.service-growth-future .display {
	    display: block;
		margin: 0 -1.6rem;
	}
	.service-growth-future .display + .display {
	    margin-top: 2.6rem;
	}
	.service-growth-future .display .img {
		margin-bottom: 2.4rem;
		width: auto;
	}
	.service-growth-future .display .info {
		gap: 2.4rem 0;
		width: auto;
		font-size: 1.4rem;
	}
	.service-growth-future .display.st2 .img {
		width: auto;
	}
	.service-growth-future .display.st2 .info {
		width: auto;
	}
	.service-growth-future .bgbox {
	    padding: 2.4rem 5.5rem 2.4rem 3.2rem;
	}
    .service-growth-future .display.st2 .bgbox {
        padding-left: 1.6rem;
    }
	.service-growth-future .head {
	    margin-bottom: 1.6rem;
		letter-spacing: -0.04em;
	    font-size: 2rem;
	}
	.service-growth-future .display .txt p {
	    margin-bottom: 1.6rem;
	}
	.service-growth-future .growth-info__note {
		gap: 0 2rem;
		padding: 0 1.6rem;
	}
	.service-growth-future .growth-info__note .img-note {
	    width: 11.4rem;
	}
	.service-growth-future .growth-info__note .info-note {
	    padding: 1.4rem;
	    width: calc(100% - 13.4rem);
	    border-radius: 2rem;
	}
	.service-growth-future .growth-info__note .head {
	    margin-bottom: 0.8rem;
	    font-size: 1.4rem;
	}
	.service-growth-future .display .notes {
	    margin-top: 0.8rem;
	    font-size: 1.2rem;
	}
	
	/* turning*/
    #service-turning .service-top__display {
        padding-bottom: 8rem;
    }

	.service-sports-career {
	    padding: 0 0 8rem;
	}
	.service-sports-career .top-service-title {
	    text-align: left;
        line-height: 1.25;
	}
	.service-sports-career .heading-large__jap2 {
	    font-size: 1.2rem;
	}
	
	.service-sports-career .display {
	    display: block;
	}
	.service-sports-career .display .career-img {
		margin-bottom: 2rem;
	    width: auto;
	}
	.service-sports-career .display .career-img:before {
		height: 80%;
		background-image: url(../img/service/turning/bg_line_sp02.svg);
	}
	.service-sports-career .display .career-info {
		width: auto;
	}
	.service-sports-career .head {
	    margin-bottom: 2rem;
		line-height: 2;
	    font-size: 1.4rem;
		font-weight: 700;
	}
	.service-sports-career .bgbox {
	    padding: 3.2rem;
		font-size: 1.4rem;
	}
	.sports-career__list {
	    margin-top: 2.4rem;
	    padding: 2.4rem 0.8rem;
	}
	.sports-career__list ul {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 1.6rem 0;
	}
	.sports-career__list li {
	    gap: 0 1.6rem;
	    padding: 1rem 0.8rem;
	}
	.sports-career__list .icon {
	    width: 6rem;
	    height: 6rem;
	}
	.sports-career__list .info {
	    width: calc(100% - 7.6rem);
	    line-height: 1.71;
	    font-size: 1.2rem;
	}
	
	.service-expand-options {
	    padding: 6.2rem 4.4rem 8rem 0;
	}
	.service-expand-options:before {
	    left: auto;
		right: 0;
	    width: 3.7rem;
	}
	.service-expand-options .bg-banner {
		height: calc(100% - 8rem);
	}
	.service-expand-options .bg-banner:before {
	    top: 4rem;
	    left: 0;
	    right: 4rem;
	}
	
	.service-expand-options ul {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2.4rem 0;
		padding-bottom: 4rem;
	    max-width: 24.4rem;
	}
	.service-expand-options .title {
	    margin-bottom: 6rem;
	}
	.service-expand-options .heading-large__jap2 {
	    margin-top: 1rem;
	    font-size: 1.2rem;
	}
	.service-expand-options .sub {
	    line-height: 1.71;
		font-size: 1.4rem;
	}
	.service-expand-options .sub p {
		margin-bottom: 1.6rem;
	}
	.service-expand-options .bg-banner img {
	    height: 100%;
	}
	.service-expand-options li {
	    padding: 2.4rem 2rem;
	}
	.service-expand-options li .step {
	    margin-bottom: 1.6rem;
		font-size: 3.2rem;
	}
	.service-expand-options li .tit {
	    margin-bottom: 1.6rem;
	    min-height: 0;
	    line-height: 1.875;
	    font-size: 1.6rem;
	}
	.service-expand-options li .big-sp {
	    line-height: 1.5;
		 font-size: 2rem;
	 }
    .service-expand-options li:last-child .big-sp {
        letter-spacing: -.1rem;
     }
	.service-expand-options li .txt {
		min-height: 12rem;
		font-size: 1.4rem;
	}
	
	.service-turning-plan {
	    padding: 5.8rem 0 8rem;
	}
	.service-turning-plan .display {
	    display: block;
		font-size: 1.4rem;
	}
	.service-turning-plan .display .left {
		width: auto;
	}
	.service-turning-plan .display .right {
		width: auto;
	}	
	.service-turning-plan .heading-large__jap2 {
	    font-size: 1.2rem;
	}
	.service-turning-plan .display .img {
	    margin: 0 -1.6rem 3.2rem;
	}
	.service-turning-plan .display .head {
	    margin-bottom: 1.6rem;
	    line-height: 1.4;
	    font-size: 2rem;
	    font-weight: 500;
	}
	.service-turning-plan .turning-plan__list {
		margin-top: 3.2rem;
	}
	.turning-plan__list li {
	    gap: 0 1.6rem;
	    padding: 2.4rem;
	    min-height: 12.8rem;
	    border-left-width: 0.8rem;
	}
	.turning-plan__list li + li {
		margin-top: 2.4rem;
	}
	.turning-plan__list li .icon {
	    width: 4rem;
	}
	.turning-plan__list li .tit {
	    width: calc(100% - 5.6rem);
		letter-spacing: -0.03em;
	    font-size: 1.4rem;
	}
	
	/* retirement */
    #service-retirement .service-top__display .display .img {
        width: auto;
    }

	.heading-middle {
		margin-bottom: 2.4rem;
		text-align: left;
		font-size: 2.4rem;
	}
	
	.service-creating-axis {
	    padding: 4rem 0 0;
	}
	.service-creating-axis .display {
	    display: block;
	}
	.service-creating-axis .display .img {
		margin-bottom: 2.4rem;
		width: auto;
	}
	.service-creating-axis .display .info {
		width: auto;
		max-width: 30.3rem;
	    line-height: 1.71;
		font-size: 1.4rem;
	}
	.service-creating-axis .axis-points li {
	    position: relative;
	    padding: 0.4rem 0 0.4rem 1.4rem;
	}
	.service-creating-axis .axis-points li:after {
	    top: 1rem;
	}
	.service-creating-axis .display .txt p {
	    margin-bottom: 1.2rem;
	}
	
	.service-retirement-howto {
	    padding: 4rem 0 0 3.8rem;
	}
	.service-retirement-howto .support {
	    grid-template-columns: repeat(1, 1fr);
	    margin-top: 0;
	}
	.service-retirement-howto .support li {
		min-height: 14rem;
	}
	.service-retirement-howto .support li:before {
	    left: -3.8rem;
	    top: 50%;
	    transform: translate(0%, -50%);
	}
	.service-retirement-howto .support li:after {
	    content: "";
	    position: absolute;
	    left: -2.8rem;
	    top: 50%;
	    border-top: 0;
		border-left: 3px solid #277DE3;
	    width: 0;
		height: calc(100% + 1.6rem);
	}
	.service-retirement-howto .support .tit {
	    text-align: left;
	}
	
	.service-player-experience {
	    padding: 4rem 0 8rem;
	}
	.service-player-experience .heading-middle {
	    margin-bottom: 3.6rem;
	}
	.service-player-experience .player-experiences {
		margin: 0 -1.6rem;
		background: none;
	}
	.service-player-experience .player-experiences ul {
		display: block;
		background: none;
	}
	.service-player-experience .player-experiences ul + ul {
	    margin-top: 0;
	}
	.service-player-experience .player-experiences ul:before {
		content: none;
	}
	.service-player-experience .player-experiences li {
		margin-bottom: 3.2rem;
		padding: 0 1.6rem 0 3rem;
	    background: url(../img/service/retirement/bg_line2.png) repeat-x center;
	    background-size: auto 100%;
	}
	.service-player-experience .player-experiences ul + ul li:last-child {
		margin-bottom: 0;
	}
	.service-player-experience .player-experiences li:before {
		content: "";
	    position: absolute;
	    left: 0;
	    top: 100%;
	    height: 3.2rem;
	    width: 100%;
		background: url(../img/service/retirement/bg_line_sp.png)no-repeat center;
		background-size: auto 100%;
	}
	.service-player-experience .player-experiences ul + ul li:last-child:before{
		content: none;
	}

    .service-player-experience .player-experiences li .box {
        text-align: left;
        padding: 3.7rem 2.4rem;
        font-size: 1.2rem;
    }

    .service-player-experience .player-experiences li .tit {
        margin-bottom: .8rem;
    }
	
	.service-retirement-numbers {
	    padding: 4.8rem 0 8rem;
	    background-size: 23.1rem;
	}
	.service-retirement-numbers .top-service-title {
	    margin-bottom: 5rem;
	    text-align: left;
        letter-spacing: -.166rem;
	}

    .service-retirement-numbers .top-service-title .heading-large__jap2 {
        letter-spacing: -.108rem;
    }
	.service-retirement-numbers .display {
	    display: block;
        padding: 0 4px;
	}
	.service-retirement-numbers .display .img {
		margin-bottom: 2.4rem;
		width: auto;
	}
	.service-retirement-numbers .display .info {
		width: auto;
		font-size: 1.4rem;
	}
	.service-retirement-numbers .display .info .bg {
	    padding: 3.2rem;
	}
	.service-retirement-numbers .display .head {
	    margin-bottom: 1.6rem;
	    font-size: 1.8rem;
	}
	.service-retirement-numbers .howto-support {
	    margin-top: 3.2rem;
        padding: 0 10px;
	}
	.service-retirement-numbers .numbers-list {
	    grid-template-columns: repeat(1, 1fr);
	}
	
	.service-retirement-numbers .howto-support .heading-middle {
	    margin-bottom: 2.4rem;
		text-align: center;
	}
	.service-retirement-numbers .howto-support .numbers-list {
		gap: 1.6rem;
		margin: 0 auto;
		max-width: 24.2rem;
	}
    .service-retirement-numbers .player-experience {
        padding: 0;
    }

	.service-retirement-numbers .player-experience .heading-middle {
	    margin-bottom: 3.2rem;
		text-align: center;
	}
	.service-retirement-numbers .player-experience .numbers-list {
	    gap: 1.6rem;
	}
	
	.service-sustainable-business {
	    margin-top: 8rem;
	    background: none;
	}
	.service-sustainable-business .display {
	    display: block;
	}
	.service-sustainable-business .display .info {
	    width: auto;
		max-width: 30.3rem;
	    line-height: 1.71;
	    font-size: 1.4rem;
	}
	.service-sustainable-business .display .img {
		margin-top: 3rem;
		width: auto;
	}
	.service-sustainable-business .display .head {
	    margin-bottom: 1.8rem;
	    font-size: 1.6rem;
	}

    .service-sustainable-business .display .info p {
        letter-spacing: -.14rem;
    }
	
	.service-sustainable-business .howto-support {
	    padding: 2.8rem 0 0;
	}
	.service-sustainable-business .howto-support ul {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 2.4rem 0;
	}
	.service-sustainable-business .howto-support li {
	    gap: 1.6rem 0;
	    padding: 3.2rem 6rem 3.2rem 1.6rem;
	}
	.service-sustainable-business .howto-support li:before {
	    right: 1.4rem;
	}
	.service-sustainable-business .howto-support li .tit {
	    line-height: 2;
	    font-size: 1.6rem;
	}
	
	.service-retirement-player-experience {
	    padding: 3.2rem 0 8rem;
	}
	.service-retirement-player-experience .heading-middle {
	    margin-bottom: 3.2rem;
	    padding-left: 3.6rem;
	}
	.service-retirement-player-experience .heading-middle:before {
		width: 2rem;
		height: 2rem;
	}
	.service-retirement-player-experience ul {
	    grid-template-columns: repeat(1, 1fr);
	    gap: 3.2rem 0;
	}
	.service-retirement-player-experience li {
	    padding: 0.3rem 0 0.3rem 9.4rem;
	    min-height: 7rem;
	    background-position: left center;
	    background-size: 7rem;
		font-size: 1.4rem;
	}
	.service-retirement-player-experience li .tit {
	    margin-bottom: 0.8rem;
	    font-size: 1.6rem;
	}
	
}

.grecaptcha-badge {
    z-index: 999;
}
