@charset "utf-8";

/* Noto Sans JP */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* Outfit */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

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

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(9.7rem + 2rem); /* 固定ヘッダの高さ分 ＋ 2rem */
    font-size: 10px;
}

html,
body {
    height: 100%;
    -webkit-overflow-scrolling: touch;
}

body {
    color: #000;
    background-color: #fff;
    font-size: 1.6rem;
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", sans-serif;
    /*font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-weight: normal;
    letter-spacing: 0.02em;
}

main {
    margin-top: 8.2rem;
}

section {
    padding: 6rem 0;
}

section.small {
    padding: 3rem 0;
}

hr {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid #707070;
}

/* リスト */
dl,
dt,
dd,
ul,
li {
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 2;
}

ul,
ol {
    margin-bottom: 2rem;
}

ul.list_dot,
ol {
    padding-left: 2rem;
}

ol li {
    list-style: decimal;
}

ul.list_dot,
ul.list_dot li {
    list-style: disc;
}

dl {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding: 1rem 0;
}

dt {
    width: 30%;
    padding-right: 2rem;
}

dd {
    width: 70%;
}

/* 見出し */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    line-height: 1.5em;
}

h2 {
    font-size: 4rem;
    margin-bottom: 2rem;
    text-align: center;
}

h2.design {
    border-bottom: 1px solid #000;
    padding-bottom: 0.5rem;
    position: relative;
    text-align: left;
}

h2.design::before {
    content: "";
    background: #031345;
    position: absolute;
    width: 20rem;
    height: 2px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
}

h3 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

h3.design {
    background-color: #E6E6E6;
    padding: 1rem;
    
}

h4 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

h4.design {
    border-left: 5px solid #000;
    padding-left: 1rem;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
    font-weight: bold;
}

.title_en {
    text-align: center;
    margin: 0;
    font-size: 1.2rem;
    font-weight: bold;
}

/* テキスト */
p {
    line-height: 1.5em;
}

main p {
    margin-bottom: 2rem;
}

.lead {
    text-align: center;
    font-weight: 500;
    font-size: 1.8rem;
}

.txtl {
    text-align: left !important;
}

.txtc {
    text-align: center !important;
}

.txtr {
    text-align: right !important;
}

.txtc-txtl {
    text-align: center;
}

.red {
    color: #DB1517 !important;
}

.txt14 {
    font-size: 1.4rem;
}

.txt18 {
    font-size: 1.8rem;
}

video,
iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%;
}

/* 画像 */
a,
a img,
a:hover,
a:hover img,
.g-nav {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
}

img {
    vertical-align: middle;
    display: block;
    max-width: 100%;
    -webkit-backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
    border: none;
}

img.radius {
    border-radius: 1rem;
}

img.shadow {
    box-shadow: 0 4px 4px rgba(0,0,0,0.25);
    margin-bottom: 0.5rem;
}

/* リンク */
a {
    display: inline-block;
    background-color: transparent;
}

a,
a:link,
a:visited,
a:focus,
a:active {
    outline: none !important;
    color: #000;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    word-break: break-all;
    text-decoration: none;
}

a:hover {
    outline: none !important;
    cursor: pointer;
}

a:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

a img {
    text-decoration: none;
    outline        : none;
}

a:hover img {
    opacity        : 0.7;
    text-decoration: none;
}

a.link {
    display: inline-block;
}

a.link {
    display: inline-block;
}

a.link span {
    display: table;
}

a.link span::after {
    content      : "";
    display      : block;
    width        : 0;
    transition   : width 0.3s;
    border-bottom: 1px solid #FF6E25;
}

a.link:hover span::after {
    width: 100%;
}

a.link:hover {
    opacity: 1;
    cursor : pointer;
    color: #FF6E25 !important;
}

a.underline {
    text-decoration: underline !important;
    color: #FF6E25;
}

.logo a {
    display: table;
}

/* ホバー時ゆっくり半透明 */
a.underline:hover,
.logo a:hover img,
.logo a:hover,
.date_cat a:hover,
.tag_list a:hover,
.wsp-pages-list a:hover,
.instagram_box a:hover,
.section02 .more-btn02 a:hover {
    opacity: 0.7;
}

/* PC/SP切り替え */
.sp-only {
    display: none !important;
}

/* 要素入れ替え */
.orderbox {
    display: flex;
    flex-direction: row;
}

.order01 {order: 1;}
.order02 {order: 2;}
.order03 {order: 3;}
.order04 {order: 4;}

/* 余白 */
.auto {
    margin: auto !important;
}

.ma0 {
    margin: 0 !important;
}

.mt0 {
    margin-top: 0 !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb1 {
    margin-bottom: 1rem !important;
}

.mb2 {
    margin-bottom: 2rem !important;
}

.mb3 {
    margin-bottom: 3rem !important;
}

.mb4 {
    margin-bottom: 4rem !important;
}

.pa0 {
    padding: 0 !important;
}

.pt0 {
    padding-top: 0 !important;
}

.pb0 {
    padding-bottom: 0 !important;
}

@media screen and (min-width: 1024px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}

@media screen and (max-width: 1023px) {
    main {
        margin-top: 6.2rem;
    }

    body {
        font-size: 1.4rem;
    }

    h2 {
        font-size: 2.4rem;
    }

    h3 {
        font-size: 1.8rem;
    }

    h4 {
        font-size: 1.6rem;
    }

    .lead {
        font-size: 1.6rem;
        text-align: left;
    }
}

@media screen and (max-width: 767px) {
    html {
        scroll-padding-top: calc(9rem + 2rem); /* 固定ヘッダの高さ分 ＋ 2rem */
        /* 画面幅375pxのとき100vw=375px 40で割ることでfont-sizeの基準が10pxに */
        font-size: calc(100vw / 37.5);
    }

    section {
        padding: 4rem 0;
    }

    sections.small {
        padding: 2rem 0;
    }

    dt,
    dd {
        width: 100%;
    }

    dt {
        padding: 0 0 1rem;
    }

    .txtc-txtl {
        text-align: left;
    }

    .pc-only {
        display: none !important;
    }

    .sp-only {
        display: block !important;
    }

    .orderbox {
        flex-direction: column;
    }

    .order01,
    .order02,
    .order03,
    .order04 {
         width: 100%;
    }

    .order01 {order: 2;}
    .order02 {order: 1;}
    .order03 {order: 4;}
    .order04 {order: 3;}
}

/*******************************************************/

/*-----------------------------
アニメーション
-----------------------------*/

/* フェードイン */
.fadein,
.fadeleft,
.faderight,
.zoomin {
    opacity           : 0;
    transition        : all 1s;
    -moz-transition   : all 1s;
    -webkit-transition: all 1s;
}

.fadein {
    transform: translate(0, 20px);
}

.fadeleft {
    transform: translate(-20px, 0);
}

.faderight {
    transform: translate(20px, 0);
}

.fadein.scrollin,
.fadeleft.scrollin,
.faderight.scrollin {
    opacity  : 1;
    transform: translate(0, 0);
}

.fadein.delay01,
.fadeleft.delay01,
.faderight.delay01,
.zoomin.delay01 {
    transition-delay        : 0.2s;
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay   : 0.2s;
}

.fadein.delay02,
.fadeleft.delay02,
.faderight.delay02,
.zoomin.delay02 {
    transition-delay        : 0.4s;
    -webkit-transition-delay: 0.4s;
    -moz-transition-delay   : 0.4s;
}

.fadein.delay03,
.fadeout.delay03,
.fadeleft.delay03,
.faderight.delay03,
.zoomin.delay03 {
    transition-delay        : 0.6s;
    -webkit-transition-delay: 0.6s;
    -moz-transition-delay   : 0.6s;
}

.fadein.delay04,
.fadeleft.delay04,
.faderight.delay04,
.zoomin.delay04 {
    transition-delay        : 0.8s;
    -webkit-transition-delay: 0.8s;
    -moz-transition-delay   : 0.8s;
}

.fadein.delay05,
.fadeleft.delay05,
.faderight.delay05,
.zoomin.delay05 {
    transition-delay        : 1s;
    -webkit-transition-delay: 1s;
    -moz-transition-delay   : 1s;
}

.fadein.delay06,
.fadeleft.delay06,
.faderight.delay06,
.zoomin.delay06 {
    transition-delay        : 1.2s;
    -webkit-transition-delay: 1.2s;
    -moz-transition-delay   : 1.2s;
}

/* スライドイン */
.slideleft,
.slidentight,
.slidetop,
.slidebottom {
    opacity: 0;
}

.slideleft.scrollin {
    transform: translateX(200%);
    animation: slidein-left 0.5s ease-out forwards;
}

@keyframes slidein-left {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.slidentight.scrollin {
    transform: translateX(-200%);
    animation: slidein-right 0.5s ease-out forwards;
}

@keyframes slidein-right {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.slidetop.scrollin {
    transform: translateY(-200%);
    animation: slidein-top 0.5s ease-out forwards;
}

@keyframes slidein-top {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.slidebottom.scrollin {
    transform: translateY(200%);
    animation: slidein-bottom 0.5s ease-out forwards;
}

@keyframes slidein-bottom {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ズームイン */
.zoomin.scrollin {
    animation: zoomin 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
 
@keyframes zoomin {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* 文字スライドイン */
.slidetxt_box {
    overflow: hidden;
}

/* 左右のアニメーション */
.slide_txt {
    opacity: 0;
}

.slidetxt_left {
    animation-name:slidetextX100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slidetextX100 {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.slidetxt_right {
    animation-name:slidetextX-100;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slidetextX-100 {
  from {
    transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

/*******************************************************/

/*-----------------------------
header
-----------------------------*/

header,
.g-nav {
    z-index: 9999;
}

header {
    box-sizing: border-box;
    position: fixed;
    width: 100%;
    top: 0;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
    padding: 2rem 5rem;
    background: #fff;
    font-family: "Outfit", "Noto Sans JP", sans-serif;
}

header .container {
    overflow: inherit;
}

header .row {
    margin: 0 !important;
    overflow: inherit;
}

header [class*="col-sm-"],
footer [class*="col-sm-"] {
    padding: 0;
    margin: 0;
}

header .logo01 img,
nav.globalMenuSp .logo02 img {
    width: 7.9rem;
}

header .logo01 {
    display: table;
}

header .logo01 a {
    display: flex;
    align-items: center;
}

header .logo01 a h1,
header .logo01 a p {
    font-size: 1.2rem;
    margin-left: 1rem;
    font-weight: 500;
}

.g-nav .g-nav_list {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    font-size: 1.3rem;
    font-weight: bold;
}

header .g-nav .g-nav_list li {
    position: relative;
    padding: 0 3rem;
}

header .g-nav .g-nav_list li:last-child {
    padding: 0 0 0 1rem;
}

header .g-nav .g-nav_list li a {
    color: #000;
}

header .g-nav .g-nav_list li .more-btn a {
    color: #fff;
    width: 13.5rem;
    padding: 0.5rem;
    margin: 0;
}

.sp_menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header_btn .more-btn a {
    font-size: 1rem;
    padding: 0.5rem;
    width: 10rem;
    margin: 0 1rem 0 0;
}

/*-----------------------------
サブメニュー
-----------------------------*/

/* PC */
.g-nav .g-nav_list li.submenu {
    position: relative;
    z-index: 9999;
}

.g-nav .g-nav_list li.submenu .g-nav_sub span:hover,
.g-nav .g-nav_list li.submenu:hover,
.g-nav .g-nav_list li.submenu .g-nav_sub span:hover,
.g-nav .g-nav_list li.submenu:hover {
    cursor: pointer;
}

.g-nav .g-nav_list li.submenu .g-nav_sub {
    opacity: 0;
    position: absolute;
    top: 4rem;
    left: 0.8rem;
    width: 15rem;
    background: #FF6E25;
    box-sizing: border-box;
    visibility: hidden;
    text-align: left;
    font-size: 1rem;
    border: 1px solid #FF6E25;
}

.g-nav .g-nav_list li.submenu:hover .g-nav_sub,
.g-nav .g-nav_list li.submenu:hover .g-nav_sub:hover,
.g-nav .g-nav_list li.submenu .g-nav_sub:hover {
    top: 4rem;
    opacity: 1;
    visibility: visible;
}

.g-nav .g-nav_list li.submenu .g-nav_sub,
.g-nav .g-nav_list li.submenu:hover .g-nav_sub,
.g-nav .g-nav_list li.submenu:hover .g-nav_sub:hover,
.g-nav .g-nav_list li.submenu .g-nav_sub:hover {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
}

.g-nav .g-nav_list li.submenu .g-nav_sub li {
    padding: 0;
}

.g-nav .g-nav_list li.submenu .g-nav_sub li a {
    padding: 1rem 2.5rem;
    display: block;
    color: #fff;
}

.g-nav .g-nav_list li.submenu .g-nav_sub li a:hover {
    background-color: #fff;
    color: #FF6E25;
}

.g-nav .g-nav_list li.submenu .g-nav_sub li a span,
nav.globalMenuSp .g-nav_list li.submenu .g-nav_sub li a span {
    font-size: 0.6rem;
    margin-right: 1rem;
}

/* SP */
nav.globalMenuSp .g-nav_list li.submenu a {
    position: relative;
}

nav.globalMenuSp .g-nav_list li.submenu a::before {
    content: "";
    display: inline-block;
    position: absolute;
    right: -1rem;
    top: 50%;
    transform: translate(-50%, -50%);
    background-image: url(../images/common/accordion_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 1.1rem;
    height: 0.7rem;
}

nav.globalMenuSp .g-nav_list li.submenu .g-nav_sub {
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-20px);
    transition: max-height 0.6s ease, opacity 0.6s ease, transform 0.6s ease;
    font-size: 1.2rem;
    margin: 0.5rem 0 0 2rem;
}

nav.globalMenuSp .g-nav_list li.submenu .g-nav_sub li {
    padding: 0.5rem 0;
}

nav.globalMenuSp .g-nav_list li.submenu .g-nav_sub li a::before {
    display: none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp .g-nav_list li.submenu .g-nav_sub.active {
    max-height: 50rem;
    opacity: 1;
    transform: translateY(0);
}

/*-----------------------------
ハンバーガーメニュー
-----------------------------*/

.hamburger {
    z-index: 99999;
    /*position: fixed;
    right: 1rem;
    top: 2.3rem;*/
    cursor: pointer;
    text-align: center;
    border-radius: 5rem;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.hamburger span {
    display: block;
    width : 3rem;
    height: 4px;
    background : #000;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1),
.hamburger span:nth-child(2) {
    margin-bottom: 0.8rem;
}

.hamburger span:nth-child(3) {
}

/* ナビ開いてる時のボタン */
.hamburger.active {
    background-color: transparent;
    position: relative;
    top: 0;
    right: 1rem;
}

/* 線が縮むタイプ */
/*.hamburger.active span:nth-child(1),
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  width: 1.1rem;
}*/

/* ×になるタイプ */
/*.hamburger.active span {
    background: #fff;
}*/

.hamburger.active span:nth-child(1) {
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
  margin: 0;
}

.hamburger.active span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
  margin: -4px 0 0 0;
}

.hamburger.active span:nth-child(3) {
    opacity: 0;
}

nav.globalMenuSp {
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    background-color: #fff;
    transform: translateX(120%);
    transition: all 0.6s;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0 0 0 auto;
    width: 40rem;
    height: 100vh;
    text-align: center;
    padding: 2.5rem 0;
}

nav.globalMenuSp .logo02 {
    margin: 0 0 2rem 2rem;
}

nav.globalMenuSp .g-nav_list {
    text-align: left;
    font-size: 2rem;
}

nav.globalMenuSp .g-nav_list li:last-child {
    padding: 0 2rem;
}

nav.globalMenuSp .g-nav_list li a {
    display: block;
    color: #000;
    padding: 2rem;
    border-top: 1px solid #E6E6E6;
}

nav.globalMenuSp .more-btn a {
    margin-top: 5rem;
    color: #fff !important;
    font-size: 1.6rem;
    padding: 1.5rem !important;
    border: 2px solid #FF6E25 !important;
}

nav.globalMenuSp .more-btn a:hover {
    color: #FF6E25 !important;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}

/*-----------------------------
追従ボタン
-----------------------------*/

.tuijyu {
    position: fixed;
    bottom: 1.5em;
    right: 1.5em;
    z-index: 10;
    animation: moveUpDowntuijyu 1s infinite alternate; /* 上下に移動するアニメーションを定義 */
}

@keyframes moveUpDowntuijyu {
    0% {
        transform: translateY(0%);
    }
    100% {
        transform: translateY(-10%);
    }
}

.tuijyu img {
    width: 9.5rem;
    filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.25));
}

@media screen and (min-width: 1401px) {
    /* ヘッダー縮小時 */
    header.smaller {
        padding: 1rem 2.5rem;
    }

    .sp_menu {
        display: none;
    }
}

@media screen and (max-width: 1400px) {
    header {
        padding: 1rem 1rem 1rem 1.5rem;
    }

    header .g-nav {
        display: none;
    }

    header .logo01 img,
    nav.globalMenuSp .logo02 img {
        width: 7.9rem;
    }

    .tuijyu img {
        width: 7.6rem;
    }
}

@media screen and (max-width: 767px) {
    nav.globalMenuSp {
        width: 100vw;
    }

    header .logo01 a h1,
    header .logo01 a p {
        display: none;
    }
}

/*******************************************************/

/*-----------------------------
footer
-----------------------------*/

footer {
    padding-top: 3rem;
    background-color: #fff;
}

footer .container {
    max-width: 100%;
    padding: 0 5rem;
}

footer .row {
    margin-bottom: 3rem;
}

footer .logo img {
    width: 7.9rem;
}

footer .g-nav .g-nav_list {
    text-align: right;
    font-size: 1.2rem;
    font-weight: bold;
}

footer .g-nav .g-nav_list li {
    margin-right: 4rem;
}

footer .g-nav .g-nav_list li:last-child {
    margin: 0;
}

footer .g-nav .g-nav_list li a {
    color: #000;
}

footer .g-nav .g-nav_list li .more-btn a {
    color: #fff;
    width: 13.5rem;
    padding: 0.5rem;
    margin: 0 0 0 auto;
}

footer .sns {
    margin: 1rem 0 1.5rem;
    text-align: center;
}

footer .copy {
    padding: 1rem 0;
    border-top: 1px solid #000;
    text-align: center;
    color: #000;
    font-size: 1rem;
}

@media screen and (max-width: 1023px) {
    footer .g-nav .g-nav_list {
        justify-content: flex-start;
        margin-top: 2rem;
    }

    footer .g-nav .g-nav_list li {
        margin: 0 0 1rem;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    footer .g-nav .g-nav_list {
        text-align: left;
    }

    footer .g-nav .g-nav_list li .more-btn a {
        margin: 0;
    }
}

/*******************************************************/

/*-----------------------------
ボタン
-----------------------------*/

.more-btn a {
    color: #fff;
    display: table;
    padding: 1.5rem;
    margin: 0 auto 1rem;
    background-color: #FF6E25;
    border: 2px solid #FF6E25;
    width: 100%;
    max-width: 24.2rem;
    text-align: center;
    border-radius: 5rem;
    font-weight: bold;
}

.more-btn a:hover {
    background-color: #fff;
    color: #FF6E25 !important;
}

.more-btn.white a {
    background-color: #fff;
    border: 1px solid #fff;
    color: #000;
}

.more-btn.white a:hover {
    background-color: #FF6E25;
    color: #fff !important;
}

.more-btn.gray a {
    color: #fff;
    background-color: #000;
    border: 2px solid #000;
}

.more-btn.gray a:hover {
    color: #000 !important;
}

.more-btn.blue a {
    background-color: #00AFE4;
    border: 2px solid #00AFE4;
}

.more-btn.blue a:hover {
    background-color: #fff;
    color: #00AFE4 !important;
}

.more-btn02 a {
    color: #000;
    font-weight: bold;
    display: table;
    position: relative;
    margin: 3rem 0 0 auto;
    font-size: 1.4rem;
}

.more-btn02.gray a {
    font-size: 1.2rem;
}

.more-btn02 a::before {
    content: "●";
    display: inline-block;
    color: #FF6E25;
    font-size: 4.8rem;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: btn-scale-animation 1s infinite alternate;
}

@keyframes btn-scale-animation {
    0% {
        transform: translate(1rem, -50%) scale(1);
    }
    100% {
        transform: translate(1rem, -50%) scale(1.2);
    }
}

.more-btn02.gray a::before {
    color: #D9D9D9;
}

.more-btn02 a::after {
    content: "";
    display: inline-block;
    background-image: url(../images/common/arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 7rem;
    height: 1.2rem;
    z-index: 2;
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
}

.more-btn02.white a::after {
    background-image: url(../images/common/arrow_w.svg);
}

.more-btn02 a:hover::after {
    right: 1rem;
}

.more-btn02 a span {
    position: relative;
    z-index: 3;
    display: inline-block;
    margin-right: 9rem;
}

.more-btn02 a:hover span {
    opacity: 1;
    cursor : pointer;
    color: #FF6E25;
}

.more-btn02 a span::after {
    content      : "";
    display      : block;
    width        : 0;
    transition   : width 0.3s;
    border-bottom: 1px solid #FF6E25;
}

.more-btn02 a:hover span::after {
    width: 100%;
}

@media screen and (max-width: 1023px) {
    .more-btn a {
        max-width: 37.5rem;
    }

    .more-btn02 a::after {
        width: 4rem;
    }

    .more-btn02 a::before {
        font-size: 3.7rem;
    }

    .more-btn02 a span {
        margin-right: 7rem;
    }
}

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

/*******************************************************/

/*-----------------------------
テーブル
-----------------------------*/

table {
    margin : auto;
    display: table;
    width: 100%;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
    border-collapse: collapse;
    border-spacing : 0;
}

.scroll-box {
  overflow-x: auto;
  padding-bottom: 1rem;
  -webkit-overflow-scrolling: touch;
}

.scroll-box {
    margin-bottom: 2rem;
}

/* スクロールバー全体の高さ */
.scroll-box::-webkit-scrollbar {
    height: 3px;
}

/* スクロールバー全体の背景 */
.scroll-box::-webkit-scrollbar-track {
    background: #eee;
}

/* スクロールバーの動く部分 */
.scroll-box::-webkit-scrollbar-thumb {
    background: #000;
    border: none;
}

/* スクロールバーの動く部分のホバー（マウスオーバー）*/
.scroll-box::-webkit-scrollbar-thumb:hover {
    background: #999;
}

.scroll-box table {
    min-width: 60rem;
    border-collapse: collapse;
    border-spacing: 0;
}

.scroll-box table,
.table-box table {
    width: 100%;
}

.scroll-box th,
.scroll-box td {
    vertical-align: middle;
    border: 1px solid #DCDCDC;
    text-align: center;
    padding: 1rem !important;
}

.scroll-box th {
    background: #F9F4EA;
}

.table-box th {
    width: 25%;
    font-size: 1.1rem;
}

.table-box th.status {
    width: 10%;
}

.table-box th,
.table-box td {
    vertical-align: middle;
    padding: 1rem 0 !important;
    text-align: left;
}

@media screen and (max-width: 1023px) {
    .table-box th,
    .table-box td {
        display: block;
        width: 100% !important;
    }

    .table-box th {
        padding-bottom: 0 !important;
    }
}

/*******************************************************/

/*-----------------------------
パンくずリスト
-----------------------------*/

.breadcrumbs {
    padding: 1.6rem 0;
    font-size : 1.4rem;
    color: #000;
}

.page_business .breadcrumbs {
    padding-bottom: 7.6rem;
}

.breadcrumbs a {
    color: #000;
}

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

@media screen and (max-width: 767px) {
.page_business .breadcrumbs {
    padding-bottom: 5.6rem;
}
}

/*******************************************************/

/*-----------------------------
下層見出し
-----------------------------*/

.under_title {
    /*margin-top: 9.7rem;*/
    padding: 3rem 0 2rem;
    min-height: 30rem;
    background-color: #00AFE4;
    color: #fff;
    display: flex;
    align-items: center;
}

.under_title.img {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.under_title h1 {
    font-size: 6rem;
    margin-bottom: 1.5rem;
    position: relative;
}

.under_title p {
    font-size: 2rem;
    font-weight: bold;
}

.under_title .title_en {
    margin-bottom: 2rem;
    padding: 0.5rem 1rem;
    display: table;
    text-transform: uppercase;
    background-color: #FF6E25;
    color: #fff;
}

.under_title.img .title_en {
    background-color: #000;
    color: #fff;
}

@media screen and (max-width: 1023px) {
    .under_title {
        min-height: 25rem;
    }

    .under_title h1 {
        font-size: 3rem;
    }

    .under_title p {
        font-size: 1.4rem;
    }
}

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

}

/*******************************************************/

/*-----------------------------
投稿
-----------------------------*/

.sec_article .row.start_x [class*="col-sm-"] {
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    background-color: #fff;
    border-top: 4px solid #FF6E25;
}

.sec_article .img,
.sec_article .img img {
    aspect-ratio: 3 / 2;

}

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

.sec_article .img {
    overflow: hidden;
}

.sec_article .img img {
    transition: 0.5s all;
}

.sec_article .img:hover img {
    transform: scale(1.2,1.2);
    transition: 0.5s all;
}

.sec_article .txt {
    padding: 2rem 2rem 3rem;
}

.sec_article .main_category {
    color: #FF6E25;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.sec_article .category {
    margin: 2rem 0 0;
    display: flex;
    align-items: center;
}

.sec_article .category .title span {
    background-color: #F5F5F5;
    padding: 0.5rem 2rem;
    font-size: 1.2rem;
    border-radius: 5rem;
    margin-right: 1rem;
    display: block;
    width: 100%;
    max-width: 10.5rem;
    text-align: center;
}

.sec_article .category .date_cat {
    display: inline-block;
    margin: 0;
}

.sec_article .category .date_cat a {
    display: block;
    font-size: 1.2rem;
    color: #000;
    text-decoration: none;
}

.sec_article .category .date_cat a::before {
    content: "#";
}

.sec_article .txt h3 {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    min-height: 5rem;
}

.sec_article a:hover {
    color: #FF6E25;
}

.sec_article time {
    font-size: 1.2rem;
    color: #7C7D7E;
    min-height: 2.2rem;
}

.sec_article .more-btn02 a::before {
    font-size: 3.5rem;
    right: 1.5rem;
    top: 50%;
    transform: translate(-50%, -50%);
}

.sec_article .more-btn02.gray a::after {
    width: 4rem;
    height: 0.7rem;
}

.sec_article .more-btn02 a span {
    margin-right: 6rem;
}

.sec_article.page [class*="col-sm-"]:first-child {
    margin-right: 2%;
}

.sec_article.page [class*="col-sm-"]:last-child {
    margin-left: 2%;
}

.date {
    display: flex;
    align-items: center;
}

time {
    display: flex;
    align-items: center;
}

.newMark {
    box-sizing: border-box;
    margin: 0 0 0 0.5em;
    color: #fff;
    font-weight: bold;
    vertical-align: middle;
    display: inline-block;
    background-color: #00AFE4;
    padding: 0.5rem;
    line-height: 1;
}

.date_cat,
.date_cat a {
    color: #000;
}

.date_cat {
    color: #000;
    font-size: 1.2rem;
    margin-bottom: 1rem;
}

.tag_list {

}

.tag_list a {   
    color: #0057FF;
    position: relative;
    margin-right: 1rem;
}

.tag_list a::before {
    content: "#";
}

@media screen and (max-width: 1023px) {
    /*表示件数が奇数のとき*/
    .sec_article.page [class*="col-sm-"]:last-child {
        display: none;
    }

    time {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 767px) {
    .sec_article.page [class*="col-sm-"] {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    /*表示件数が奇数のとき*/
    .sec_article.page [class*="col-sm-"]:last-child {
        display: block;
    }

    .sec_article .txt {
        min-height: auto;
    }
}

/*-----------------------------
一覧
-----------------------------*/
.archive .sec_article .row.start {
    justify-content: flex-start;
}

.archive .sec_article .row.start_x [class*="col-sm-"]:first-child {
    margin-right: 2%;
}

.archive dl {
    padding: 1.5rem 0;
    border-bottom: 1px solid #000;
}

.archive dd h3 {
    margin: 0;
    font-size: 1.6rem;
}

.archive .sec_article .more-btn a {
    margin: 1rem 0 0 auto;
}

@media screen and (max-width: 1023px) {
    .archive .sec_article .row.start_x [class*="col-sm-"]:first-child {
        margin-right: 0;
    }
}

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

/*-----------------------------
カテゴリー / タグ
-----------------------------*/

/*-----------------------------
詳細
-----------------------------*/
.single .post_section {
    border-bottom: 1px solid #000;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

.single .post_section h2 {
    text-align: left;
    font-size: 3.2rem;
    border-bottom: 1px solid #FF6E25;
    padding-bottom: 2rem;
}

.single .post_section img {
    aspect-ratio: auto;
    width: auto;
    height: auto;
    object-fit: auto;
    
}

.single .date_cat a {
    background-color: #fff;
    padding: 0.5rem;
}

.single .date_cat a:hover {
    color: #000;
}

.single article time {
    justify-content: flex-end;
}

.single .more-btn a {
    margin: 0 auto;
}

@media screen and (max-width: 1023px) {
    .single .post_section h2 {
        font-size: 2rem;
    }
}

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

/*-----------------------------
サイドバー
-----------------------------*/
.sidebar {
    max-width: 20rem;
    margin: 0 0 4rem auto;
}

.sidebar h3 {
    font-size: 2.4rem;
}

.sidebar a {
    display: block;
    border-bottom: 1px solid #000;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.sidebar a,
.sidebar h4 {
    font-size: 1.4rem;
    font-weight: bold;
}

.sidebar h4 {
    margin: 0.5rem 0 0;
}

@media screen and (max-width: 1023px) {
    .sidebar {
        max-width: 100%;
        margin: 4rem 0 0;
    }
}

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

/*-----------------------------
ページ送り
-----------------------------*/
.pagination-area {
    margin: 2rem auto;
    text-align: center;
}

.pagination-area .pagination {
    text-align: center;
    margin: auto;
    display: block;
}

.pagination-area .pagination .nav-links .page-numbers.current,
.pagination-area .pagination .nav-links a {
    padding: 1rem 1.5rem;
    background: #FF6E25;
    color: #fff;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 1.4rem;
}

.pagination-area .pagination .nav-links a {
    opacity: 0.3; 
}

.pagination-area .pagination .nav-links a:hover {
    opacity: 1;
}

.post_nav {
    box-sizing: border-box;
    clear: both;
    overflow: hidden;
    margin: 2rem auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.2rem;
    font-weight: bold;
}

.post_nav .row {
    width: 100%;
}

.post_nav [class*="col-sm-"] {
    padding: 0;
}

.post_nav .prev a,
.post_nav .next a {
    border: 1px solid #FF6E25;
    color: #fff;
    display: table;
    padding: 1rem;
    box-sizing: border-box;
    background-color: #FF6E25;
    text-align: center;
}

.post_nav .prev a:hover,
.post_nav .next a:hover {
    background-color: #fff;
    color: #FF6E25;
}

.post_nav .prev {
    float: left;
}

.post_nav .prev a::before {
    content: "<";
    margin-right: 1rem;
}

.post_nav .next {
    float: right;
}

.post_nav .next a::after {
    content: ">";
    margin-left: 1rem;
}

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

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

/*******************************************************/

/*-----------------------------
スライダー
-----------------------------*/
.slick-slide {
    padding: 0 1rem;
}

/* 矢印 */
.slide-arrow {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    z-index: 2;
}

.prev-arrow {
    left: -2.5rem;
}

.next-arrow {
    right: -6rem;
}

/* ドット */
.slick-dots {
    bottom: -4rem !important;
}

.slick-dots li,
.slick-dots li button {
    width: 1rem !important;
}

.slick-dots li button:before {
    font-size: 0.7rem !important;
    opacity: 1 !important;
    color: #fff !important;
}

.slick-dots li.slick-active button:before {
    color: #24578C !important;
}

@media screen and (max-width: 1023px) {
    .slick-slide {
        padding: 0 2rem;
    }

    .prev-arrow {
        left: 0;
    }

    .next-arrow {
        right: -3.5rem;
    }
}

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

/*******************************************************/

/*-----------------------------
モーダルウィンドウ
-----------------------------*/
.modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0,0,0,50%);
    padding: 1rem;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-container:before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

.modal-container.active{
    opacity: 1;
    visibility: visible;
}

.modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 1000px;
    width: 100%;
}

.modal-content {
    background: #fff;
    padding: 2em;
    border-radius: 1rem;
}

.modal-content .more-btn a {
    margin: 2rem auto 0;
}

.modal-content .more-btn a::after {
    display: none;
}

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

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

/*******************************************************/

/*-----------------------------
タイムライン
-----------------------------*/
.timeline_content {
    position: relative;
    margin-top: 8rem;
}

.timeline {
    width: 0.05rem;
    height: 85%;
    position: absolute;
    top: 49%;
    left: 0.6rem;
    transform: translate(-50%, -50%);
    padding-top: 1.5rem;
}

.timeline span {
    display: block;
    width: 100%;
    height: 0%; /* 初期状態で高さを0%にする */
    background: #FF6E25;
}

.timeline.scrollin span {
    animation: grow-down 2s ease forwards; /* 2秒で伸びるアニメーション */
}

@keyframes grow-down {
    0% {
        height: 0%;
    }
    100% {
        height: 100%;
    }
}

.timeline_content dl {
    padding: 0;
    align-items: center;
}

.timeline_content dt {
    width: 100%;
    position: absolute;
    font-size: 1.2rem;
    color: #FF6E25;
}

.timeline_content dd {
    width: 95%;
    margin-left: 5%;
    border-bottom: 1px solid #D9D9D9;
    padding: 2rem 0;
    font-size: 1.8rem;
}

.timeline_content dl:last-child dd {
    border: none;
}

@media screen and (max-width: 1023px) {
    .timeline_content {
        margin: 0;
    }

    .timeline {
        height: 83%;
    }

    .timeline_content dt,
    .timeline_content dd {
        font-size: 1.4rem;
    }

    .timeline_content dd {
        width: 90%;
        margin-left: 10%;
        padding-right: 2rem;
    }
}

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

/*******************************************************/

/*-----------------------------
流れ
-----------------------------*/
.flow_box {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}

.flow_box .flow {
    text-align: center;
    background-color: #FFF100;
    width: 19.5rem;
    height: 19.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: relative;
    margin: 0 auto;
}

.flow_box .flow::after {
    content: "";
    display: inline-block;
    background-image: url(../images/common/arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 3.7rem;
    height: 1rem;
    z-index: 2;
    position: absolute;
    right: -1.8rem;
    top: 50%;
}

.flow_box .flow.last::after {
    display: none;
}

.flow_box .flow h3 {
    line-height: 1.3em;
}

.flow_box .flow.last h3 {
    font-size: 3.2rem;
}

.flow_box .flow p {
    margin: 0;
    font-size: 1.2rem;
}

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

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

    .flow_box .flow::after {
        transform: rotate(90deg) translateX(-40%);
        right: 40%;
        top: auto;
        bottom: -1.8rem;
    }
}

/*******************************************************/

/*-----------------------------
お問い合わせフォーム
-----------------------------*/
input,
select,
textarea {}

input[type="checkbox"i] {
    width: auto;
}

input[type="checkbox"],
input[type="radio"] {
    margin: 0 1rem 0 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 2rem;
    height: 2rem;
    position: relative;
    vertical-align: sub;
}

input[type="checkbox"]::before,
input[type="checkbox"]::after{
    content: "";
    display: block;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}

input[type="checkbox"]::before {
    background-color: #fff;
    border: 1px solid #000;
    height: 2rem;
    width: 2rem;
    left: 0;
}

input[type="checkbox"]::after {
    border-right: 3px solid #DB1517;
    border-bottom: 3px solid #DB1517;
    content: '';
    display: block;
    height: 1.5rem;
    left: 0.5rem;
    margin-top: -1rem;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 1rem;
}

input[type="checkbox"]:checked::after {
    opacity: 1;
}

input[type="radio"]::before,
input[type="radio"]::after{
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}

input[type="radio"]::before {
    background-color: #fff;
    border: 1px solid #000;
    height: 2rem;
    width: 2rem;
    left: 0;
}

input[type="radio"]::after {
    background: #DB1517;
    opacity: 0;
    height: 1rem;
    width: 1rem;
    left: 0.5rem;
}

input[type="radio"]:checked::after {
    opacity: 1;
}

input[type="tel"],
input[type="email"],
input[type="text"],
input[type="file"],
select,
textarea {
    overflow: hidden;
    padding: 1.5rem;
    box-sizing: border-box;
    resize: none;
    -webkit-appearance: none;
    -webkit-user-select: auto;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    margin: 0;
    background-color: #fff;
}

select {
    -webkit-appearance: auto;
    cursor: pointer;
}

input[type="file"] {
    background: none;
}

input[type="tel"],
input[type="email"],
input[type="text"],
select,
textarea {
    border: 1px solid #000;
    background-color: #fff;
}

textarea {
    width: 100%;
    overflow: auto;
}

[type="reset"],
[type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    transition: 0.3s;
    background-color: #FF6E25;
    border: 1px solid #FF6E25;
    color: #fff;
    display: table;
    width: 100%;
    max-width: 30rem;
    padding: 1rem;
    margin: 4rem auto 1rem;
    font-family: "Outfit", "Noto Sans JP", sans-serif;
    border-radius: 5rem;
    font-weight: 500;
}

[type="reset"] {
    background-color: #000;
    border: 1px solid #000;
}

[type="submit"]:hover {
    background-color: #FF6E25;
}

[type="reset"]:hover {
    background-color: #fff;
    color: #000;
}

.form-width-100 {
    width: 100%;
    margin-bottom: 0.5rem;
}

.form-width-50 {
    max-width: 50rem;
    width: 100%;
    margin-bottom: 0.5rem;
}

.form-width-30 {
    max-width: 30rem;
    width: 100%;
    margin-bottom: 0.5rem;
}

.form-width-15 {
    max-width: 15rem;
    width: 100%;
    margin-bottom: 0.5rem;
}

.required,
.optional {
    vertical-align: middle;
    box-sizing: border-box;
    margin: 0 1rem;
    display: inline-block;
    font-size: 1rem;
    padding: 0 0.5rem;
    font-weight: bold;
}

.required {
    border: 1px solid #DB1517;
    color: #DB1517;
}

.optional {
    border: 1px solid #656565;
    color: #656565;
}

.example {
    font-size: 1.2rem;
    color: #000;
}

::placeholder {
    color: #999;
}

.wpcf7-list-item {
    width: calc(100% / 1);
    margin: 0 0 0.5rem 0 !important;
}

.wpcf7-list-item label {
    display: flex;
    align-items: center;
}

.wpcf7-spinner {
    display: none !important;
}

.contactform {
    border-top: 1px solid #000;
}

.contactform p {
    margin: 0;
}

.contactform dl {
    align-items: center;
    border-bottom: 1px solid #000;
    padding: 2.5rem 1.5rem;
}

.contactform dt .catch {
    color: #FF6E25;
    font-size: 2rem;
}

.contactform .acceptance {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 4rem;
}

.contactform .acceptance div:first-child {
    margin-right: 2rem;
}

/* リキャプチャー */
.inv-recaptcha-holder {
    display: flex;
    justify-content: center;
    margin-bottom: 0.5rem;
}

@media screen and (max-width: 1023px) {
    input[type="tel"],
    input[type="email"],
    input[type="text"],
    input[type="file"],
    select,
    textarea {
        width: 100%;
        max-width: 100%;
        padding: 1rem;
    }
}

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

/*******************************************************/

/*-----------------------------
プライバシーポリシー
-----------------------------*/
.sec_privacy h3 {
    border-bottom: 2px solid #FF6E25;
    padding-bottom: 1rem;
    margin-top: 4rem;
}

/*-----------------------------
プライバシーポリシー
-----------------------------*/
/* サイトマップ */
.wsp-pages-title {
    display: none;
}

.wsp-pages-list {
    margin: 0;
}

.wsp-pages-list li {
    padding: 1rem;
    border-bottom: 1px solid #3D3D3D;
}

.wsp-pages-list li ul.children {
    margin: 0 0 0 2rem;
}

.wsp-pages-list li ul.children li {
    border: none;
    padding: 0;
}

.wsp-pages-list li ul.children li::before {
    content: "-";
    margin-right: 0.5rem;
}

/*******************************************************/

/*-----------------------------
お問い合わせ
-----------------------------*/
.sec_contact {
    background-color: #00AFE4;
}

.sec_contact h2 {
    font-size: 2.6rem;
    color: #fff;
}

.cta {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 4rem;
}

.cta .more-btn.gray {
    margin-right: 2rem;
}

.cta .more-btn a {
    min-width: 24.2rem;
}

@media screen and (max-width: 1023px) {
    .cta {
        display: block;
    }

    .cta .more-btn.gray {
        margin: 0 0 2rem;
    }
}

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

/*-----------------------------
NEWS
-----------------------------*/
.sec_news {
    padding: 0;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
}

.sec_news_box { 
    width: 100%;
    max-width: 80rem;
    margin: 0 0 0 auto;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    margin-bottom: 0.5rem;
    padding: 3rem 2rem;
    background-color: #fff;
}

.sec_news h2 {
    font-size: 2.8rem;
    margin: 0;
    text-align: center;
}

.sec_news dl {
    align-items: center;
    padding: 0;
}

.sec_news dl:nth-child(2) {
    padding-top: 2rem;
}

.sec_news dt {
    width: 35%;
}

.sec_news dd {
    width: 65%;
}

.sec_news h3 {
    padding: 0;
    margin: 0;
    font-size: 1.6rem;
    color: #000;
}

.sec_news h3:hover {
    color: #FF6E25;
}

.sec_news .more-btn02 a {
    margin: 3rem 3rem 0 auto;
}

.activity dl dt {
    width: 70%;
}

.activity dl.btn-2 dt {
    width: 45%;
}

.activity dl dd {
    width: 30%;
}

.activity dl.btn-2 dd {
    width: 55%;
    display: flex;
}

.activity dl.btn-2 .more-btn {
    width: 50%;
}

@media screen and (max-width: 1024px) {
    .sec_news {
        position: relative;
    }

    .sec_contact h2 {
        font-size: 2.4rem;
    }

    .sec_news_box {
        max-width: 100%;
        box-shadow: none;
        padding: 1rem 3rem 3rem;
    }

    .sec_news h2 {
        font-size: 2.4rem;
    }

    .sec_news h3 {
        font-size: 1.2rem;
    }

    .sec_news .more-btn02 a {
        margin-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .sec_news h2 {
        margin-bottom: 2rem;
    }

    .sec_news dt {
        width: 48%;
        padding: 0;
    }

    .sec_news dd {
        width: 52%;
    }
}

/*******************************************************/

/*-----------------------------
ページコンテンツ
-----------------------------*/

.instagram_box a {
    width: 100%;
}

.instagram_box {
    max-width: 800px;
    margin: 0 auto;
}

.instagram_box .content {
    background-image: url(../images/common/instagram_box_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    text-align: center;
    padding: 4rem 0 6rem;
    box-shadow: 0 4px 4px rgba(0,0,0,0.25);
    border-radius: 1rem;
    margin: 4rem 0 0.5rem;
}

.instagram_box.myfield .content {
    background-image: url(../images/common/instagram_box_myfield_bg.jpg);
}

.instagram_box img {
    width: 6.6rem;
    margin: 0 auto;
}

.instagram_box.mfs img {
    width: 3rem;
}

.instagram_box h3 {
    font-size: 7.2rem;
    color: #fff;
    margin: 0;
    font-weight: bold;
    font-family: "din-2014-narrow", sans-serif;
}

.instagram_box.mfs h3 {
    font-size: 2.4rem;
}

.border_box {
    border: 1px solid #000;
    padding: 2rem;
    margin: 4rem 0;
}

.border_box ul {
    display: flex;
    margin: 0;
}

.border_box li {
    margin-right: 2rem;
}

.position_box {
    position: relative;
}

.bg_black {
    color: #fff !important;
    background-color: #1C4F98;
    border-radius: 1rem;
}

.bg_black.img_round img {
    border-radius: 1rem 1rem 0 0;
}

.bg_black .txt {
    padding: 1.5rem 3rem;
    margin: 0;
}

.bg_black .txt h3 {
    text-align: center;
}

.bg_black .txt p {
    margin: 0;
}

.schedule_img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 0.5rem;
    padding: 1rem;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

/*-----------------------------
固定ページ
-----------------------------*/
.sports-event01 {
    background: url(../images/section01_bg_accent01.svg), url(../images/section01_bg_accent02.svg), url(../images/section01_bg.svg);
    background-repeat: no-repeat;
    background-position: top left, bottom right, center;
    background-size: 58.7rem 40.2rem, 58.7rem 43.1rem, cover;
}

.sports-event02 .title_en {
    border-top: 1px solid #000;
    padding-top: 3rem;
}

.sports-event03,
.about01,
.classroom01,
.soccer-clinic01 {
    background-image: url(../images/section03_bg.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.page_about main .container {
    max-width: calc(800px + 6rem);
}

.about02 dl {
    border-bottom: 1px solid #000;
    padding: 1rem 1.5rem;
}

.soccer-clinic01 .img01 {
    margin: 0 auto;
    width: 20rem;
}

.classroom01 .bg_black img,
.soccer-clinic01 .bg_black img,
.sports-event01 .bg_black img {
    border-radius: 1rem 1rem 0 0;
}

.soccer-clinic01 .row .bg_black:nth-child(2) img {
    height: 208px;
    width: 100%;
    object-fit: cover;
}

.soccer-clinic01 .row .bg_black:nth-child(2) .txt {
    margin-top: -1.3rem;
}

/*******************************************************/

/*-----------------------------
Responsive
-----------------------------*/

@media screen and (max-width: 1023px) {
    .instagram_box .content {
        padding: 3rem 0 4rem;
    }

    .instagram_box img {
        width: 3rem;
    }

    .instagram_box h3 {
        font-size: 3.5rem;
    }

    .soccer-clinic01 .row .bg_black:nth-child(2) img {
        height: auto;
    }
}

@media screen and (max-width: 767px) {
    .activity dl,
    .activity dl.btn-2 dd {
        display: block;
    }

    .activity dl dt,
    .activity dl dd,
    .activity dl.btn-2 .more-btn {
        width: 100% !important;
    }
}