/******************************************************************
Theme Name: 日本バウンドテニス協会
Theme URI: davinciinc.co.jp
Author: DAVINCI inc.
Author URI: https://davinciinc.co.jp/
Version: 2.0
******************************************************************/

/* --------------------------------------------------
 common
--------------------------------------------------- */

/* font setting
--------------------------------------------------- */

@charset "UTF-8";


/* reset
--------------------------------------------------- */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:3px solid Highlight;outline-offset:2px;scroll-margin-block:10vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

/* root setting
--------------------------------------------------- */

:root {
    --font-en: 'jost', serif;
	--font-jp: "Helvetica Neue", "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	--font-min: 'Noto Serif JP', serif;
    --color-bbk: #000000;
	--color-bk: #222222;
	--color-bgy: #333333;
	--color-dgy: #606060;
	--color-gy: #b7b7b7;
	--color-dwgy: #ddd;
	--color-wgy: #f1f1f1;
	--color-wh: #fff;
	--color-bl: #3477a5;
    --color-nv: #001f33;
	--color-kh: #aeb08f;
    --color-dkh: #727267;
    --color-rd: #b50000;
    --color-lrd: #bf3636;
    --color-ord: #c95555;
    --color-line: #e2e2e2;
}

/* layout
--------------------------------------------------- */

html {
    height: 100%;
    font-size: 100%;
    background-color: var(--color-wgy)!important;
}
body {
    height: 100%;
    font-family: var(--font-jp);
    font-weight: 400;
    line-height: 1.8;
    color: var(--color-bk);
    background-color: var(--color-wgy)!important;
    overflow-y: scroll;
}
body::after {
    z-index: 9999;
    content: "";
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    background: var(--color-bk);
    pointer-events: none;
    animation-name: fadeOut;
    animation-delay: 0;
    animation-duration: .7s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(.8,0,.5,1);
}
body.viewtrans::after {
    animation-name: fadeIn;
    animation-delay: 0;
    animation-duration: .7s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(.8,0,.5,1);
}
@-webkit-keyframes fadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}
a {
    display: block;
    color: var(--color-bk);
    text-decoration: none;
	outline: none;
    cursor: pointer;
}
p a {
	display: inline;
}
img,
svg {
    width: 100%;
    height: auto;
}

.wrap {
    z-index: 99;
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    min-width: 320px;
    height: auto !important;
    height: 100%;
    min-height: 100%;
    margin: auto;
	overflow-x: hidden;
	transition: 1s;
}

.bg {
    z-index: 98;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
}
.bg span {
    position: absolute;
    top: 0;
    width: 1px;
    height: 100vh;
    background: var(--color-line);
}
.bg span:nth-of-type(1) {
    left: 50%;
    transform: translate(-50%, 0);
}
.bg span:nth-of-type(2) {
    left: 25%;
}
.bg span:nth-of-type(3) {
    right: 25%;
}


.mask {
    width: auto;
    height: auto;
    overflow: hidden;
}
.mask .mask__inner {
    width: inherit;
    height: inherit;
    opacity: 0;
    overflow: hidden;
}
.mask .mask__inner.inview {
    position: relative;
    animation-name: maskIn;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(.8,0,.5,1);
    opacity: 1 !important;
}
.mask .mask__inner.inview:before {
    z-index: 1;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-nv);
    animation-name: maskOut;
    animation-duration: .5s;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(.8,0,.5,1);
}

@keyframes maskIn {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0);
    }
}
@keyframes maskOut {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(101%);
    }
}
.fade {
    opacity: 0;
    transform: translate(0, 1em);
}
.fade.inview {
    position: relative;
    animation-name: fadeIn;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(.8,0,.5,1);
    opacity: 0;
    transform: translate(0, 0);
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@media screen and (max-width: 767px) {
    br.is-pc {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    br.is-sp {
        display: none;
    }
}

.en-text {
	font-family: var(--font-en);
	font-weight: 400;
}
.jp-text {
	font-family: var(--font-jp);
}

svg.filter {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}

.effect-text {
    overflow: hidden;
    line-height: 1;
}
.effect-text span {
    display: inline-block;
    opacity: 0;
    transform: translate(0, 1em);
    transition: all .3s ease-out;
}
.inview .effect-text span {
    transform: translate(0, 0);
    opacity: 1;
}

p {
    font-size: 0.95rem;
    line-height: 1.7;
    text-align: justify;
}
@media screen and (min-width: 768px) {
    p {
        font-size: 1rem;
    }
}

/* --------------------------------------------------
 common pager
--------------------------------------------------- */

/*.pager {
    padding: 0 0 50px;
    text-align: center;
    font-family: var(--font-en);
    font-size: 0.9rem;
    font-weight: 400;
}
.pager a {
    color: var(--color-gy);
    transition: .3s;
}
.pager a:hover {
    color: var(--color-bk);
}
.pager .page-numbers {
    display: inline-block;
    width: 35px;
    padding: 5px;
    text-align: center;
}
.pager .prev, .pager .next {
    width: 50px;
}
.pager .current {
    position: relative;
    color: var(--color-bk);
}
.pager .current:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20%;
    width: 60%;
    height: 1px;
    background-color: var(--color-bk);
}
@media screen and (min-width: 1280px) {
    .pager {
        padding-bottom: 80px;
    }
}*/

.pager {
	display: flex;
	justify-content: center;
	gap: 6px;
	width: 100%;
	font-size: 0.8rem;
}
.pager .page-numbers {
	padding: 3px 8px;
	background: var(--color-wh);
}
.pager .current {
	background: var(--color-rd);
	color: var(--color-wh);
}
.news__list .pager,
.championship-list .pager {
	margin-top: 30px;
}
@media screen and (min-width: 768px) {
	.pager {
		padding: 20px;
		font-size: 0.9rem;
	}
	.pager .page-numbers {
		padding: 5px 12px;
	}
}
@media screen and (min-width: 1024px) {
	.pager {
		gap: 8px;
		padding: 20px;
		font-size: 0.95rem;
	}
	.pager .page-numbers {
		padding: 8px 18px;
	}
}

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

.header {
    z-index: 94;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	height: 64px;
    transition: .3s;
    background: var(--color-wgy);
    border-bottom: 1px solid var(--color-line);
}
.header__inner {
    z-index: 3;
	display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
	width: 100%;
    height: 100%;
	padding: 0 20px 0 15px;
}
.header__inner .logo {
    z-index: 10000;
    position: relative;
    width: 210px;
}
.header__inner .logo a {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
}
.header__inner .logo a .logo__img {
	width: 100%;
	height: auto;
}

@media screen and (min-width: 768px) {
    .header {
        height: 80px;
    }
	.header__inner .logo {
		width: 250px;
    }
}
@media screen and (min-width: 1024px) {
    .header {
        height: 70px;
    }
    .header::before {
        display: none;
    }
    .header__inner {
        align-items: center;
        padding: 0 30px;
    }
    .header__inner .logo {
		width: 230px;
    }
}
@media screen and (min-width: 1280px) {
    .header {
        height: 74px;
    }
    .header::before {
        display: none;
    }
    .header__inner {
        align-items: center;
        padding: 0 30px;
    }
    .header__inner .logo {
		width: 230px;
    }
}

/* menu-btn
--------------------------------------------------- */

.menu-btn {
    z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    width: 64px;
    height: 64px;
	cursor: pointer;
}
.menu-btn__inner {
	position: absolute;
	width: 40px;
	height: 40px;
    border-radius: 100%;
	background: var(--color-nv);
}
@media screen and (min-width: 768px) {
	.menu-btn {
        width: 80px;
		height: 80px;
	}
}
@media screen and (min-width: 1024px) {
    .menu-btn {
        position: relative;
        width: 36px;
		height: 70px;
	}
    .menu-btn__inner {
        width: 36px;
        height: 36px;
    }
}
@media screen and (min-width: 1280px) {
    .menu-btn {
        position: relative;
        width: 36px;
		height: 74px;
	}
}

.menu-btn__inner span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 4px;
    background: var(--color-wh);
    border-radius: 100%;
    transform: translate(-50%, -50%);
    transition: .3s;
}
.menu-btn__inner span:nth-of-type(1) {
    margin-left: -8px;
}
.menu-btn__inner span:nth-of-type(3) {
    margin-left: 8px;
}
.menu-btn.active .menu-btn__inner span:nth-of-type(1) {
    margin: 0;
    transform: translate(-50%,-50%) rotate(-42deg);
}
.menu-btn.active .menu-btn__inner span:nth-of-type(3) {
	margin: 0;
    transform: translate(-50%,-50%) rotate(42deg);
}
@media screen and (min-width: 1024px) {
    .menu-btn__inner span:nth-of-type(1) {
        margin-left: -7px;
    }
    .menu-btn__inner span:nth-of-type(3) {
        margin-left: 7px;
    }
}


/* g-nav
--------------------------------------------------- */

.g-nav {
    z-index: 9998;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    overflow-y: scroll;
    transition: .3s;
	background: var(--color-wh);
    opacity: 0;
    pointer-events: none;
}
.g-nav.open {
    opacity: 1;
    pointer-events: painted;
}
.g-nav.open::before {
    z-index: 6;
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 64px;
    background: var(--color-wh);
}
.g-nav__inner {
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 45px;
	position: relative;
	padding: 90px 0 80px;
}
@media screen and (min-width: 768px) {
    .g-nav.open::before {
        height: 80px;
    }
    .g-nav__inner {
        padding: 190px 60px 80px;
    }
}
@media screen and (min-width: 1024px) {
    .g-nav.open::before {
        height: 74px;
    }
    .g-nav__inner {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 900px;
        padding: 0;
        transform: translate(-50%, -50%);
    }
}
@media screen and (min-width: 1280px) {
    .g-nav__inner {
        min-width: 1100px;
    }
}

.g-nav__list {
	z-index: 3;
	position: relative;
	width: 100%;
    background: var(--color-wh);
}
.g-nav__list ul {
    display: flex;
    flex-wrap: wrap;
}
.g-nav__list ul li {
    width: 100%;
}
.g-nav__list > ul > li {
    border-bottom: 1px solid var(--color-wgy);
}

.g-nav__list ul li a {
	position: relative;
    width: 100%;
    height: 55px;
    line-height: 55px;
    padding: 0 20px;
}
.g-nav__list > ul > li > a {
    font-size: 0.95rem;
    font-weight: 700;
}
.g-nav__list ul.child li a {
    font-size: 0.9rem;
    padding-left: 40px;
}
.g-nav__list ul li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 26px;
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--color-bk);
    border-right: 1px solid var(--color-bk);
    transform: translate(0, -50%) rotate(45deg);
    opacity: 0.8;
}
.g-nav__list ul.child li a::before {
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
}
.g-nav__list ul li.has-child > a {
    padding-right: 70px;
}
.g-nav__list ul li.has-child > a::before {
    right: 70px;
}
.g-nav__list ul li.has-child {
    position: relative;
}
.g-nav__list ul li.has-child span {
    z-index: 99;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 55px;
    height: 55px;
    border-left: 1px solid var(--color-wgy);
}
.g-nav__list ul li.has-child span::before,
.g-nav__list ul li.has-child span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--color-bk);
    transform: translate(-50%, -50%);
}
.g-nav__list ul li.has-child span::before {
    width: 12px;
    height: 1px;
}
.g-nav__list ul li.has-child span::after {
    width: 1px;
    height: 11px;
}
.g-nav__list ul li.has-child.open > span::after {
    display: none;
}
.g-nav__list ul li ul.child li {
    background: var(--color-nv);
}
.g-nav__list ul.child li:nth-last-of-type(1) {
    border: none;
}
.g-nav__list ul.child {
    display: none;
    padding: 20px 0;
    background: var(--color-nv);
}
.g-nav__list ul.child li a {
    color: var(--color-wh);
}
@media screen and (min-width: 768px) {
    .g-nav__list ul li a {
        height: 65px;
        line-height: 65px;
    }
    .g-nav__list > ul > li > a {
        font-size: 1rem;
    }
    .g-nav__list ul.child li a {
        font-size: 0.95rem;
        padding-left: 40px;
    }
    .g-nav__list ul li.has-child span {
        width: 65px;
        height: 65px;
        border-right: 1px solid var(--color-wgy);
    }
    .g-nav__list ul li a::before {
        right: 31px;
        width: 7px;
        height: 7px;
    }
    .g-nav__list ul li.has-child > a::before {
        right: 82px;
    }
}
@media screen and (min-width: 1024px) {
    .g-nav__list > ul {
        display: grid;
        grid-template-columns: repeat(24, 1fr);
        gap: 10px;
    }
    .g-nav__list > ul > li:nth-child(1) { grid-column: 1 / 5; grid-row: 1 / 2; }
    .g-nav__list > ul > li:nth-child(3) { grid-column: 1 / 5; grid-row: 2 / 3; }
    .g-nav__list > ul > li:nth-child(7) { grid-column: 1 / 5; grid-row: 3 / 5; }
    .g-nav__list > ul > li:nth-child(2) { grid-column: 5 / 10; grid-row: 1 / 5; }
    .g-nav__list > ul > li:nth-child(4) { grid-column: 10 / 15; grid-row: 1 / 5; }
    .g-nav__list > ul > li:nth-child(5) { grid-column: 15 / 20; grid-row: 1 / 5; }
    .g-nav__list > ul > li:nth-child(6) { grid-column: 20 / 25; grid-row: 1 / 5; }
    
    .g-nav__list ul.child {
        display: block;
        background: none;
        margin: 15px 0;
        padding: 0;
        border-left: 1px solid var(--color-line);
    }
    .g-nav__list > ul > li {
        width: 100%;
        border-bottom: 0;
    }
    .g-nav__list > ul > li:nth-last-child(1) {
        padding: 0;
    }
    .g-nav__list > ul > li > a {
        font-size: 0.95rem;
    }
    .g-nav__list ul.child li a {
        font-size: 0.9rem;
        color: var(--color-bk);
    }
    .g-nav__list ul li a {
        height: auto;
        line-height: 1.8;
        padding: 0;
    }
    .g-nav__list ul li a:hover {
        text-decoration: underline;
    }
    .g-nav__list ul li ul.child li {
        background: none;
    }
    .g-nav__list ul.child li a {
        padding-left: 8px;
    }
    .g-nav__list ul li a::before,
    .g-nav__list ul li.has-child span {
        display: none;
    }
}
@media screen and (min-width: 1280px) {
    .g-nav__list > ul {
        gap: 40px;
    }
    .g-nav__list > ul > li > a {
        font-size: 1.05rem;
    }
    .g-nav__list ul.child li a {
        padding: 3px 0 3px 13px;
        font-size: 1rem;
        color: var(--color-bk);
    }
}




.pc-nav {
    display: none;
}
.pc-head-link {
    display: none;
}

@media screen and (min-width: 1024px) {
    .pc-nav {
        display: block;
        position: relative;
        top: auto;
        right: auto;
        width: auto;
        height: 70px;
        margin-left: auto;
        margin-right: 25px;
        background: none;
        overflow: inherit;
    }
    .pc-nav__inner {
        flex-direction: row;
        height: 70px;
        padding: 0;
    }
    .pc-nav__list > ul {
        display: flex;
        flex-direction: row;
        gap: 15px;
        align-items: center;
        height: 70px;
    }
    .pc-nav__list > ul > li {
        height: 70px;
    }
    .pc-nav__list > ul > li > a {
        display: flex;
        align-items: center;
        position: relative;
        height: 70px;
        font-size: 0.85rem;
        font-weight: 700;
        line-height: 1;
    }
    .pc-nav__list > ul > li.has-child > a {
        padding-right: 20px;
    }
    .pc-nav__list > ul > li.has-child > a::before,
    .pc-nav__list > ul > li.has-child > a::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translate(0, -50%);
    }
    .pc-nav__list > ul > li.has-child > a::before {
        right: 0;
        width: 14px;
        height: 14px;
        background: var(--color-rd);
    }
    .pc-nav__list > ul > li.has-child > a::after {
        top: 50%;
        right: 5px;
        width: 4px;
        height: 4px;
        border-bottom: 1px solid var(--color-wh);
        border-right: 1px solid var(--color-wh);
        transform: translate(0, -50%) rotate(45deg);
    }
    
    .pc-nav__list > ul > li.has-child > .child {
        position: absolute;
        left: 50%;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        pointer-events: none;
        transform: translate(-50%, 0);
    }
    .pc-nav__list > ul > li.has-child:hover > .child {
        width: 100%;
        opacity: 1;
        max-height: 600px;
        pointer-events: painted;
        transition: opacity 0.3s ease, max-height 0.3s ease;
    }
    .pc-nav__list > ul > li.has-child > .child ul {
        width: 100%;
		padding: 25px;
		background: var(--color-lrd);
    }
    .pc-nav__list > ul > li.has-child > .child ul li {
        width: 100%;
        border-bottom: 1px solid var(--color-ord);
    }
    .pc-nav__list > ul > li.has-child > .child ul li a {
        position: relative;
        width: 100%;
		padding: 8px 15px;
		color: var(--color-wh);
        font-size: 0.85rem;
        font-weight: 700;
        transition: .2s;
    }
    .pc-nav__list > ul > li.has-child > .child ul li a::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 15px;
        width: 6px;
        height: 6px;
        border-top: 1px solid var(--color-wh);
        border-right: 1px solid var(--color-wh);
        transform: translate(0, -50%) rotate(45deg);
        transition: .2s;
    }
    .pc-nav__list > ul > li.has-child > .child ul li a:hover {
        background: var(--color-wh);
        color: var(--color-bk);
    }
    .pc-nav__list > ul > li.has-child > .child ul li a:hover::before {
        border-top: 1px solid var(--color-bk);
        border-right: 1px solid var(--color-bk);
    }
    .pc-head-link {
        position: fixed;
        bottom: 30px;
        left: 40px;
        display: flex;
        align-items: center;
        gap: 30px;
        padding-right: 30px;
        background: var(--color-wh);
    }
    .pc-head-contact a {
        display: flex;
        align-items: center;
        position: relative;
        height: 50px;
        padding: 0 25px;
        background: var(--color-nv);
        color: var(--color-wh);
    }
    .pc-head-link .pc-head-sns ul {
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .pc-head-link .pc-head-sns ul li {
        width: 24px;
    }
}
@media screen and (min-width: 1280px) {
    .pc-nav {
        height: 74px;
    }
    .pc-nav__inner {
        height: 74px;
    }
    .pc-nav__list > ul {
        gap: 30px;
        height: 74px;
    }
    .pc-nav__list > ul > li {
        height: 74px;
    }
    .pc-nav__list > ul > li > a {
        height: 74px;
        font-size: 0.95rem;
    }
    .pc-nav__list > ul > li.has-child > .child ul li a {
        font-size: 0.95rem;
    }
    .pc-head-link {
        position: relative;
        bottom: auto;
        left: auto;
        width: auto;
        margin-right: 40px;
        padding-right: 0;
        background: none;
    }
    .pc-head-contact a::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 1px;
        height: 30px;
        background: var(--color-bk);
        transform: translate(0, -50%);
    }
    .pc-head-contact a {
        display: flex;
        align-items: center;
        height: 74px;
        font-size: 0.95rem;
        font-weight: 700;
        background: none;
        color: var(--color-bk);
    }
}

/* --------------------------------------------------
 page common
--------------------------------------------------- */

main {
    flex: 1;
    padding-top: 64px;
}
.main__inner {
    padding-bottom: 50px;
}
@media screen and (min-width: 768px) {
    main {
        padding-top: 80px;
    }
    .main__inner {
        padding-bottom: 60px;
    }
}
@media screen and (min-width: 1024px) {
    main {
        padding-top: 70px;
    }
    .main__inner {
        padding-bottom: 80px;
    }
}
@media screen and (min-width: 1280px) {
    main {
        padding-top: 74px;
    }
}
.is-top .main__inner {
    padding-bottom: 0;
}

.jp__text {
    font-family: var(--font-jp);
}
.en__text {
    font-family: var(--font-en);
}

.breadcrumb {
    z-index: 1;
    position: relative;
    width: 100%;
}
.breadcrumb__inner {
    z-index: 2;
    position: relative;
    width: 100%;
}
.breadcrumb__inner ul {
    display: flex;
    justify-content: flex-end;
    gap: 18px;
    padding: 50px 20px 20px;
}
.breadcrumb__inner ul li {
    position: relative;
    font-size: 0.75rem;
}
.breadcrumb__inner ul li::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    width: 1px;
    height: 12px;
    background: var(--color-bk);
    transform: translate(0,-50%) rotate(40deg);
}
.breadcrumb__inner ul li:nth-last-child(1)::before {
    display: none;
}
@media screen and (min-width: 768px) {
    .breadcrumb__inner ul {
		max-width: 1000px;
		margin: auto;
        padding: 50px 40px 20px;
    }
}
@media screen and (min-width: 1024px) {
	.breadcrumb__inner ul {
		padding: 70px 60px 20px;
    }
}
@media screen and (min-width: 1280px) {
	.breadcrumb__inner ul {
		max-width: 1400px;
	}
}

.page-header {
    z-index: 1;
    position: relative;
    width: 100%;
}
.page-header__inner {
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    position: relative;
    width: 100%;
    margin: 0 0 30px;
	border-top: 1px solid var(--color-line);
    border-bottom: 1px solid var(--color-line);
}
.page-header__inner .image {
    width: 100%;
    height: 220px;
    overflow: hidden;
}
.page-header__inner .image picture {
    width: 100%;
    height: 100%;
}
.page-header__inner .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (min-width: 768px) {
    .page-header__inner .image {
        height: 320px;
    }
}
@media screen and (min-width: 1024px) {
    .page-header__inner .image {
        height: 400px;
        border-radius: 0;
    }
}
@media screen and (min-width: 1280px) {
	.page-header__inner .image {
        height: 550px;
    }
}

.page-title {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
    padding: 26px 20px 20px;
}
.page-title p {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1;
    text-align: left;
}
.page-title h1 {
    font-size: 0.9rem;
    font-weight: 400;
}
@media screen and (min-width: 768px) {
    .page-title {
		max-width: 1000px;
		margin: auto;
        padding: 28px 40px 22px;
    }
    .page-title p {
        font-size: 2.2rem;
    }
    .page-title h1 {
        font-size: 0.95rem;
    }
}
@media screen and (min-width: 1024px) {
    .page-title {
        padding: 28px 60px 22px;
		
    }
	.page-title p,
	.page-title h1 {
		text-align: center;
	}
}
@media screen and (min-width: 1280px) {
    .page-title {
		gap: 10px;
		max-width: 1400px;
        padding: 48px 60px 42px;
    }
	.page-title p {
        font-size: 2.5rem;
    }
	.page-title h1 {
        font-size: 0.9rem;
    }
}




.c-inner {
    position: relative;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}
.c-inner p {
    font-size: 0.95rem;
}
@media screen and (min-width: 768px) {
    .c-inner {
        max-width: 1000px;
        margin: auto;
        padding-left: 40px;
        padding-right: 40px;
    }
}
@media screen and (min-width: 1024px) {
    .c-inner {
        padding-left: 60px;
        padding-right: 60px;
    }
    .c-inner p {
        font-size: 1rem;
        line-height: 2;
    }
}
@media screen and (min-width: 1280px) {
    .c-inner {
        max-width: 1400px;
    }
}
@media screen and (min-width: 1401px) {
    .c-inner {
        max-width: 1400px;
    }
}

.c-head {
    border-top: 1px solid var(--color-line);
    border-bottom: 1px solid var(--color-line);
}
.c-head__inner {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    padding: 20px 20px 19px;
}
.c-head__inner p {
    font-family: var(--font-en);
    font-size: 1.7rem;
    font-weight: 300;
    line-height: 1;
}
.c-head h2 {
    font-size: 0.8rem;
    letter-spacing: .05em;
    text-indent: .05em;
    line-height: 1;
}

@media screen and (min-width: 768px) {
    .c-head__inner {
        gap: 15px;
        max-width: 1000px;
        margin: auto;
        padding: 20px 40px 19px;
    }
    .c-head__inner p {
        font-size: 2.4rem;
    }
    .c-head h2 {
        font-size: 0.9rem;
    }
}
@media screen and (min-width: 1024px) {
    .c-head__inner {
        gap: 15px;
        padding: 20px 60px 19px;
    }
    .c-head__inner p {
        font-size: 2.4rem;
    }
    .c-head h2 {
        font-size: 0.9rem;
    }
}
@media screen and (min-width: 1280px) {
    .c-head__inner {
        max-width: 1400px;
        padding: 31px 60px 29px;
    }
    .c-head__inner p {
        font-size: 2.6rem;
    }
    .c-head h2 {
        font-size: 1rem;
    }
}



/* --------------------------------------------------
 front page
--------------------------------------------------- */

/* mv
--------------------------------------------------- */

.mv {
	z-index: 1;
	position: relative;
	width: 100%;
}
.mv__inner {
	z-index: 2;
    position: relative;
	width: 100%;
    padding: 25px 0 150px;
}
.mv__splide .splide__slide .card {
    width: 100%;
    height: 240px;
    overflow: hidden;
    border-radius: 6px;
}
.mv__splide .splide__slide .card .card__image {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.mv__splide .splide__slide .card .card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mv__splide .splide__pagination {
    display: flex;
    flex-wrap: nowrap;
    gap: 5px;
    bottom: -15px;
}
.mv__splide .splide__pagination li {
    width: 100%;
    max-width: 50px;
    height: 4px;
}
.mv__splide .splide__pagination li button {
    width: 100%;
    height: 100%;
    border-radius: 0;
    background: var(--color-wh);
}
.mv__splide .splide__pagination li button.is-active {
    width: 100%;
    transform: scale(1);
    background: var(--color-rd);
}
.mv__splide .splide__arrows {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    background: #aaa;
}
.mv__splide .splide__arrow {
    width: 50px;
    height: 50px;
    background: var(--color-nv);
    opacity: 1;
}
.mv__splide .splide__arrow--prev {
    left: -25px;
}
.mv__splide .splide__arrow--next {
    right: -25px;
}
.mv__splide .splide__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--color-wh);
}
.mv__splide .splide__arrow--prev::before {
    right: 10px;
    border-left: 2px solid var(--color-wh);
    transform: translate(0, -50%) rotate(-45deg);
}
.mv__splide .splide__arrow--next::before {
    left: 10px;
    border-right: 2px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
    .mv__inner {
        padding: 50px 0 180px;
    }
    .mv__splide .splide__slide .card {
        height: 340px;
    }
    .mv__splide .splide__arrow {
        width: 60px;
        height: 60px;
    }
    .mv__splide .splide__arrow--prev {
        left: -30px;
    }
    .mv__splide .splide__arrow--next {
        right: -30px;
    }
    .mv__splide .splide__arrow::before {
        width: 8px;
        height: 8px;
    }
    .mv__splide .splide__arrow--prev::before {
        right: 14px;
    }
    .mv__splide .splide__arrow--next::before {
        left: 14px;
    }
    .mv__splide .splide__pagination li {
        width: 70px;
    }
    .mv__splide .splide__pagination li button {
        width: 60px;
    }
    .mv__splide .splide__pagination li button.is-active {
        width: 60px;
    }
}
@media screen and (min-width: 1024px) {
    .mv__inner {
        padding: 50px 0 240px;
    }
    .mv__splide .splide__slide .card {
        height: 400px;
    }
    .mv__splide .splide__pagination {
        gap: 20px;
        bottom: -20px;
    }
    .mv__splide .splide__arrow {
        width: 80px;
        height: 80px;
    }
    .mv__splide .splide__arrow--prev {
        left: -40px;
    }
    .mv__splide .splide__arrow--next {
        right: -40px;
    }
    .mv__splide .splide__arrow::before {
        width: 9px;
        height: 9px;
    }
    .mv__splide .splide__arrow--prev::before {
        right: 19px;
    }
    .mv__splide .splide__arrow--next::before {
        left: 19px;
    }
}
@media screen and (min-width: 1280px) {
    .mv__inner {
        padding: 60px 0 280px;
    }
    .mv__splide .splide__slide .card {
        height: 520px;
    }
}

.mv-bg {
	z-index: 2;
	position: absolute;
	bottom: 20px;
	left: 0;
    right: 0;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
}
.mv-bg ul {
	display: flex;
    width: 100%;
	gap: 20px;
}
.mv-bg ul li {
	flex: 0 0 auto;
    padding-left: 0.5em;
	font-family: var(--font-en);
	font-size: 4.5rem;
	font-weight: 600;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
	color: var(--color-wh);
}
.mv-bg ul li:nth-child(odd) {
    -webkit-animation: loop 180s -90s linear infinite;
    animation: loop 180s -90s linear infinite;
}
.mv-bg ul li:nth-child(even) {
    -webkit-animation: loop2 180s linear infinite;
    animation: loop2 180s linear infinite;
}
@-webkit-keyframes loop {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}
@keyframes loop {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
    to {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}
@-webkit-keyframes loop2 {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    to {
        -webkit-transform: translateX(-200%);
        transform: translateX(-200%);
    }
}
@keyframes loop2 {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    to {
        -webkit-transform: translateX(-200%);
        transform: translateX(-200%);
    }
}
@media screen and (min-width: 768px) {
    .mv-bg {
	}
    .mv-bg ul li {
        font-size: 7rem;
    }
}
@media screen and (min-width: 1024px) {
    .mv-bg {
        bottom: 35px;
    }
}
@media screen and (min-width: 1280px) {
    .mv-bg {
        bottom: 45px;
    }
    .mv-bg ul li {
        font-size: 9rem;
    }
}


/* top news
--------------------------------------------------- */

.top-news {
    position: relative;
    width: 100%;
}
.news-contents {
    padding-top: 30px;
}
.news-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin-bottom: 20px;
}
.tab-button {
    width: calc(50% - (15px / 2));
    padding: 8px 20px;
    border: 1px solid var(--color-bk);
    border-radius: 30px;
    color: var(--color-bk);
    line-height: 1;
    cursor: pointer;
    outline: none;
}
.tab-button.active {
    border: 1px solid var(--color-nv);
    background: var(--color-nv);
    color: var(--color-wh);
}
.news-desc {
    width: 100%;
    padding: 30px 20px;
    background: var(--color-wh);
    border-radius: 6px;
}
.news-list {
    display: none;
}
.news-list.active {
    display: flex;
    flex-direction: column;
}
.news-list .news-item a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 25px;
    padding: 22px 5px 15px;
    border-bottom: 1px solid var(--color-wgy);
}
.news-list .news-item a .post-category {
    position: relative;
}
.news-list .news-item a .post-category::after {
    content: "";
    position: absolute;
    top: 0;
    right: -12px;
    width: 1px;
    height: 100%;
    background: var(--color-bk);
}
.news-list .news-item a .post-category p {
    padding: 5px 12px;
    background: var(--color-nv);
    color: var(--color-wh);
    font-size: 0.8rem;
    line-height: 1;
}
.news-list .news-item a .post-championship p {
	background: var(--color-rd);
}
.news-list .news-item a .post-gold p {
	background: var(--color-bl);
}
.news-list .news-item a .post-title {
    width: 100%;
}
.news-list .news-item a .post-title h3 {
    font-size: 0.95rem;
    font-weight: 500;
}
@media screen and (min-width: 768px) {
    .news-contents {
        padding-top: 50px;
    }
    .news-tabs {
        margin-bottom: 40px;
    }
    .tab-button {
        width: calc(33.3333% - (30px / 3));
        padding: 12px 20px;
    }
    .news-desc {
        padding: 40px;
    }
    .news-list .news-item a {
        gap: 15px 30px;
        padding: 28px 8px 18px;
    }
    .news-list .news-item a .post-category::after {
        right: -15px;
    }
    .news-list .news-item a .post-category p {
        width: 130px;
        text-align: center;
    }
}
@media screen and (min-width: 1024px) {
    .news-contents {
        display: flex;
        align-items: flex-start;
        gap: 40px;
        width: 100%;
    }
    .news-tabs {
        flex-direction: column;
        gap 20px;
        width: 250px;
        margin: 0;
        padding: 40px 0;
    }
    .tab-button {
        width: 100%;
    }
    .news-list .news-item a .post-category p {
        width: 150px;
        padding: 6px 12px 5px;
        font-size: 0.9rem;
    }
    .news-list .news-item a .post-title h3 {
        font-size: 1rem;
    }
}
@media screen and (min-width: 1280px) {
    .news-list .news-item a {
        flex-wrap: nowrap;
    }
}

/* top banner
--------------------------------------------------- */

.top-banner {
    position: relative;
    width: 100%;
}
.top-banner__inner {
    position: relative;
    width: 100%;
    padding-top: 60px;
}
.banner-list {
    width: 100%;
}
.banner-list ul {
    display: flex;
    flex-wrap: wrap;
}
.banner-list ul li {
    z-index: 1;
    position: relative;
    width: 100%;
    height: 190px;
    overflow: hidden;
    border-bottom: 1px solid var(--color-dgy);
}
.banner-list ul li:nth-last-child(1) {
    border-bottom: 0;
}
.banner-list ul li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
}
.banner-list ul li span {
    display: block;
}
.banner-list ul li .text {
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 10px;
    font-size: 0.85rem;
    color: var(--color-wh);
    transition: .3s;
}
.banner-list ul li .dot {
    z-index: 4;
    position: relative;
    width: 100%;
    height: 10px;
}
.banner-list ul li .dot span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background: var(--color-wh);
    border-radius: 100%;
    transition: .3s;
    transform: translate(-50%, -50%);
}
.banner-list ul li .dot span:nth-of-type(1) {
    margin-left: -12px;
}
.banner-list ul li .dot span:nth-of-type(3) {
    margin-left: 12px;
}
.banner-list ul li:hover .dot span:nth-of-type(1) {
    margin-left: 0;
}
.banner-list ul li:hover .dot span:nth-of-type(3) {
    margin-left: 0;
}


.banner-list ul li .btn {
    z-index: 6;
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: var(--color-rd);
}
.banner-list ul li .btn::before,
.banner-list ul li .btn::after {
    content: "";
    position: absolute;
    top: 50%;
}
.banner-list ul li .btn::before {
    left: 50%;
    width: 15px;
    height: 1px;
    background: var(--color-wh);
    transform: translate(-50%, -50%);
}
.banner-list ul li .btn::after {
    right: 7px;
    width: 4px;
    height: 4px;
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}

.banner-list ul li .image {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}
.banner-list ul li .image::before {
    z-index: 2;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-bk);
    opacity: 0.6;
}
.banner-list ul li .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}
@media screen and (min-width: 768px) {
    .top-banner__inner {
        padding: 70px 40px 10px;
    }
    .banner-list ul {
        gap: 26px;
    }
    .banner-list ul li {
        width: calc(50% - 13px);
    }
    .banner-list ul li .text {
        font-size: 1rem;
    }
}
@media screen and (min-width: 1024px) {
    .top-banner__inner {
        max-width: 1000px;
        margin: auto;
        padding: 100px 60px 20px;
    }
    .banner-list ul li {
        height: 230px;
    }
    .banner-list ul li:hover .image img {
        transform: scale(1.1);
    }
}
@media screen and (min-width: 1280px) {
    .top-banner__inner {
        max-width: 1400px;
    }
    .banner-list ul li {
        height: auto;
        aspect-ratio: 2 / 1;
    }
    .banner-list ul li .text {
        font-size: 1.05rem;
        font-weight: 700;
    }
    .banner-list ul li .btn {
        width: 50px;
        height: 50px;
    }
    .banner-list ul li .btn::before {
        width: 18px;
    }
    .banner-list ul li .btn::after {
        right: 15px;
        width: 5px;
        height: 5px;
    }
}


/* top recommend
--------------------------------------------------- */

.top-recommend {
    position: relative;
    width: 100%;
    padding: 40px 0;
}
@media screen and (min-width: 768px) {
    .top-recommend {
        padding: 80px 0;
    }
}
@media screen and (min-width: 1024px) {
    .top-recommend {
        padding: 100px 0;
    }
}
@media screen and (min-width: 1280px) {
    .top-recommend {
        padding: 120px 0;
    }
}

.recommend__splide {
    z-index: 7;
    position: relative;
    padding-top: 40px;
}
.recommend__splide .splide__wrapper {
	z-index: 1;
	position: relative;
}
.recommend__splide .splide__slide {
	border-radius: 6px;
	overflow: hidden;
	background: var(--color-nv);
}
.recommend__splide .image {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: var(--color-wh);
	overflow: hidden;
}
.recommend__splide .image .mask,
.recommend__splide .image .mask__inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.recommend__splide .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.recommend__splide .desc {
    z-index: 1;
    position: relative;
	padding: 25px 20px 20px;
	color: var(--color-wh);
}
.recommend__splide .desc h3 {
    z-index: 3;
    position: relative;
    font-size: 1rem;
    padding-bottom: 10px;
}
.recommend__splide .desc .text {
    z-index: 3;
    position: relative;
    width: 100%;
}
.recommend__splide .desc .text .ss-address {
    font-size: 0.85rem;
}
.recommend__splide .desc .text .ss-tel {
    font-size: 0.85rem;
}
.recommend__splide .desc .arrow {
    z-index: 2;
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 30px;
    height: 30px;
    border: 1px solid var(--color-wh);
    border-radius: 100%;
    opacity: 0.5;
}
.recommend__splide .desc .arrow::before,
.recommend__splide .desc .arrow::after {
    z-index: 2;
    content: "";
    position: absolute;
    top: 50%;
}
.recommend__splide .desc .arrow::before {
    right: 7.5px;
    width: 5px;
    height: 5px;
    transform: translate(0, -50%) rotate(45deg);
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
}
.recommend__splide .desc .arrow::after {
    left: 50%;
    width: 15px;
    height: 1px;
    background: var(--color-wh);
    transform: translate(-50%, -50%);
}
.recommend__splide .splide__controller {
	display: none;
}
@media screen and (min-width: 768px) {
    .recommend__splide {
        padding-top: 60px;
    }
}
@media screen and (min-width: 1280px) {
    .recommend__splide {
        padding-top: 70px;
    }
}


/* top about
--------------------------------------------------- */

.top-about {
    padding-bottom: 60px;
}
.about-list {
    width: 100%;
}
.about-list ul {
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    position: relative;
}
.about-list ul::before {
    z-index: 2;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    background: var(--color-line);
    transform: translate(-50%, 0);
}
.about-list ul li {
    z-index: 1;
    position: relative;
    width: 50%;
    height: 220px;
    overflow: hidden;
    border-bottom: 1px solid var(--color-line);
}
.about-list ul li:nth-child(2n+2) {
    border-right: 0;
}
.about-list ul li a {
    position: relative;
    width: 100%;
    height: 100%;
}
.about-list ul li span {
    display: block;
}
.about-list ul li .text {
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 10px;
    font-size: 0.85rem;
    color: var(--color-wh);
    transition: .3s;
}
.about-list ul li .hover-line-01,
.about-list ul li .hover-line-02 {
    z-index: 5;
    position: absolute;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
}
.about-list ul li .hover-line-01 {
    top: 0;
    left: 0;
}
.about-list ul li .hover-line-02 {
    bottom: 0;
    right: 0;
}
.about-list ul li .hover-line-01::before,
.about-list ul li .hover-line-01::after,
.about-list ul li .hover-line-02::before,
.about-list ul li .hover-line-02::after {
    content: "";
    position: absolute;
    background: var(--color-wh);
    opacity: 0.5;
    transition: .8s;
}
.about-list ul li .hover-line-01::before,
.about-list ul li .hover-line-02::before {
    width: 0;
    height: 1px;
}
.about-list ul li .hover-line-01::after,
.about-list ul li .hover-line-02::after {
    width: 1px;
    height: 0;
}
.about-list ul li a:hover .hover-line-01::before,
.about-list ul li a:hover .hover-line-02::before {
    width: 100%;
    height: 1px;
}
.about-list ul li a:hover .hover-line-01::after,
.about-list ul li a:hover .hover-line-02::after {
    width: 1px;
    height: 100%;
}
.about-list ul li .hover-line-01::before {
    bottom: 0;
    right: 0;
}
.about-list ul li .hover-line-01::after {
    bottom: 0;
    right: 0;
}
.about-list ul li .hover-line-02::before {
    top: 0;
    left: 0;
}
.about-list ul li .hover-line-02::after {
    top: 0;
    left: 0;
}

.about-list ul li .btn {
    z-index: 6;
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: var(--color-nv);
}
.about-list ul li .btn::before,
.about-list ul li .btn::after {
    content: "";
    position: absolute;
    top: 50%;
}
.about-list ul li .btn::before {
    left: 50%;
    width: 15px;
    height: 1px;
    background: var(--color-wh);
    transform: translate(-50%, -50%);
}
.about-list ul li .btn::after {
    right: 7px;
    width: 4px;
    height: 4px;
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}

.about-list ul li .image {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}
.about-list ul li .image::before {
    z-index: 2;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-bk);
    opacity: 0.6;
}
.about-list ul li .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (min-width: 768px) {
    .about-list ul li .text {
        font-size: 1rem;
    }
}
@media screen and (min-width: 1280px) {
    .top-about {
        padding-bottom: 90px;
    }
    .about-list ul {
        background: var(--color-wgy);
    }
    .about-list ul::after {
        z-index: 2;
        content: "";
        position: absolute;
        top: 0;
        right: 33.3333%;
        width: 1px;
        height: 100%;
        background: var(--color-line);
        transform: translate(0, 0);
    }
    .about-list ul::before {
        left: 33.3333%;
        transform: translate(0, 0);
    }
    .about-list ul li {
        width: 33.3333%;
        height: auto;
        aspect-ratio: 2 / 1;
    }
    .about-list ul li .text {
        font-size: 1.05rem;
        font-weight: 700;
        color: var(--color-bk);
    }
    .about-list ul li:hover .text {
        color: var(--color-wh);
    }
    .about-list ul li .btn {
        width: 50px;
        height: 50px;
    }
    .about-list ul li .btn::before {
        width: 18px;
    }
    .about-list ul li .btn::after {
        right: 15px;
        width: 5px;
        height: 5px;
    }
    .about-list ul li .image {
        opacity: 0;
    }
    .about-list ul li:hover .image {
        opacity: 1;
    }
}



/* company
--------------------------------------------------- */

.company {
    z-index: 1;
    position: relative;
    background: var(--color-bl);
    color: var(--color-wh);
}
.company__inner {
    z-index: 3;
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
}
.company__inner .image {
    width: 100%;
    height: 280px;
}
.company__inner .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.company__inner .desc {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 50px 30px;
}
@media screen and (min-width: 768px) {
    .company::before {
        z-index: 2;
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 180px;
        background: var(--color-wh);
    }
    .company__inner {
        flex-direction: row;
        padding-top: 90px;
        padding-bottom: 100px;
    }
    .company__inner .image {
        width: calc(100% - 400px);
        height: 480px;
    }
    .company__inner .desc {
        width: 400px;
        padding: 60px;
    }
}
@media screen and (min-width: 1024px) {
    .company__inner {
        padding-right: calc((100% - 1000px) / 2);
    }
    .company__inner .image {
        width: calc(100% - 500px);
        height: 480px;
    }
    .company__inner .desc {
        width: 500px;
        padding: 60px 60px 60px 80px;
    }
}
@media screen and (min-width: 1280px) {
    .company__inner {
        padding: 100px calc((100% - 1200px) / 2) 100px calc(((100% - 1200px) / 2) + 60px);
    }
    .company__inner .image {
        width: calc(100% - 500px);
        height: 480px;
    }
    .company__inner .desc {
        width: 500px;
        padding: 60px 60px 60px 80px;
    }
}

.company__inner .head h2 {
    text-indent: inherit;
}
.company__inner .head p {
    text-indent: inherit;
    color: var(--color-nv);
}
.company__inner .text p {
    font-size: 0.95rem;
    text-align: justify;
}
.company__inner .link {
    display: flex;
    justify-content: center;
    width: 100%;
    padding-top: 20px;
}
.company__inner .link a {
    width: auto;
    padding: 5px 20px;
    background: var(--color-kh);
    color: var(--color-wh);
    font-size: 0.9rem;
    font-weight: 700;
    border-radius: 20px;
}
@media screen and (min-width: 768px) {
    .company__inner .link a {
        padding: 8px 25px;
        font-size: 1rem;
        border-radius: 30px;
    }
}

/* --------------------------------------------------
 page parent
--------------------------------------------------- */

.parent {
	position: relative;
	width: 100%;
}
.parent__inner {
	width: 100%;
	padding: 0 20px;
}
.parent__inner ul {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.parent__inner ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 140px;
	overflow: hidden;
}
.parent__inner ul li a .image {
	z-index: 1;
	position: absolute;
	width: 100%;
	height: 100%;
}
.parent__inner ul li a .image::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-bk);
	opacity: 0.6;
}
.parent__inner ul li a .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.parent__inner ul li a .text {
	z-index: 3;
	position: relative;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1;
	color: var(--color-wh);
}
@media screen and (min-width: 768px) {
	.parent__inner {
		padding: 20px 40px 0;
	}
	.parent__inner ul {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.parent__inner ul li {
		width: calc(50% - 10px);
	}
}
@media screen and (min-width: 1024px) {
	.parent__inner {
		padding: 30px 60px 0;
	}
}
@media screen and (min-width: 1280px) {
	.parent__inner {
		max-width: 1200px;
		margin: auto;
	}
	.parent__inner ul li {
		width: calc(33.3333% - (40px / 3));
	}
}

/* --------------------------------------------------
 page sports
--------------------------------------------------- */

.sports-results {
    position: relative;
    width: 100%;
}
.sports-results__inner {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 20px;
}
.sports-results__inner .head h2 {
    padding: 10px;
    font-size: 1.2rem;
    border-bottom: 4px double var(--color-gy);
}
.sports-results__inner .text {
    padding: 15px;
    border-radius: 4px;
    background: var(--color-wh);
}
.sports-results__inner .block {
    display: flex;
    flex-direction: column;
	gap: 25px;
	padding-top: 15px;
}
.sports-results__inner .block .block__item {
	display: flex;
    flex-direction: column;
	gap: 15px;
}
.sports-results__inner .block .block__item .mhead {
	position: relative;
	padding: 8px 0;
	line-height: 1;
	color: var(--color-nv);
	font-weight: 700;
}
.sports-results__inner .block .block__item .mhead::before,
.sports-results__inner .block .block__item .mhead::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
}
.sports-results__inner .block .block__item .mhead::before {
	z-index: 3;
	width: 30px;
	background: var(--color-nv);
}
.sports-results__inner .block .block__item .mhead::after {
	z-index: 2;
	width: 100%;
	background: var(--color-gy);
}
.sports-results__inner .block .block__item .desc .linklist {
	display: flex;
    flex-direction: column;
	gap: 10px;
}
.sports-results__inner .block .block__item .desc .linklist a {
	position: relative;
	background: var(--color-nv);
	color: var(--color-wh);
	padding: 10px 25px 10px 10px;
	font-size: 0.9rem;
	line-height: 1.4;
	border-radius: 4px;
    transition: .3s;
}
.sports-results__inner .block .block__item .desc .linklist a:hover {
    opacity: 0.8;
}
.sports-results__inner .block .block__item .desc .linklist a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--color-wh);
	border-right: 1px solid var(--color-wh);
	transform: translate(0, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
    .sports-results__inner {
        gap: 25px;
        padding: 0 40px;
    }
    .sports-results__inner .head h2 {
        text-align: center;
    }
    .sports-results__inner .text {
        padding: 25px;
        text-align: center;
    }
    .sports-results__inner .block {
        gap: 30px;
        padding-top: 25px;
    }
    .sports-results__inner .block .block__item {
        gap: 20px;
    }
    .sports-results__inner .block .block__item .mhead {
        padding: 12px 0;
    }
    .sports-results__inner .block .block__item .desc .linklist {
        gap: 15px;
    }
    .sports-results__inner .block .block__item .desc .linklist a {
        padding: 12px 25px 12px 12px;
        font-size: 0.95rem;
    }
}
@media screen and (min-width: 1024px) {
    .sports-results__inner {
        padding: 0 60px;
    }
    .sports-results__inner .block .block__item .mhead {
        padding: 15px 0;
        font-size: 1.2rem;
    }
    .sports-results__inner .block .block__item .mhead::before {
        width: 50px;
    }
    .sports-results__inner .block .block__item .desc .linklist a {
        padding: 15px 25px 15px 15px;
        font-size: 1rem;
    }
    .sports-results__inner .block .block__item .desc .linklist a::before {
        right: 20px;
    }
}
@media screen and (min-width: 1280px) {
	.sports-results__inner {
		max-width: 1200px;
		margin: auto;
    }
    .sports-results__inner .head h2 {
        padding: 15px;
        font-size: 1.3rem;
    }
    .sports-results__inner .block .block__item .desc .linklist {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .sports-results__inner .block .block__item .desc .linklist a {
        display: flex;
        align-items: center;
        width: calc(33.3333% - (30px / 3));
        padding: 18px 35px 18px 18px;
    }
}


.sports-next {
    position: relative;
    width: 100%;
    padding-top: 40px;
}
.sports-next__inner {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 20px;
}
.sports-next__inner .head h2 {
    padding: 10px;
    font-size: 1.2rem;
    border-bottom: 4px double var(--color-gy);
}
.sports-next__inner .block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.sports-next__inner .block .block__item .mhead {
    padding: 10px 12px 10px;
    line-height: 1.5;
    background: var(--color-rd);
    color: var(--color-wh);
    text-align: justify;
    font-weight: 700;
}
.sports-next__inner .block .block__item .desc {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 20px;
}
.sports-next__inner .block .block__item .desc .desc__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 15px;
    background: var(--color-wh);
    border-radius: 4px;
}
.sports-next__inner .block .block__item .desc .desc__item h3 {
    font-size: 1rem;
}
.sports-next__inner .block .block__item .desc .desc__item p {
    font-size: 0.9rem;
    line-height: 1.5;
}
.sports-next__inner .block .block__item .desc .desc__item p a {
    display: block;
    position: relative;
    background: var(--color-nv);
    color: var(--color-wh);
    padding: 12px 25px 12px 12px;
}
.sports-next__inner .block .block__item .desc .desc__item p a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
    .sports-next {
        padding-top: 80px;
    }
    .sports-next__inner {
        gap: 25px;
        padding: 0 40px;
    }
    .sports-next__inner .head h2 {
        text-align: center;
    }
    .sports-next__inner .block .block__item .desc {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 20px;
    }
    .sports-next__inner .block .block__item .desc .desc__item {
        width: calc(50% - 10px);
        padding: 25px;
    }
    .sports-next__inner .block .block__item .desc .desc__item h3 {
        font-size: 1.05rem;
    }
    .sports-next__inner .block .block__item .desc .desc__item p {
        font-size: 0.9rem;
    }
}
@media screen and (min-width: 1024px) {
    .sports-next__inner {
        padding: 0 60px;
    }
}
@media screen and (min-width: 1280px) {
	.sports-next__inner {
		max-width: 1200px;
		margin: auto;
    }
    .sports-next__inner .head h2 {
        padding: 15px;
        font-size: 1.3rem;
    }
    .sports-next__inner .block .block__item .mhead {
        padding: 15px 18px 15px;
        font-size: 1.05rem;
    }
    .sports-next__inner .block .block__item .desc .desc__item {
        padding: 25px;
    }
    .sports-next__inner .block .block__item .desc .desc__item h3 {
        font-size: 1.1rem;
    }
    .sports-next__inner .block .block__item .desc .desc__item p {
        font-size: 0.95rem;
    }
    .sports-next__inner .attention {
        padding: 15px 0 20px;
    }
}

.sports-archive {
	padding-top: 30px;
}
.sports-archive__inner {
	padding: 20px;
}
.sports-archive h2 {
	padding: 10px;
	font-size: 1rem;
	text-align: center;
	background: var(--color-nv);
	color: var(--color-wh);
}
.sports-archive ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 15px;
}
.sports-archive ul li {
	width: calc(33.3333% - (20px / 3));
}
.sports-archive ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px;
	background: var(--color-wh);
	transition: .3s;
}
.sports-archive ul li a:hover {
	background: var(--color-rd);
	color: var(--color-wh);
}
@media screen and (min-width: 768px) {
	.sports-archive__inner {
		padding: 20px 40px;
	}
    .sports-archive ul {
		padding-top: 20px;
	}
	.sports-archive ul li {
		width: calc(20% - (40px / 5));
	}
}
@media screen and (min-width: 1024px) {
    .sports-archive {
		padding-top: 50px;
		padding-bottom: 20px;
	}
	.sports-archive__inner {
		padding: 20px 60px;
	}
}
@media screen and (min-width: 1280px) {
	.sports-archive {
		max-width: 1200px;
		margin: auto;
	}
	.sports-archive ul li {
		width: calc(14.285% - (60px / 7));
	}
}


/* --------------------------------------------------
 page hosted
--------------------------------------------------- */

.hosted-results {
    position: relative;
    width: 100%;
}
.hosted-results__inner {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 20px;
}
.hosted-results__inner .head h2 {
    padding: 10px;
    font-size: 1.2rem;
    border-bottom: 4px double var(--color-gy);
}
.hosted-results__inner .text {
    text-align: justify;
    font-size: 0.95rem;
    line-height: 1.5;
}
.hosted-results__inner .block {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.hosted-results__inner .block .block__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 15px;
    background: var(--color-wh);
}
.hosted-results__inner .block .block__item .mhead {
    font-weight: 700;
}
.hosted-results__inner .block .block__item .desc {
    font-size: 0.95rem;
    line-height: 1.5;
}
.hosted-results__inner .block .block__item .link {
    padding-top: 15px;
}
.hosted-results__inner .block .block__item .link a {
    display: inline-block;
    padding: 8px;
    background: var(--color-nv);
    color: var(--color-wh);
}

@media screen and (min-width: 768px) {
    .hosted-results__inner {
        gap: 25px;
        padding: 0 40px;
    }
    .hosted-results__inner .head h2 {
        text-align: center;
    }
	.hosted-results__inner .block .block__item {
		padding: 25px;
	}
}
@media screen and (min-width: 1024px) {
    .hosted-results__inner {
        padding: 0 60px;
    }
	.hosted-results__inner .text {
		padding: 15px;
		font-size: 1rem;
		text-align: center;
	}
	.hosted-results__inner .block {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 10px;
	}
	.hosted-results__inner .block .block__item {
		width: calc(33.3333% - (20px / 3));
	}
}
@media screen and (min-width: 1280px) {
	.hosted-results__inner {
		max-width: 1200px;
		margin: auto;
    }
    .hosted-results__inner .head h2 {
        padding: 15px;
        font-size: 1.3rem;
    }
}

.hosted-gold {
    position: relative;
    width: 100%;
    padding-top: 40px;
}
.hosted-gold__inner {
    padding: 0 20px;
}
.hosted-gold__inner .head {
	padding-bottom: 20px;
}
.hosted-gold__inner .head h2 {
    padding: 10px;
    font-size: 1.2rem;
    border-bottom: 4px double var(--color-gy);
}
.hosted-gold__inner h3 {
	margin-bottom: 15px;
    padding: 15px;
    font-size: 1rem;
	background: var(--color-rd);
	color: var(--color-wh);
}
.hosted-gold__inner .gold-textarea {
	margin-top: 20px;
	padding: 20px 5px;
	border-top: 1px solid var(--color-gy);
	border-bottom: 1px solid var(--color-gy);
}
.hosted-gold__inner .gold-block {
	padding-top: 20px;
}
.hosted-gold__inner .gold-block h4 {
	padding: 5px 5px 5px 10px;
	border-left: 4px solid var(--color-nv);
	font-size: 1rem;
	line-height: 1.5;
	background: var(--color-wh);
}
.hosted-gold__inner .gold-block-dl {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 15px 0;
}
.hosted-gold__inner .gold-block-dl dt {
	font-weight: 700;
    color: var(--color-rd);
}
.hosted-gold__inner .gold-block-dl dd {
	font-size: 0.95rem;
}
.hosted-gold__inner .gold-pdf {
	margin-top: 20px;
	padding: 20px 0;
}
.hosted-gold__inner .gold-pdf a {
	display: inline;
	position: relative;
	padding: 15px 30px 15px 20px;
	background: var(--color-wh);
	color: var(--color-bk);
}
.hosted-gold__inner .gold-pdf a::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--color-bk);
	border-right: 1px solid var(--color-bk);
	transform: translate(0, -50%) rotate(45deg);
}

.hosted-gold__inner .gold-archive {
	padding-top: 30px;
}
.hosted-gold__inner .gold-archive h2 {
	padding: 10px;
	font-size: 1rem;
	text-align: center;
	background: var(--color-nv);
	color: var(--color-wh);
}
.hosted-gold__inner .gold-archive ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 15px;
}
.hosted-gold__inner .gold-archive ul li {
	width: calc(33.3333% - (20px / 3));
}
.hosted-gold__inner .gold-archive ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px;
	background: var(--color-wh);
	transition: .3s;
}
.hosted-gold__inner .gold-archive ul li a:hover {
	background: var(--color-rd);
	color: var(--color-wh);
}



@media screen and (min-width: 768px) {
    .hosted-gold {
        padding-top: 80px;
    }
    .hosted-gold__inner {
        gap: 25px;
        padding: 0 40px;
    }
    .hosted-gold__inner .head h2 {
        text-align: center;
    }
	.hosted-gold__inner h3 {
		padding: 20px;
		font-size: 1.05rem;
	}
	.hosted-gold__inner .gold-block h4 {
		padding: 10px 10px 10px 15px;
		font-size: 1.05rem;
	}
	.hosted-gold__inner .gold-archive ul {
		padding-top: 20px;
	}
	.hosted-gold__inner .gold-archive ul li {
		width: calc(20% - (40px / 5));
	}
}
@media screen and (min-width: 1024px) {
    .hosted-gold__inner {
        padding: 0 60px;
    }
	.hosted-gold__inner .head {
		padding-bottom: 40px;
	}
	.hosted-gold__inner h3 {
		margin-bottom: 25px;
	}
	.hosted-gold__inner .gold-textarea {
		margin-top: 40px;
	}
	.hosted-gold__inner .gold-block {
		padding-top: 40px;
	}
	.hosted-gold__inner .gold-block-dl {
		padding: 25px 0;
	}
	.hosted-gold__inner .gold-archive {
		padding-top: 50px;
		padding-bottom: 20px;
	}
}
@media screen and (min-width: 1280px) {
	.hosted-gold__inner {
		max-width: 1200px;
		margin: auto;
    }
    .hosted-gold__inner .head h2 {
        padding: 15px;
        font-size: 1.3rem;
    }
	.hosted-gold__inner .gold-archive ul li {
		width: calc(14.285% - (60px / 7));
	}
}

/* --------------------------------------------------
 single gold
--------------------------------------------------- */

.single-gold {
    position: relative;
    width: 100%;
}
.single-gold .single__inner {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 20px;
}
.single-gold .head h1 {
    font-size: 1.2rem;
}
.single-gold .single__inner .desc {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.single-gold .single__inner .desc .gold-textarea {
    padding: 15px;
    background: var(--color-wh);
    border-radius: 4px;
}
.single-gold .single__inner .desc .gold-block .gold-block__head {
    padding: 5px 5px 5px 15px;
    border-left: 4px solid var(--color-nv);
    color: var(--color-nv);
    font-weight: 700;
    line-height: 1.5;
}
.single-gold .single__inner .desc .gold-block .gold-block__dl {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 25px;
}
.single-gold .single__inner .desc .gold-block .gold-block__dl dl dt {
    font-weight: 700;
    color: var(--color-rd);
}
.single-gold .single__inner .desc .gold-block .gold-block__edit {
    padding-top: 25px;
}
.single-gold .single__inner .desc .gold-link {
    padding-bottom: 25px;
}
.single-gold .single__inner .desc .gold-link a {
    display: inline-block;
    position: relative;
    padding: 15px 50px 15px 20px;
    background: var(--color-nv);
    color: var(--color-wh);
}
.single-gold .single__inner .desc .gold-link a::after {
    content: "";
	position: absolute;
	top: 50%;
	right: 15px;
    width: 5px;
	height: 5px;
	border-top: 1px solid var(--color-wh);
	border-right: 1px solid var(--color-wh);
	transform: translate(0, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
    .single-gold .single__inner {
        gap: 25px;
        padding: 25px 40px 10px;
    }
}
@media screen and (min-width: 1280px) {
    .single-gold .head h1 {
        font-size: 1.4rem;
    }
    .single-gold .single__inner {
        gap: 40px;
        padding: 60px 80px 0;
    }
    .single-gold .single__inner .desc {
        gap: 40px;
    }
    .single-gold .single__inner .desc .gold-block .gold-block__dl {
        gap: 30px;
        padding-top: 30px;
    }
    .single-gold .single__inner .desc .gold-block .gold-block__edit {
        padding-top: 30px;
    }
}

/* --------------------------------------------------
 page rally
--------------------------------------------------- */

.rally-results {
    position: relative;
    width: 100%;
}
.rally-results__inner {
    padding: 0 20px;
}
@media screen and (min-width: 768px) {
    .rally-results__inner {
        padding: 0 40px;
    }
    .rally-results__inner .image {
        width: 100%;
        background: var(--color-wh);
    }
    .rally-results__inner .image img {
        display: block;
        max-width: 600px;
        margin: auto;
    }
}
@media screen and (min-width: 1024px) {
    .rally-results__inner {
        max-width: 1400px;
        margin: auto;
        padding: 0 60px;
    }
    .rally-results__inner .image img {
        max-width: 700px;
    }
}

.rally-contents {
    position: relative;
    width: 100%;
    padding-top: 40px;
}
.rally-contents__inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 0 20px;
}
.rally-contents__inner .block {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.rally-contents__inner .block .head h2 {
    padding: 20px;
    background: var(--color-wh);
    font-size: 1.15rem;
    line-height: 1;
    border-left: 3px solid var(--color-rd);
}

.rally-contents__inner .block .block__inner {
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding-top: 10px;
}
.rally-contents__inner .block .block__item  {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.rally-contents__inner .block .block__item .mhead h3 {
    position: relative;
    width: 100%;
    font-size: 1.05rem;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-gy);
    color: var(--color-ord);
}
.rally-contents__inner .block .block__item .mhead h3::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 1px;
    background: var(--color-ord);
}
.rally-contents__inner .block .block__item .block__item-child {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.rally-contents__inner .block .block__item .block__item-child .shead {
    font-weight: 700;
}
.rally-contents__inner .block .block__item .block__item-child .text {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.rally-contents__inner .block .block__item .block__item-child .text p {
    line-height: 1.8;
}
.rally-contents__inner .block .block__item .block__item-child .text p a {
    text-decoration: underline;
}
@media screen and (min-width: 768px) {
    .rally-contents__inner {
        padding: 0 40px;
    }
}
@media screen and (min-width: 1024px) {
    .rally-contents {
        padding-top: 60px;
    }
    .rally-contents__inner {
        gap: 50px;
        max-width: 1400px;
        margin: auto;
        padding: 0 60px;
    }
    .rally-contents__inner .block {
        gap: 30px;
    }
    .rally-contents__inner .block .head h2 {
        padding: 25px;
        font-size: 1.2rem;
        border-left: 4px solid var(--color-rd);
    }
    .rally-contents__inner .block .block__inner {
        gap: 40px;
        padding-top: 15px;
    }
    .rally-contents__inner .block .block__item  {
        gap: 20px;
        padding: 0 20px;
    }
    .rally-contents__inner .block .block__item .mhead h3 {
        font-size: 1.1rem;
    }
    .rally-contents__inner .block .block__item .mhead h3::before {
        width: 40px;
    }
    .rally-contents__inner .block .block__item .block__item-child {
        gap: 10px;
    }
    .rally-contents__inner .block .block__item .block__item-child .text {
        gap: 25px;
    }
    .rally-contents__inner .block .block__item .block__item-child .text p {
        line-height: 2;
    }
}

.rally-ranking {
    position: relative;
    width: 100%;
    padding-top: 40px;
}
.rally-ranking__inner {
    padding: 0 20px;
}
.rally-ranking__inner h2 {
    padding: 10px;
    background: var(--color-nv);
    color: var(--color-wh);
    font-size: 1.1rem;
    text-align: center;
}
.rally-ranking__inner ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: 20px;
}
.rally-ranking__inner ul li {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 15px;
    background: var(--color-wh);
}
.rally-ranking__inner ul li .text .title {
    font-size: 1.1rem;
    font-weight: 700;
}
.rally-ranking__inner ul li .link {
    display: flex;
    gap: 10px;
}
.rally-ranking__inner ul li .link a {
    display: flex;
    justify-content: center;
    width: 100%;
    border: 1px solid var(--color-rd);
    color: var(--color-rd);
    padding: 8px;
    font-size: 0.9rem;
    font-weight: 700;
}
@media screen and (min-width: 768px) {
    .rally-ranking__inner {
        padding: 0 40px;
    }
    .rally-ranking__inner ul {
        flex-wrap: wrap;
        flex-direction: row;
        gap: 15px;
    }
    .rally-ranking__inner ul li {
        width: calc(50% - (15px / 2));
        padding: 20px;
    }
}
@media screen and (min-width: 1024px) {
    .rally-ranking {
        padding-top: 70px;
    }
    .rally-ranking__inner {
        max-width: 1400px;
        margin: auto;
        padding: 0 60px;
    }
    .rally-ranking__inner h2 {
        padding: 20px;
        font-size: 1.2rem;
    }
    .rally-ranking__inner ul {
        flex-wrap: wrap;
        flex-direction: row;
        gap: 20px;
        padding-top: 40px;
    }
    .rally-ranking__inner ul li {
        width: calc(33.3333% - (40px / 3));
        padding: 25px;
        text-align: center;
    }
}

/* --------------------------------------------------
 page about
--------------------------------------------------- */

.about-mv {
    z-index: 8;
    position: relative;
}
.about-mv__inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 40px 20px;
}
.about-mv__inner .link ul {
    display: flex;
    justify-content: center;
    gap: 25px;
}
.about-mv__inner .link ul li {
}
.about-mv__inner .link ul li a {
    position: relative;
    padding-right: 18px;
    font-size: 0.9rem;
    font-weight: 500;
}
.about-mv__inner .link ul li a::before,
.about-mv__inner .link ul li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
}
.about-mv__inner .link ul li a::before {
    width: 14px;
    height: 14px;
    background: var(--color-gy);
    transform: translate(0, -50%);
    border-radius: 100%;
}
.about-mv__inner .link ul li a::after {
    right: 5px;
    width: 4px;
    height: 4px;
    margin-top: -1px;
    border-bottom: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
    .about-mv__inner {
        gap: 40px;
        margin: auto;
        padding: 50px 40px;
    }
    .about-mv__inner .link ul {
        gap: 30px;
    }
    .about-mv__inner .link ul li a {
        padding-right: 22px;
        font-size: 0.95rem;
    }
}
@media screen and (min-width: 1024px) {
    .about-mv {
        margin-top: -30px;
    }
    .about-mv__inner {
        gap: 40px;
	}
}
@media screen and (min-width: 1280px) {
	.about-mv__inner {
        padding: 80px 20px;
	}
}

.message {
    z-index: 7;
    position: relative;
    width: 100%;
    padding-top: 70px;
    margin-top: -70px;
    padding-bottom: 30px;
}
.message__inner::before {
    z-index: -1;
    content: "";
    position: absolute;
    top: 15px;
    right: 0;
    width: calc(100% - 20px);
    height: calc(100% - 40px);
    background: var(--color-wh);
}
.message__inner {
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 50px;
    position: relative;
    padding-top: 60px;
    padding-bottom: 50px;
}

.message__inner .profile {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    padding-right: 40px;
}
.message__inner .profile .image {
    width: 100%;
    aspect-ratio: 5/4;
}
.message__inner .profile .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.message__inner .profile .name {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.message__inner .profile .name .name__position {
    font-size: 0.8rem;
}
.message__inner .profile .name .name__jp {
    font-family: var(--font-min);
    font-size: 1.6rem;
    font-weight: 700;
}
.message__inner .profile .name .name__en {
    font-family: var(--font-en);
    font-size: 0.8rem;
}
.message__inner .text {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    padding-left: 40px;
    padding-right: 20px;
}
.message__inner .text p.text__head {
    font-family: var(--font-en);
    font-size: 1.7rem;
    color: var(--color-rd);
}
.message__inner .text h2 {
    font-size: 1.25rem;
    line-height: 1.7;
    letter-spacing: .05em;
}
.message__inner .text .desc {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 10px;
}
.message__inner .text .desc p {
    font-size: 0.95rem;
    line-height: 1.6;
}

@media screen and (min-width: 768px) {
	.message {
		padding-top: 90px;
		margin-top: -90px;
		padding-bottom: 50px;
	}
	.message__inner::before {
        top: 15px;
        right: 0;
        width: calc(100% - 40px);
        height: calc(100% - 40px);
    }
	.message__inner .profile {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 40px;
	}
    .message__inner .profile .image {
        width: 55%;
    }
    .message__inner .profile .name {
        width: calc(45% - 40px);
		padding-bottom: 25px;
		justify-content: flex-end;
    }
	.message__inner .profile .name .name__jp {
		font-size: 1.4rem;
	}
    .message__inner .text {
        gap: 30px;
        width: 100%;
        padding-left: 120px;
        padding-right: 80px;
		padding-bottom: 30px;
    }
	.message__inner .text p.text__head {
		position: relative;
		font-size: 1.2rem;
		text-align: right;
	}
	.message__inner .text p.text__head::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: calc(100% - 120px);
		height: 1px;
		background: var(--color-line);
	}
	.message__inner .text h2 {
		font-size: 1.5rem;
	}
	.message__inner .text .desc p {
		font-size: 0.9rem;
	}
}
@media screen and (min-width: 1024px) {
	.message {
		padding-bottom: 50px;
		overflow: hidden;
	}
	.message__inner {
		flex-direction: row;
		gap: 0;
		max-width: 1000px;
		margin: auto;
		padding-top: 90px;
		padding-left: 60px;
	}
	.message__inner::before {
        top: 25px;
        left: 400px;
		right: auto;
        width: 100vw;
        height: calc(100% - 40px);
    }
	.message__inner .profile {
		flex-direction: column;
		gap: 30px;
		width: 400px;
	}
    .message__inner .profile .image {
        width: 400px;
		height: 400px;
    }
    .message__inner .profile .name {
        width: 100%;
		padding-bottom: 25px;
		justify-content: flex-start;
    }
	.message__inner .text {
		width: calc(100% - 400px);
		padding: 0 60px 20px 60px;
	}
}
@media screen and (min-width: 1280px) {
	.message {
		padding-bottom: 120px;
	}
	.message__inner {
		max-width: 1400px;
	}
	.message__inner .profile {
		width: 500px;
	}
	.message__inner .profile .image {
        width: 500px;
		height: 500px;
    }
	.message__inner .text {
		width: calc(100% - 500px);
		padding: 0 100px 20px 100px;
	}
}


.overview {
    z-index: 6;
    position: relative;
    width: 100%;
    padding-top: 70px;
    margin-top: -70px;
}
.overview__inner {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: calc(100% - 40px);
    margin: auto;
    padding: 30px 15px 20px;
    background: var(--color-nv);
    color: var(--color-wh);
    border-radius: 8px;
}
.overview__inner .head__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    position: relative;
    padding: 20px 20px 19px;
}
.overview__inner .head__inner p {
    font-family: var(--font-en);
    font-size: 1.7rem;
    font-weight: 300;
    line-height: 1;
}
.overview__inner .head__inner h2 {
    font-size: 0.8rem;
    letter-spacing: .05em;
    text-indent: .05em;
    line-height: 1;
}
.overview__inner .list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.overview__inner .list dl {
    position: relative;
    width: 100%;
    padding-bottom: 5px;
    font-size: 0.95rem;
}
.overview__inner .list dl::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--color-wh);
    opacity: 0.3;
}
.overview__inner .list dl:nth-last-child(1)::before {
    display: none;
}
@media screen and (min-width: 768px) {
	.overview {
		padding-top: 90px;
		margin-top: -90px;
	}
	.overview__inner {
		gap: 40px;
		width: calc(100% - 80px);
		max-width: 1000px;
		margin: auto;
		padding: 40px 60px 30px;
	}
	.overview__inner .head__inner p {
		font-size: 2.4rem;
	}
	.overview__inner .head__inner h2 {
		font-size: 0.9rem;
	}
	.overview__inner .list {
		gap: 30px;
	}
	.overview__inner .list dl {
		display: flex;
		align-items: flex-start;
		padding-bottom: 10px;
	}
	.overview__inner .list dl dt {
		width: 130px;
	}
}
@media screen and (min-width: 1024px) {
	.overview__inner {
		gap: 80px;
		width: calc(100% - 120px);
		padding: 60px 80px 50px;
		border-radius: 12px;
	}
	.overview__inner .head__inner p {
		font-size: 2.4rem;
	}
	.overview__inner .head__inner h2 {
		font-size: 0.9rem;
	}
	.overview__inner .list {
		gap: 40px;
	}
	.overview__inner .list dl dt {
		width: 150px;
	}
}
@media screen and (min-width: 1280px) {
	.overview__inner {
		max-width: 1280px;
		padding: 90px 180px 80px;
	}
    .overview__inner .head__inner p {
		font-size: 2.6rem;
	}
	.overview__inner .head__inner h2 {
		font-size: 1rem;
	}
}

.about-link {
	width: 100%;
}
.about-link__inner {
	width: 100%;
	padding: 40px 20px 25px;
}
.about-link__inner ul {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.about-link__inner ul li {
	width: 100%;
}
.about-link__inner ul li a {
	position: relative;
	width: 100%;
	padding: 15px 40px 15px 15px;
	background: var(--color-bl);
	color: var(--color-wh);
    transition: .3s;
}
.about-link__inner ul li a:hover {
    opacity: 0.8;
}
.about-link__inner ul li a::before,
.about-link__inner ul li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
}
.about-link__inner ul li a::before {
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--color-wh);
	border-right: 1px solid var(--color-wh);
	transform: translate(0, -50%) rotate(45deg);
}
.about-link__inner ul li a::after {
	width: 15px;
	height: 1px;
	background: var(--color-wh);
	transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
	.about-link__inner {
		padding: 50px 40px 50px;
	}
	.about-link__inner ul {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 25px;
	}
	.about-link__inner ul li {
		width: calc(50% - (25px / 2));
	}
	.about-link__inner ul li a {
		padding: 20px 50px 20px 20px;
	}
}
@media screen and (min-width: 1024px) {
	.about-link__inner {
		padding: 60px 60px 80px;
	}
	.about-link__inner ul li {
		width: calc(33.3333% - (50px / 3));
	}
	.about-link__inner ul li a {
		padding: 25px 60px 25px 25px;
	}
	.about-link__inner ul li a::after {
		width: 30px;
	}
}
@media screen and (min-width: 1280px) {
	.about-link__inner {
		max-width: 1280px;
		margin: auto;
	}
	.about-link__inner ul li {
		width: calc(33.3333% - (50px / 3));
	}
	.about-link__inner ul li a {
		padding: 25px 60px 25px 25px;
	}
	.about-link__inner ul li a::after {
		width: 30px;
	}
}

.history {
	margin-top: -60px;
	padding-top: 100px;
}
.history__inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 0 20px;
}
.history__inner h2 span.en {
	color: var(--color-rd);
	font-family: var(--font-en);
    font-size: 1.7rem;
    font-weight: 400;
}
.history__inner h2 span.jp {
	font-size: 0.85rem;
	margin-left: 15px;
	color: var(--color-bk);
	font-weight: 500;
}
.history-item {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding-bottom: 15px;
	background: var(--color-wh);
}
.history-item__year {
	width: 100%;
	padding: 10px;
	background: var(--color-nv);
	color: var(--color-wh);
}
.history-item__main {
	width: 100%;
	padding: 15px;
	background: var(--color-wh);
}
.history-item__main p {
	font-size: 0.9rem;
}
.history-item__btn {
	margin: auto;
	padding: 15px 0 10px;
}
.history-item button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto;
	border: 0;
	outline: 0;
	background: none;
	font-family: var(--font-en);
	font-size: 0.8rem;
	line-height: 1;
	background: var(--color-wgy);
	padding: 8px 20px;
	border-radius: 20px;
}
.history-modal {
	z-index: 9999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow-y: scroll;
	background: var(--color-wh);
}
.history-modal button {
	z-index: 100001;
	position: fixed;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	border-radius: 0;
	font-size: 1.7rem;
}
.history-modal__content {
	display: flex;
	flex-direction: column;
	gap: 30px;
	position: relative;
	padding: 80px 30px 50px;
}
.history-modal__content .modal-section {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.history-modal__content h3 {
	font-size: 1.05rem;
	color: var(--color-rd);
}
.history-modal__content .modal-section h4 {
	font-size: 1.05rem;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--color-gy);
}
@media screen and (min-width: 768px) {
	.history {
		margin-top: -80px;
		padding-top: 130px;
	}
	.history__inner {
		gap: 30px;
		padding: 0 40px;
	}
	.history__inner h2 span.en {
		font-size: 2.2rem;
	}
	.history__inner h2 span.jp {
		font-size: 0.9rem;
	}
	.history-item {
		padding-bottom: 15px;
	}
	.history-item__year {
		padding: 15px;
	}
	.history-item__main {
		padding: 20px;
	}
	.history-item__main p {
		font-size: 0.9rem;
	}
	.history-item__btn {
		padding: 15px 0 10px;
	}
	.history-item button {
		font-size: 0.8rem;
		padding: 8px 30px;
		border-radius: 20px;
	}
	.history-modal__content {
		gap: 30px;
		max-width: 1200px;
		margin: auto;
		padding: 100px 40px 50px;
	}
	.history-modal button {
		width: 70px;
		height: 70px;
		font-size: 1.8rem;
		border-radius: 0;
	}
	.history-modal__content .modal-section {
		gap: 20px;
	}
	.history-modal__content h3 {
		font-size: 1.05rem;
	}
	.history-modal__content .modal-section h4 {
		font-size: 1.05rem;
		padding-bottom: 8px;
	}
}
@media screen and (min-width: 1024px) {
	.history__inner {
		gap: 20px;
		max-width: 1400px;
		margin: auto;
		padding: 0 60px;
	}
    .history__inner .head {
        padding-bottom: 25px;
    }
	.history-item {
		flex-direction: row;
		padding: 0;
	}
	.history-item__year {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 240px;
		padding: 20px;
	}
	.history-item__main {
		border-right: 1px solid var(--color-line);
	}
    .history-item__main p {
		font-size: 1rem;
	}
	.history-item__btn {
		display: flex;
		justify-content: flex-end;
		align-items: flex-end;
		width: 200px;
		height: 100%;
		padding: 15px;
	}
	.history-item__btn button {
		display: block;
		width: 100%;
		height: 100%;
		margin-top: auto;
		padding: 8px 15px;
	}
}

/* --------------------------------------------------
 page organization
--------------------------------------------------- */

.organization__inner {
	display: flex;
	flex-direction: column;
	gap: 70px;
    padding: 0 20px;
}
@media screen and (min-width: 768px) {
	.organization__inner {
		gap: 90px;
		padding: 30px 40px;
	}
}
@media screen and (min-width: 1024px) {
	.organization__inner {
		margin: auto;
		padding: 60px 80px 50px;
	}
}
@media screen and (min-width: 1280px) {
	.organization__inner {
		max-width: 1280px;
		padding: 90px 0 80px;
	}
}
.organization-item {
	width: 100%;
}
.organization-item__inner {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.organization__title h2 {
	padding: 10px;
	font-size: 1rem;
	font-weight: 400;
	text-align: center;
	border-top: 1px solid var(--color-gy);
	border-bottom: 1px solid var(--color-gy);
}
@media screen and (min-width: 1024px) {
	.organization__title h2 {
		padding: 20px;
		font-size: 1.2rem;
		text-align: left;
	}
}
.diagram {
	z-index: 1;
	position: relative;
	width: 100%;
}
.diagram__inner {
	z-index: 3;
	position: relative;
	width: 100%;
	height: 100%;
}
.diagram__item {
	position: absolute;
	width: 100%;
	padding: 6px 5px 5px;
	background: var(--color-bl);
	color: var(--color-wh);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: .05em;
	line-height: 1;
}
@media screen and (min-width: 1024px) {
	.diagram__item {
		font-size: 1rem;
	}
}
.organization-whole .diagram {
	height: 180px;
}
.organization-whole .diagram__item {
	display: flex;
	align-items: center;
	justify-content: center;
	left: 0;
	height: 45px;
}
.organization-head .diagram {
	height: 480px;
}
.organization-head .diagram__item {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 45px;
}
.organization-prefectures .diagram,
.organization-cwtv .diagram {
	height: 150px;
}
.organization-prefectures .diagram__item,
.organization-cwtv .diagram__item {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 45px;
}
@media screen and (min-width: 768px) {
	.diagram {
		padding: 60px;
	}
	.diagram::before {
		z-index: 2;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--color-wh);
	}
	.organization-whole .diagram {
		height: 300px;
	}
	.organization-head .diagram {
		height: 600px;
	}
	.organization-prefectures .diagram,
	.organization-cwtv .diagram {
		height: 270px;
	}
}
@media screen and (min-width: 851px) {
	.diagram {
		padding: 90px 140px;
	}
	.diagram__inner {
		max-width: 700px;
		margin: auto;
	}
	.organization-whole .diagram {
		height: 360px;
	}
	.organization-head .diagram {
		height: 660px;
	}
	.organization-prefectures .diagram,
	.organization-cwtv .diagram {
		height: 330px;
	}
}
@media screen and (min-width: 1024px) {
	.diagram {
		padding: 120px 160px;
	}
	.diagram__inner {
		max-width: 800px;
		margin: auto;
	}
	.organization-whole .diagram {
		height: 540px;
	}
	.organization-whole .diagram__inner {
		max-width: 500px;
	}
	.organization-whole .diagram__item {
		height: 60px;
	}
	.organization-head .diagram {
		height: 820px;
		padding: 120px 120px;
	}
	.organization-head .diagram__inner {
		max-width: 680px;
	}
	.organization-head .diagram__item {
		height: 60px;
	}
	.organization-prefectures .diagram,
	.organization-cwtv .diagram {
		height: 420px;
	}
	.organization-prefectures .diagram__inner,
	.organization-cwtv .diagram__inner {
		max-width: 600px;
	}
	.organization-prefectures .diagram__item,
	.organization-cwtv .diagram__item {
		height: 60px;
	}
}
.organization-whole .whole-item01 {
	top: 0;
}
.organization-whole .whole-item02 {
	top: 50%;
	transform: translate(0, -50%);
}
.organization-whole .whole-item03 {
	bottom: 0;
}
.organization-whole .whole-item01::after,
.organization-whole .whole-item02::after {
	content: "";
	position: absolute;
	bottom: -60px;
	left: 50%;
	width: 2px;
	height: 60px;
	background: var(--color-bl);
	transform: translate(-50%, 0);
}
.organization-head .head-item01 {
	top: 0;
	left: 0;
	width: 50px;
	height: 115px;
	writing-mode: vertical-rl;
}
.organization-head .head-item02 {
	top: 0;
	left: 50%;
	width: 130px;
	transform: translate(-50%, 0);
}
.organization-head .head-item03 {
	top: 70px;
	left: 50%;
	width: 130px;
	transform: translate(-50%, 0);
}
.organization-head .head-item04 {
	top: 140px;
	right: 0;
	width: 130px;
}
.organization-head .head-item05 {
	bottom: 200px;
	left: 0;
	width: 190px;
}
.organization-head .head-item06 {
	bottom: 200px;
	right: 0;
	width: 110px;
}
.organization-head .head-item07,
.organization-head .head-item08,
.organization-head .head-item09,
.organization-head .head-item10,
.organization-head .head-item11,
.organization-head .head-item12,
.organization-head .head-item13 {
	bottom: 0;
	width: 30px;
	height: 150px;
	writing-mode: vertical-rl;
}
.organization-head .head-item07 {
	left: 0;
}
.organization-head .head-item08 {
	left: 40px;
}
.organization-head .head-item09 {
	left: 80px;
}
.organization-head .head-item10 {
	left: 120px;
}
.organization-head .head-item11 {
	left: 160px;
}
.organization-head .head-item12 {
	width: 60px;
	right: 50px;
}
.organization-head .head-item13 {
	right: 0;
}
@media screen and (min-width: 768px) {
	.organization-head .head-item01 {
		writing-mode: inherit;
		width: 160px;
		height: 45px;
	}
	.organization-head .head-item05 {
		width: 260px;
}
	.organization-head .head-item06 {
		width: 260px;
	}
	.organization-head .head-item07,
	.organization-head .head-item08,
	.organization-head .head-item09,
	.organization-head .head-item10,
	.organization-head .head-item11,
	.organization-head .head-item12,
	.organization-head .head-item13 {
		width: 40px;
	}
	.organization-head .head-item07 {
		left: 0;
	}
	.organization-head .head-item08 {
		left: 55px;
	}
	.organization-head .head-item09 {
		left: 110px;
	}
	.organization-head .head-item10 {
		left: 165px;
	}
	.organization-head .head-item11 {
		left: 220px;
	}
	.organization-head .head-item12 {
		width: 70px;
		right: 140px;
	}
	.organization-head .head-item13 {
		right: 60px;
	}
}
@media screen and (min-width: 1024px) {
	.organization-head .head-item01 {
		writing-mode: inherit;
		width: 170px;
		height: 60px;
	}
	.organization-head .head-item02 {
		width: 160px;
	}
	.organization-head .head-item03 {
		top: 100px;
		width: 160px;
	}
	.organization-head .head-item04 {
		top: 170px;
		width: 130px;
	}
	.organization-head .head-item05 {
		bottom: 240px;
		width: 285px;
}
	.organization-head .head-item06 {
		bottom: 240px;
		width: 260px;
	}
	.organization-head .head-item07,
	.organization-head .head-item08,
	.organization-head .head-item09,
	.organization-head .head-item10,
	.organization-head .head-item11,
	.organization-head .head-item12,
	.organization-head .head-item13 {
		width: 45px;
		height: 180px;
	}
	.organization-head .head-item07 {
		left: 0;
	}
	.organization-head .head-item08 {
		left: 60px;
	}
	.organization-head .head-item09 {
		left: 120px;
	}
	.organization-head .head-item10 {
		left: 180px;
	}
	.organization-head .head-item11 {
		left: 240px;
	}
	.organization-head .head-item12 {
		right: 160px;
		width: 80px;
	}
	.organization-head .head-item13 {
		right: 30px;
		width: 50px;
	}
}
@media screen and (min-width: 1024px) {
	.organization-head .head-item02 {
		width: 190px;
	}
	.organization-head .head-item03 {
		width: 190px;
	}
	.organization-head .head-item04 {
		top: 170px;
		width: 160px;
	}
}
.organization-head .head-item01::before,
.organization-head .head-item02::after,
.organization-head .head-item03::before,
.organization-head .head-item03::after,
.organization-head .head-item05::before,
.organization-head .head-item05::after,
.organization-head .head-item06::before,
.organization-head .head-item06::after,
.organization-head .head-item07::before,
.organization-head .head-item07::after,
.organization-head .head-item08::after,
.organization-head .head-item09::after,
.organization-head .head-item10::after,
.organization-head .head-item11::before,
.organization-head .head-item11::after,
.organization-head .head-item12::before,
.organization-head .head-item12::after,
.organization-head .head-item13::before,
.organization-head .head-item13::after {
	z-index: -1;
	content: "";
	position: absolute;
	background: var(--color-bl);
}
.organization-head .head-item01::before,
.organization-head .head-item03::before {
	top: 50%;
	height: 2px;
	transform: translate(0, -50%);
}
.organization-head .head-item02::after,
.organization-head .head-item03::after,
.organization-head .head-item07::after,
.organization-head .head-item08::after,
.organization-head .head-item09::after,
.organization-head .head-item10::after,
.organization-head .head-item11::after,
.organization-head .head-item12::after,
.organization-head .head-item13::after {
	left: 50%;
	width: 2px;
	transform: translate(-50%, 0);
}
.organization-head .head-item01::before {
	right: -45vw;
	width: 45vw;
	margin-top: -35px;
}
.organization-head .head-item02::after {
	bottom: -60px;
	height: 60px;
}
.organization-head .head-item03::before {
	top: auto;
	top: 92px;
	left: 50%;
	width: 40vw;
}
.organization-head .head-item03::after {
	bottom: -97px;
	height: 97px;
}
.organization-head .head-item05::before {
	top: -25px;
	left: 50%;
	width: 2px;
	height: 140px;
	transform: translate(-50%, 0);
}
.organization-head .head-item05::after {
	top: -25px;
	left: 50%;
	width: 40vw;
	height: 2px;
}
.organization-head .head-item06::before {
	top: -25px;
	left: 50%;
	width: 2px;
	height: 95px;
	transform: translate(-50%, 0);
}
.organization-head .head-item06::after {
	top: -25px;
	right: 50%;
	width: 40vw;
	height: 2px;
}
.organization-head .head-item07::after,
.organization-head .head-item08::after,
.organization-head .head-item09::after,
.organization-head .head-item10::after,
.organization-head .head-item11::after,
.organization-head .head-item12::after,
.organization-head .head-item13::after {
	top: -25px;
	height: 25px;
}
.organization-head .head-item07::before {
	top: -25px;
	left: 50%;
	width: 270%;
	height: 2px;
}
.organization-head .head-item11::before {
	top: -25px;
	right: 50%;
	width: 270%;
	height: 2px;
}
.organization-head .head-item12::before {
	top: -25px;
	left: 50%;
	width: 50%;
	height: 2px;
}
.organization-head .head-item13::before {
	top: -25px;
	right: 50%;
	width: 120%;
	height: 2px;
}
@media screen and (min-width: 768px) {
	.organization-head .head-item01::before {
		right: -100px;
		width: 100px;
		margin: 0;
	}
	.organization-head .head-item03::before {
		width: 200px;
	}
	.organization-head .head-item05::after {
		width: 80%;
	}
	.organization-head .head-item06::after {
		width: 80%;
	}
	.organization-head .head-item07::before {
		width: 290%;
	}
	.organization-head .head-item11::before {
		width: 290%;
	}
	.organization-head .head-item12::before {
		width: 70%;
	}
	.organization-head .head-item13::before {
		width: 120%;
	}
}
@media screen and (min-width: 1024px) {
	.organization-head .head-item03::before {
		top: 100px;
		width: 280px;
	}
	.organization-head .head-item06::before {
		height: 120px;
	}
	.organization-head .head-item12::before {
		width: 120%;
	}
	.organization-head .head-item13::before {
		width: 140%;
	}
}

.organization-prefectures .prefectures-item01,
.organization-cwtv .cwtv-item01 {
	top: 0;
	left: 50%;
	width: 45%;
	transform: translate(-50%, 0);
}
.organization-prefectures .prefectures-item02,
.organization-cwtv .cwtv-item02 {
	bottom: 0;
	left: 0;
	width: 45%;
}
.organization-prefectures .prefectures-item03,
.organization-cwtv .cwtv-item03 {
	bottom: 0;
	right: 0;
	width: 45%;
}
.organization-prefectures .prefectures-item01::after,
.organization-cwtv .cwtv-item01::after {
	content: "";
	position: absolute;
	bottom: -35px;
	left: 50%;
	width: 2px;
	height: 35px;
	background: var(--color-bl);
	transform: translate(-50%, 0);
}
.organization-prefectures .prefectures-item02::after,
.organization-prefectures .prefectures-item03::after,
.organization-cwtv .cwtv-item02::after,
.organization-cwtv .cwtv-item03::after {
	content: "";
	position: absolute;
	top: -25px;
	left: 50%;
	width: 2px;
	height: 25px;
	background: var(--color-bl);
	transform: translate(-50%, 0);
}
.organization-prefectures .prefectures-item02::before,
.organization-cwtv .cwtv-item02::before {
	content: "";
	position: absolute;
	top: -25px;
	left: 50%;
	width: 100%;
	height: 2px;
	background: var(--color-bl);
}
.organization-prefectures .prefectures-item03::before,
.organization-cwtv .cwtv-item03::before {
	content: "";
	position: absolute;
	top: -25px;
	right: 50%;
	width: 100%;
	height: 2px;
	background: var(--color-bl);
}
@media screen and (min-width: 768px) {
	.organization-prefectures .prefectures-item01,
	.organization-cwtv .cwtv-item01 {
		width: 40%;
	}
	.organization-prefectures .prefectures-item02,
	.organization-cwtv .cwtv-item02 {
		width: 40%;
	}
	.organization-prefectures .prefectures-item03,
	.organization-cwtv .cwtv-item03 {
		width: 40%;
	}
}

.organization-item .text {
	display: flex;
	flex-direction: column;
	gap: 25px;
}
.organization-item .text__item {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
	padding: 15px;
	background: var(--color-wh);
	border-radius: 8px;
}
.organization-item .text__item h3 {
	font-size: 0.9rem;
}
.organization-item .text__item p {
	font-size: 0.9rem;
}
@media screen and (min-width: 768px) {
	.organization-item .text {
		flex-direction: row;
	}
	.organization-item .text__item {
		width: (50% - (25px / 2));
		padding: 20px;
		background: var(--color-dgy);
		color: var(--color-wh);
	}
}
@media screen and (min-width: 1280px) {
	.organization-item .text {
		gap: 30px;
	}
	.organization-item .text__item {
		width: (50% - (30px / 2));
		padding: 30px;
	}
}

/* --------------------------------------------------
 page officer
--------------------------------------------------- */

.officer {
    width: 100%;
}
.officer__inner {
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 100%;
    padding: 20px;
}
.officer-index ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}
.officer-index ul li {
    width: calc(50% - (10px / 2));
}
.officer-index ul li a {
    padding: 8px;
    background: var(--color-bl);
    color: var(--color-wh);
	text-align: center;
	font-size: 0.9rem;
}
.officer-contents {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.officer-contents__item {
    display: flex;
    flex-direction: column;
    gap: 25px;
    padding-top: 80px;
    margin-top: -80px;
}
.officer-contents__item .head h2 {
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-gy);
    font-size: 1.1rem;
    font-weight: 500;
}
.officer-contents__item .block {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}
.officer-contents__item .block__item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}
.officer-contents__item .block__item .mhead {
    position: relative;
    width: 100%;
}
.officer-contents__item .block__item .mhead h3 {
    position: relative;
    width: 100%;
    padding-left: 15px;
    font-size: 0.9rem;
}
.officer-contents__item .block__item .mhead h3::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 3px;
    width: 6px;
    height: 6px;
    background: var(--color-bl);
    border-radius: 100%;
    transform: translate(0, -50%);
}
.officer-contents__item .block__item .shead {
    position: relative;
    width: 100%;
}
.officer-contents__item .block__item .shead h4 {
    position: relative;
    width: 100%;
    padding-left: 15px;
    font-size: 0.9rem;
}
.officer-contents__item .block__item .shead h4::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 3px;
    width: 6px;
    height: 6px;
    background: var(--color-gy);
    border-radius: 100%;
    transform: translate(0, -50%);
}
.officer-contents__item .block__item .list-2column,
.officer-contents__item .block__item .list-3column {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}
.officer-contents__item .block__item .list__item {
    display: flex;
	font-size: 0.9rem;
}
.officer-contents__item .block__item .list-2column__head,
.officer-contents__item .block__item .list-3column__head {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    padding: 10px 5px;
    border: 1px solid var(--color-line);
    background: var(--color-wh);
}
.officer-contents__item .block__item .list-2column__desc {
    display: flex;
	align-items: center;
    width: calc(100% - 90px);
	border: 1px solid var(--color-line);
    border-left: 0;
    background: var(--color-wh);
}
.officer-contents__item .block__item .list-2column__desc ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
.officer-contents__item .block__item .list-2column__desc ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
    position: relative;
	width: 100%;
	padding: 10px 20px;
	border-bottom: 1px solid var(--color-line);
}
.officer-contents__item .block__item .list-2column__desc ul li:nth-last-child(1) {
	border-bottom: 0;
}
.officer-contents__item .block__item .list-3column__desc {
	display: flex;
	align-items: center;
    width: calc(100% - 90px);
	border: 1px solid var(--color-line);
    border-left: 0;
    background: var(--color-wh);
}
.officer-contents__item .block__item .list-3column__desc ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
.officer-contents__item .block__item .list-3column__desc ul li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}
.officer-contents__item .block__item .list-3column__desc ul li .name {
    position: relative;
	width: calc(100% - 80px);
}
.officer-contents__item .block__item .list-3column__desc ul li .location {
	width: 80px;
	border-left: 1px solid var(--color-line);
}
.officer-contents__item .block__item .list-3column__desc ul li .name,
.officer-contents__item .block__item .list-3column__desc ul li .location {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 5px;
	border-bottom: 1px solid var(--color-line);
}
.officer-contents__item .block__item .list-3column__desc ul li:nth-child(1) .name,
.officer-contents__item .block__item .list-3column__desc ul li:nth-child(1) .location {
}
.officer-contents__item .block__item .list-3column__desc ul li:nth-last-child(1) .name,
.officer-contents__item .block__item .list-3column__desc ul li:nth-last-child(1) .location {
	border-bottom: 0;
}
@media screen and (min-width: 768px) {
	.officer__inner {
		padding: 20px 40px;
	}
	.officer-index ul li {
		width: calc(33.3333% - (20px / 3));
	}
	.officer-index ul li a {
		padding: 10px;
	}
	.officer-contents__item .block__item .list-2column__head,
	.officer-contents__item .block__item .list-3column__head {
		width: 200px;
		padding: 15px;
	}
	.officer-contents__item .block__item .list-2column__desc {
		width: calc(100% - 200px);
	}
	.officer-contents__item .block__item .list-3column__desc ul li .name {
		width: calc(100% - 180px);
	}
	.officer-contents__item .block__item .list-3column__desc ul li .location {
		width: 180px;
	}
	.officer-contents__item .block__item .list-3column__desc ul li .name,
	.officer-contents__item .block__item .list-3column__desc ul li .location {
		padding: 15px 20px;
	}
}

@media screen and (min-width: 1024px) {
	.officer__inner {
		gap: 70px;
		padding: 40px;
	}
	.officer-index ul li {
		width: calc(33.3333% - (20px / 3));
	}
	.officer-index ul li a {
		padding: 15px;
		font-size: 0.95rem;
	}
	.officer-contents {
		gap: 70px;
	}
	.officer-contents__item {
		gap: 40px;
		padding-top: 100px;
		margin-top: -100px;
	}
	.officer-contents__item .head h2 {
		font-size: 1.3rem;
	}
	.officer-contents__item .block__item .mhead h3 {
		padding-left: 18px;
		font-size: 1rem;
	}
	.officer-contents__item .block__item .mhead h3::before {
		left: 4px;
		width: 6px;
		height: 6px;
	}
	.officer-contents__item .block__item .shead h4 {
		padding-left: 18px;
		font-size: 1rem;
	}
	.officer-contents__item .block__item .shead h4::before {
		left: 4px;
		width: 6px;
		height: 6px;
	}
	.officer-contents__item .block__item .list__item {
		font-size: 1rem;
	}
	.officer-contents__item .block__item .list-2column__head,
	.officer-contents__item .block__item .list-3column__head {
		width: 250px;
		padding: 20px;
	}
	.officer-contents__item .block__item .list-2column__desc {
		width: calc(100% - 250px);
	}
	.officer-contents__item .block__item .list-2column__desc ul li {
		padding: 20px 20px;
	}
	.officer-contents__item .block__item .list-3column__desc ul li .name {
		width: calc(100% - 220px);
	}
	.officer-contents__item .block__item .list-3column__desc ul li .location {
		width: 220px;
	}
	.officer-contents__item .block__item .list-3column__desc ul li .name,
	.officer-contents__item .block__item .list-3column__desc ul li .location {
		padding: 20px 20px;
	}
}
@media screen and (min-width: 1280px) {
	.officer__inner {
		max-width: 1100px;
		margin: auto;
	}
}

.officer__inner span.new {
    position: absolute;
    left: 10px;
    margin-right: 15px;
    padding: 5px 8px;
    background: var(--color-ord);
    color: var(--color-wh);
    font-size: 0.75rem;
    line-height: 1;
}
@media screen and (min-width: 768px) {
    .officer__inner span.new {
        
    }
}

/* --------------------------------------------------
 page projects
--------------------------------------------------- */

.projects-hq {
	width: 100%;
}
.projects-hq__inner {
	width: 100%;
	padding: 20px 20px 0;
}
.projects-hq__inner .head {
	display: flex;
    flex-direction: column;
	gap: 20px;
    width: 100%;
}
.projects-hq__inner .head h2 {
	font-size: 1.15rem;
    font-weight: 500;
	text-align: center;
}
.projects-hq__inner .head .deco {
	position: relative;
	width: 100%;
}
.projects-hq__inner .head .deco span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 5px;
	height: 5px;
	background: var(--color-bk);
	border-radius: 100%;
	transform: translate(-50%, -50%);
}
.projects-hq__inner .head .deco span:nth-of-type(1) {
	margin-left: -10px;
}
.projects-hq__inner .head .deco span:nth-of-type(3) {
	margin-left: 10px;
}
.projects-list {
	display: flex;
	flex-direction: column;
    gap: 20px;
	width: 100%;
    padding-top: 25px;
}
.projects-list__items {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 0.9rem;
}
.projects-list__items .month {
	width: 100%;
    padding-bottom: 8px;
    font-size: 1.05rem;
    font-weight: 700;
}
.projects-list__items .item-wrap {
    display: flex;
	flex-direction: column;
    gap: 20px;
	width: 100%;
}
.projects-list__items .item-wrap .item {
	display: flex;
    flex-wrap: wrap;
	width: 100%;
}
.projects-list__items .item-wrap .item .day {
    display: flex;
    justify-content: center;
    align-items: center;
	width: 110px;
    padding: 8px;
    background: var(--color-nv);
    color: var(--color-wh);
    border: 1px solid var(--color-line);
    font-size: 0.85rem;
}
.projects-list__items .item-wrap .item .desc {
    display: flex;
    align-items: center;
	width: calc(100% - 110px);
    padding: 8px;
    background: var(--color-wh);
    border: 1px solid var(--color-line);
    border-left: 0;
}
.projects-list__items .item-wrap .item .desc span,
.projects-list__items .item-wrap .item .spot span {
    display: inline;
    margin: 0 5px;
    padding: 5px;
    background: var(--color-rd);
    color: var(--color-wh);
    font-size: 80%;
    font-weight: 700;
}
.projects-list__items .item-wrap .item .spot {
    display: flex;
    justify-content: center;
    align-items: center;
	width: calc(100% - 90px);
    padding: 8px;
    background: var(--color-wh);
    border: 1px solid var(--color-line);
    border-top: 0;
}
.projects-list__items .item-wrap .item .location {
    display: flex;
    justify-content: center;
    align-items: center;
	width: 90px;
    padding: 8px;
    background: var(--color-wh);
    border: 1px solid var(--color-line);
    border-top: 0;
    border-left: 0;
}
@media screen and (min-width: 768px) {
    .projects-hq__inner {
        padding: 40px;
    }
    .projects-hq__inner .head {
        gap: 25px;
    }
    .projects-list {
        gap: 30px;
    }
    .projects-list__items .item-wrap {
        gap: 10px;
    }
    .projects-list__items .item-wrap .item .day {
        width: 110px;
        padding: 8px;
        font-size: 0.9rem;
    }
    .projects-list__items .item-wrap .item .desc {
        width: calc(100% - 380px);
        padding: 8px;
        border-left: 0;
    }
    .projects-list__items .item-wrap .item .spot {
        width: 180px;
        padding: 8px;
        border: 1px solid var(--color-line);
        border-left: 0;
    }
    .projects-list__items .item-wrap .item .location {
        width: 90px;
        padding: 8px;
        border: 1px solid var(--color-line);
        border-left: 0;
    }
}
@media screen and (min-width: 1024px) {
    .projects-hq__inner {
        padding: 60px 40px 80px;
    }
    .projects-hq__inner .head {
        gap: 30px;
    }
    .projects-hq__inner .head h2 {
        font-size: 1.3rem;
    }
    .projects-list {
        gap: 30px;
    }
    .projects-list__items .item-wrap {
        gap: 10px;
    }
    .projects-list__items .item-wrap .item .day {
        width: 140px;
        padding: 15px;
        font-size: 0.9rem;
        border-color: var(--color-line);
    }
    .projects-list__items .item-wrap .item .desc {
        width: calc(100% - 510px);
        padding: 15px;
        border-left: 0;
        border-color: var(--color-line);
    }
    .projects-list__items .item-wrap .item .spot {
        width: 240px;
        padding: 15px;
        border: 1px solid var(--color-line);
        border-left: 0;
    }
    .projects-list__items .item-wrap .item .location {
        width: 130px;
        padding: 15px;
        border: 1px solid var(--color-line);
        border-left: 0;
    }
}
@media screen and (min-width: 1280px) {
    .projects-hq__inner {
        max-width: 1400px;
		margin: auto;
        padding: 70px 60px 130px;
    }
    .projects-hq__inner .head h2 {
        font-size: 1.5rem;
    }
    .projects-list__items {
        font-size: 1rem;
    }
    .projects-list {
        padding-top: 60px;
    }
    .projects-list__items .month {
        width: 100px;
        padding: 20px;
        font-size: 1.05rem;
        background: var(--color-wh);
        text-align: center;
    }
    .projects-list__items .item-wrap {
        gap: 0;
        width: calc(100% - 100px);
        border-top: 1px solid var(--color-line);
    }
    .projects-list__items .item-wrap .item .day {
        width: 180px;
        padding: 20px;
        font-size: 1rem;
        border-top: 0;
    }
    .projects-list__items .item-wrap .item .desc {
        width: calc(100% - 590px);
        padding: 20px;
        border-top: 0;
    }
    .projects-list__items .item-wrap .item .spot {
        width: 280px;
        padding: 20px;
        border-top: 0;
    }
    .projects-list__items .item-wrap .item .location {
        width: 130px;
        padding: 20px;
        border-top: 0;
    }
}

.projects-prefectures {
	width: 100%;
}
.projects-prefectures__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
	width: 100%;
	padding: 60px 20px 20px;
}
.projects-prefectures__inner .head {
	display: flex;
    flex-direction: column;
	gap: 20px;
    width: 100%;
}
.projects-prefectures__inner .head h2 {
	font-size: 1.15rem;
    font-weight: 500;
	text-align: center;
}
.projects-prefectures__inner .head .deco {
	position: relative;
	width: 100%;
}
.projects-prefectures__inner .head .deco span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 5px;
	height: 5px;
	background: var(--color-bk);
	border-radius: 100%;
	transform: translate(-50%, -50%);
}
.projects-prefectures__inner .head .deco span:nth-of-type(1) {
	margin-left: -10px;
}
.projects-prefectures__inner .head .deco span:nth-of-type(3) {
	margin-left: 10px;
}
.projects-prefectures__inner .head p {
	padding: 10px;
	background: var(--color-wh);
	border-radius: 4px;
}
@media screen and (min-width: 768px) {
    .projects-prefectures__inner {
        padding: 40px;
    }
    .projects-prefectures__inner .head {
        gap: 25px;
    }
    .projects-prefectures__inner .head p {
        padding: 15px;
        text-align: center;
    }
}



.projects-prefectures__inner .area {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.projects-prefectures__inner .area-title {
	width: 100%;
	padding-top: 30px;
	padding-bottom: 10px;
}
.projects-prefectures__inner .area-title h3 {
	font-size: 1rem;
}
.projects-prefectures__inner .area-item {
	width: calc(33.3333% - (10px / 3));
}
.projects-prefectures__inner .area-item a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 8px;
	font-size: 0.95rem;
	transition: .3s;
}
.projects-prefectures__inner .area-item a:hover {
	opacity: 0.8;
}
.projects-prefectures__inner .area-touhoku a {
	background: #5A93AF;
	color: var(--color-wh);
}
.projects-prefectures__inner .area-kanto a {
	background: #1B4660;
	color: var(--color-wh);
}
.projects-prefectures__inner .area-chubu a {
	background: #708E64;
	color: var(--color-wh);
}
.projects-prefectures__inner .area-kinki a {
	background: #C69722;
	color: var(--color-wh);
}
.projects-prefectures__inner .area-chugoku a {
	background: #998F4A;
	color: var(--color-wh);
}
.projects-prefectures__inner .area-shikoku a {
	background: #DD7936;
	color: var(--color-wh);
}
.projects-prefectures__inner .area-kyushu a {
	background: #A00000;
	color: var(--color-wh);
}

@media screen and (min-width: 1024px) {
    .projects-prefectures__inner {
        max-width: 900px;
        margin: auto;
    }
    .projects-prefectures__inner .head {
        position: absolute;
        top: 60px;
        left: 30px;
        width: 380px;
        padding: 30px;
        background: var(--color-wh);
    }
    .projects-prefectures__inner .head p {
        padding: 0;
    }
    .projects-prefectures__inner .area-title {
        display: none;
    }
    .projects-prefectures__inner .area {
        display: block;
        position: relative;
        width: 800px;
        height: 800px;
		margin: auto;
    }
    .projects-prefectures__inner .area-item {
        position: absolute;
    }
	.projects-prefectures__inner .area-item a {
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0.5px solid var(--color-wgy);
	}
    .projects-prefectures__inner .area-hokkaido {
        top: 0;
        right: 0;
        width: calc(100% / 35 * 9);
		height: calc(100% / 35 * 8);
    }
	.projects-prefectures__inner .area-aomori {
        top: calc(100% / 35 * 10);
        right: calc(100% / 35 * 3);
        width: calc(100% / 35 * 6);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-iwate {
        top: calc(100% / 35 * 12);
        right: calc(100% / 35 * 1);
        width: calc(100% / 35 * 4);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-akita {
        top: calc(100% / 35 * 12);
        right: calc(100% / 35 * 5);
        width: calc(100% / 35 * 4);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-miyagi {
        top: calc(100% / 35 * 14);
        right: calc(100% / 35 * 1);
        width: calc(100% / 35 * 4);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-yamagata {
        top: calc(100% / 35 * 14);
        right: calc(100% / 35 * 5);
        width: calc(100% / 35 * 4);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-fukushima {
        top: calc(100% / 35 * 16);
        right: calc(100% / 35 * 1);
        width: calc(100% / 35 * 4);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-ibaraki {
        top: calc(100% / 35 * 18);
        right: calc(100% / 35 * 1);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 3);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-tochigi {
        top: calc(100% / 35 * 18);
        right: calc(100% / 35 * 3);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 3);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-gunma {
        top: calc(100% / 35 * 16);
        right: calc(100% / 35 * 5);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 5);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-saitama {
        top: calc(100% / 35 * 21);
        right: calc(100% / 35 * 1);
        width: calc(100% / 35 * 7);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-chiba {
        top: calc(100% / 35 * 23);
        right: 0;
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
    }
	.projects-prefectures__inner .area-tokyo {
        top: calc(100% / 35 * 23);
        right: calc(100% / 35 * 2);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-kanagawa {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 3);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-nigata {
        top: calc(100% / 35 * 16);
        right: calc(100% / 35 * 7);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 5);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-toyama {
        top: calc(100% / 35 * 19);
        right: calc(100% / 35 * 9);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-ishikawa {
        top: calc(100% / 35 * 17);
        right: calc(100% / 35 * 12);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-fukui {
        top: calc(100% / 35 * 21);
        right: calc(100% / 35 * 12);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-yamanashi {
        top: calc(100% / 35 * 23);
        right: calc(100% / 35 * 5);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-shizuoka {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 5);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 4);
    }
	.projects-prefectures__inner .area-nagano {
        top: calc(100% / 35 * 21);
        right: calc(100% / 35 * 8);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-gifu {
        top: calc(100% / 35 * 21);
        right: calc(100% / 35 * 10);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-aichi {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 8);
        width: calc(100% / 35 * 4);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-shiga {
        top: calc(100% / 35 * 23);
        right: calc(100% / 35 * 12);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-kyoto {
        top: calc(100% / 35 * 19);
        right: calc(100% / 35 * 15);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-hyogo {
        top: calc(100% / 35 * 19);
        right: calc(100% / 35 * 17);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-osaka {
        top: calc(100% / 35 * 23);
        right: calc(100% / 35 * 15);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-mie {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 12);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-nara {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 14);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-wakayama {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 16);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-tottori {
        top: calc(100% / 35 * 19);
        right: calc(100% / 35 * 19);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-okayama {
        top: calc(100% / 35 * 21);
        right: calc(100% / 35 * 19);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-shimane {
        top: calc(100% / 35 * 19);
        right: calc(100% / 35 * 22);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-hiroshima {
        top: calc(100% / 35 * 21);
        right: calc(100% / 35 * 22);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-yamaguchi {
        top: calc(100% / 35 * 19);
        right: calc(100% / 35 * 25);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 4);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-kagawa {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 19);
        width: calc(100% / 35 * 3.5);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-tokushima {
        top: calc(100% / 35 * 27);
        right: calc(100% / 35 * 19);
        width: calc(100% / 35 * 3.5);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-ehime {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 22.5);
        width: calc(100% / 35 * 3.5);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-kochi {
        top: calc(100% / 35 * 27);
        right: calc(100% / 35 * 22.5);
        width: calc(100% / 35 * 3.5);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-fukuoka {
        top: calc(100% / 35 * 23);
        right: calc(100% / 35 * 27);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-saga {
        top: calc(100% / 35 * 23);
        right: calc(100% / 35 * 30);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-oita {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 27);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-kumamoto {
        top: calc(100% / 35 * 25);
        right: calc(100% / 35 * 30);
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-nagasaki {
        top: calc(100% / 35 * 23);
        right: calc(100% / 35 * 33);
        width: calc(100% / 35 * 2);
		height: calc(100% / 35 * 5);
		writing-mode: vertical-rl;
    }
	.projects-prefectures__inner .area-miyazaki {
        top: calc(100% / 35 * 27);
        right: calc(100% / 35 * 27);
        width: calc(100% / 35 * 5);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-kagoshima {
        top: calc(100% / 35 * 29);
        right: calc(100% / 35 * 29);
        width: calc(100% / 35 * 5);
		height: calc(100% / 35 * 2);
    }
	.projects-prefectures__inner .area-okinawa {
        bottom: 0;
        left: 0;
        width: calc(100% / 35 * 3);
		height: calc(100% / 35 * 2);
    }
}
@media screen and (min-width: 1280px) {
    .projects-prefectures__inner {
        max-width: 1200px;
    }
    .projects-prefectures__inner .head {
        gap: 30px;
        top: 60px;
        left: 60px;
        width: 450px;
        padding: 50px;
        border-radius: 6px;
    }
    .projects-prefectures__inner .area {
        width: 1000px;
        height: 1000px;
    }
}

/* --------------------------------------------------
 page join and official-items
--------------------------------------------------- */

.official-items__header {
	position: relative;
	width: 100%;
}
.official-items__header .list {
	position: relative;
	width: 100%;
	padding: 0 20px 20px;
}
.official-items__header .list ul {
	display: flex;
	gap: 20px;
	position: relative;
	width: 100%;
}
.official-items__header .list ul li {
	width: calc(50% - 10px);
}
.official-items__header .list ul li a {
	display: flex;
	justify-content: center;
	padding: 10px;
	font-size: 0.95rem;
    transition: .3s;
}
.official-items__header .list ul li a:hover {
    opacity: 0.8;
}
.official-items__header .list ul li:nth-child(1) a {
	background: var(--color-rd);
	color: var(--color-wh);
}
.official-items__header .list ul li:nth-child(2) a {
	background: var(--color-nv);
	color: var(--color-wh);
}
@media screen and (min-width: 768px) {
    .official-items__header .list {
        padding: 20px 40px 30px;
    }
    .official-items__header .list ul li a {
        padding: 15px;
        font-size: 1.05rem;
    }
}
@media screen and (min-width: 1024px) {
    .official-items__header .list {
        max-width: 1400px;
        margin: auto;
        padding: 50px 60px 90px;
    }
    .official-items__header .list ul {
        gap: 40px;
    }
    .official-items__header .list ul li {
        width: calc(50% - 20px);
    }
    .official-items__header .list ul li a {
        padding: 30px;
        font-size: 1.2rem;
    }
}

.official-items {
    padding-bottom: 40px;
}
.official-items__inner,
.teaching-items__inner {
    display: flex;
    flex-direction: column;
	gap: 20px;
    margin-top: -80px;
    padding-top: 100px;
}
.official-items__inner .head,
.teaching-items__inner .head {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background: var(--color-bk);
    color: var(--color-wh);
}
.official-items__inner .head h2,
.teaching-items__inner .head h2 {
    font-size: 1.1rem;
    font-weight: 500;
}
.official-items__main {
    display: flex;
    flex-direction: column;
	gap: 20px;
    width: 100%;
    padding: 20px;
}
.official-items__main .image {
    background: var(--color-wh);
	padding: 20px;
}
.official-items__main .text {
    padding: 15px 20px;
    background: var(--color-nv);
	color: var(--color-wh);
	border-radius: 4px;
}
.official-items__main .text p {
	font-size: 0.9rem;
}
.preflist__head {
    padding: 0 20px 25px;
}
.preflist__head h2 {
    padding: 5px 5px 5px 10px;
    font-size: 1.1rem;
    border-left: 3px solid var(--color-rd);
}
.teaching-items__main {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
}
.teaching-items__main .link a {
    display: inline-block;
    position: relative;
    padding: 10px 40px 10px 10px;
    background: var(--color-nv);
    color: var(--color-wh);
    border-radius: 4px;
	font-size: 0.9rem;
}
.teaching-items__main .link a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}
.product-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px 0 0;
}
.product-list__block {
    display: flex;
    flex-direction: column;
	gap: 20px;
    padding: 0 20px;
}
.product-list__category {
    width: 100%;
    padding: 5px 0 5px 15px;
    border-left: 4px solid var(--color-nv);
    font-weight: 700;
    background: var(--color-wh);
}
.product-list__item {
    display: flex;
    flex-direction: column;
	gap: 20px;
    padding: 20px;
    background: var(--color-wh);
}
.product-list__item .text {
    display: flex;
    flex-direction: column;
	gap: 10px;
}
.product-list__item .text .title h3 {
    font-size: 1rem;
}
.product-list__item .text .price {
    padding 10px 0;
    text-align: right;
}
.product-list__item .text .desc {
    padding-top: 10px;
    border-top: 1px solid var(--color-line);
}
.product-list__item .text .desc p {
    font-size: 0.9rem;
}
@media screen and (min-width: 768px) {
    .official-items__main {
        padding: 20px 40px;
    }
    .official-items__main .image img {
        width: auto;
		height: 350px;
        margin: auto;
    }
	.official-items__main .text p {
		text-align: center;
	}
    .preflist__head {
        padding: 0 40px 0;
    }
    .preflist__head h2 {
        padding: 5px 5px 5px 10px;
        font-size: 1.1rem;
        border-left: 3px solid var(--color-rd);
    }
    .teaching-items__main {
        padding: 20px 40px;
    }
    .product-list__block {
        padding: 0 40px;
    }
    .product-list__category {
        padding: 8px 0 8px 15px;
        border-left: 5px solid var(--color-nv);
        font-size: 1.1rem;
    }
    .product-list__item {
        flex-direction: row;
    }
    .product-list__item .image {
        display: flex;
        align-items: center;
        width: calc(50% - 10px);
        background: #eee;
    }
    .product-list__item .text {
        width: calc(50% - 10px);
        padding: 15px 0;
    }
}
@media screen and (min-width: 1024px) {
    .official-items__inner .head,
    .teaching-items__inner .head {
        padding: 40px;
    }
    .official-items__main {
		max-width: 1400px;
        margin: auto;
		padding: 20px 60px;
    }
	.teaching-items__main {
		width: calc(100% - 120px);
		max-width: 1280px;
		margin: 40px auto 0;
        padding: 60px 60px 50px;
		border: 1px solid var(--color-gy);
    }
    .product-list {
        max-width: 1400px;
        margin: auto;
    }
	.preflist__head {
		max-width: 1400px;
        margin: auto;
        padding: 0 60px 0;
    }
    .product-list__block {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 40px;
        padding: 0 60px;
    }
    .product-list__category {
        margin-top: 25px;
    }
    .product-list__item {
        width: calc(50% - 20px); 
    }
    .product-list__item {
        flex-direction: column;
    }
    .product-list__item .image {
        justify-content: center;
        width: 100%;
    }
    .product-list__item .image img {
        max-width: 70%;
    }
    .product-list__item .text {
        width: 100%;
    }
}
@media screen and (min-width: 1280px) {
    .official-items {
        padding-bottom: 80px;
    }
    .official-items__inner .head,
    .teaching-items__inner .head {
        padding: 60px;
    }
    .official-items__inner .head h2,
    .teaching-items__inner .head h2 {
        font-size: 1.4rem;
    }
    .product-list__item {
        width: calc(33.3333% - (80px / 3)); 
    }
}


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

.preflist {
    position: relative;
    width: 100%;
}
.preflist a {
	transition: .3s;
}
.preflist a:hover {
	opacity: 0.8;
}
.preflist__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    width: 100%;
    padding: 0 20px;
}
.preflist__inner h2,
.official-items .preflist__inner h3 {
    padding-bottom: 5px;
    font-size: 1.1rem;
	font-weight: 500;
    border-bottom: 1px solid var(--color-gy);
}
.preflist__inner .area-list {
	z-index: 5;
	position: relative;
	width: 100%;
}
.preflist__inner .area-list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
}
.official-items .preflist__inner .area-list ul {
	gap: 5px;
}
.preflist__inner .area-list ul li {
	width: calc(33.3333% - (20px / 3));
}
.official-items .preflist__inner .area-list ul li {
	width: calc(20% - (20px / 5));
}

.preflist__inner .area-list ul li a {
	width: 100%;
	padding: 8px;
	font-size: 0.9rem;
	text-align: center;
	border-radius: 4px;
}
.preflist__inner .area-list ul li:nth-child(1) a {
	background: #5A93AF;
	color: var(--color-wh);
}
.preflist__inner .area-list ul li:nth-child(2) a {
	background: #1B4660;
	color: var(--color-wh);
}
.preflist__inner .area-list ul li:nth-child(3) a {
	background: #708E64;
	color: var(--color-wh);
}
.preflist__inner .area-list ul li:nth-child(4) a {
	background: #C69722;
	color: var(--color-wh);
}
.preflist__inner .area-list ul li:nth-child(5) a {
	background: #998F4A;
	color: var(--color-wh);
}
.preflist__inner .area-list ul li:nth-child(6) a {
	background: #DD7936;
	color: var(--color-wh);
}
.preflist__inner .area-list ul li:nth-child(7) a {
	background: #A00000;
	color: var(--color-wh);
}
.official-items .preflist__inner .area-list ul li a {
	padding: 5px 0;
	border-radius: 2px;
	font-size: 0.85rem;
	background: var(--color-wh);
	color: var(--color-bk);
}

.preflist-items {
	z-index: 4;
	display: flex;
    flex-direction: column;
    gap: 30px;
	position: relative;
	width: 100%;
	padding-top: 40px;
}
.preflist-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
	padding-top: 80px;
	margin-top: -80px;
}
.preflist-item h3 {
	position: relative;
	padding-bottom: 8px;
	font-size: 1rem;
}
.preflist-item h3::after {
	z-index: -1;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
}
#area01 h3::after {
	background: #5A93AF;
}
#area02 h3::after {
	background: #1B4660;
}
#area03 h3::after {
	background: #708E64;
}
#area04 h3::after {
	background: #C69722;
}
#area05 h3::after {
	background: #998F4A;
}
#area06 h3::after {
	background: #DD7936;
}
#area07 h3::after {
	background: #A00000;
}
.official-items .preflist-item h4 {
	position: relative;
	padding-bottom: 8px;
	font-size: 1rem;
}
.official-items .preflist-item h4::after {
	z-index: -1;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
}
.official-items .preflist-item h4::after {
	height: 2px;
	background: var(--color-gy)!important;
}

.preflist-item table thead {
	display: none;
}
.preflist-item table tbody {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.preflist-item table tbody tr {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100%;
	padding: 20px;
	background: var(--color-wh);
	border-radius: 8px;
}
.preflist-item table tbody tr td {
	display: flex;
	align-items: center;
	font-size: 0.9rem;
	line-height: 1.5;
}
.preflist-item table tbody tr td:nth-child(1) {
	margin-bottom: 8px;
	font-weight: 700;
}
.preflist-item table tbody tr td:nth-child(1) a {
	background: var(--color-dgy);
	color: var(--color-wh);
	margin-left: 15px;
	padding: 4px 8px 3px;
	font-size: 0.7rem;
	font-weight: 500;
	line-height: 1;
}
.preflist-item table tbody tr td:nth-child(2) {
	font-size: 0.85rem;
}
.preflist-item table tbody tr td:nth-child(3)::before {
	content: "TEL :";
	margin-right: 5px;
	font-size: 0.85rem;
}
.preflist-item table tbody tr td:nth-child(3) {
	font-size: 0.85rem;
}
@media screen and (min-width: 768px) {
	.preflist__inner {
		padding: 30px 40px 0;
	}
	.preflist__inner h2 {
		padding-bottom: 12px;
		font-size: 1.3rem;
		letter-spacing: .05em;
	}
	.preflist__inner .area-list ul li {
		width: calc(25% - (30px / 4));
	}
	.preflist-item {
		gap: 20px;
		padding-top: 110px;
		margin-top: -110px;
	}
}
@media screen and (min-width: 1024px) {
	.preflist__inner {
		max-width: 1400px;
		margin: auto;
		padding: 30px 60px 0;
	}
	.preflist__inner .area-list ul li {
		width: calc(14.285% - (60px / 7));
	}
	.preflist-items {
		gap: 50px;
	}
	.preflist-item table {
		width: 100%;
		border-top: 1px solid var(--color-gy);
		border-left: 1px solid var(--color-gy);
	}
	.preflist-item table thead,
	.preflist-item table tbody {
		display: table;
		width: 100%;
	}
	.preflist-item table thead tr,
	.preflist-item table tbody tr {
		display: table-row;
		padding: 0;
		border-radius: 0;
		background: none;
	}
	.preflist-item table thead tr td,
	.preflist-item table tbody tr td {
		display: table-cell;
		padding: 15px;
		border-bottom: 1px solid var(--color-gy);
		border-right: 1px solid var(--color-gy);
	}
	.preflist-item table thead tr td {
		padding: 10px;
		background: var(--color-dgy);
		color: var(--color-wh);
		text-align: center;
	}
	.preflist-item table thead tr td:nth-child(1),
	.preflist-item table tbody tr td:nth-child(1),
	.preflist-item table thead tr td:nth-child(2),
	.preflist-item table tbody tr td:nth-child(2),
	.preflist-item table thead tr td:nth-child(3),
	.preflist-item table tbody tr td:nth-child(3) {
		font-size: 0.85rem;
	}
	.preflist-item table thead tr td:nth-child(1),
	.preflist-item table tbody tr td:nth-child(1) {
		width: 260px;
	}
	.preflist-item table thead tr td:nth-child(3),
	.preflist-item table tbody tr td:nth-child(3) {
		width: 160px;
		text-align: center;
	}
	.preflist-item table tbody tr td:nth-child(1) {
		position: relative;
		margin: 0;
		font-weight: 500;
	}
	.preflist-item table tbody tr td:nth-child(1) a {
		display: block;
		position: absolute;
		top: 50%;
		right: 15px;
		margin: 0;
		padding: 4px 8px 3px;
		transform: translate(0, -50%);
	}
	.preflist-item table tbody tr td:nth-child(3)::before {
		display: none;
	}
}
@media screen and (min-width: 1280px) {
	.preflist__inner .area-list ul li a {
		font-size: 0.95rem;
	}
	.preflist-item table tbody tr td {
		padding: 20px;
	}
	.preflist-item table thead tr td:nth-child(1),
	.preflist-item table tbody tr td:nth-child(1),
	.preflist-item table thead tr td:nth-child(2),
	.preflist-item table tbody tr td:nth-child(2),
	.preflist-item table thead tr td:nth-child(3),
	.preflist-item table tbody tr td:nth-child(3) {
		font-size: 0.9rem;
	}
	.preflist-item table thead tr td:nth-child(1),
	.preflist-item table tbody tr td:nth-child(1) {
		width: 290px;
	}
	.preflist-item table thead tr td:nth-child(3),
	.preflist-item table tbody tr td:nth-child(3) {
		width: 180px;
	}
}

.join {
    position: relative;
    width: 100%;
}
.join__inner {
	display: flex;
	flex-direction: column;
	gap: 25px;
	position: relative;
    width: 100%;
    padding: 40px 20px 0;
}
.join__inner .head {
	width: 100%;
}
.join__inner .head h2 {
	padding-bottom: 5px;
    font-size: 1.1rem;
	font-weight: 500;
	border-bottom: 1px solid var(--color-gy);
}
.join-main h3 {
	font-size: 0.9rem;
	font-weight: 700;
}
.join-main .text {
	margin-top: 15px;
	padding: 10px 20px;
	font-size: 0.85rem;
	border: 1px solid var(--color-gy);
}
.join-prefectures h3 {
	font-size: 0.9rem;
	font-weight: 700;
}
.join-prefectures .list {
	padding-top: 15px;
}
.join-prefectures .list table {
	width: 100%;
	border-top: 1px solid var(--color-gy);
	border-left: 1px solid var(--color-gy);
}
.join-prefectures .list table tr td {
	padding: 3px 5px;
	font-size: 0.8rem;
	border-bottom: 1px solid var(--color-gy);
	border-right: 1px solid var(--color-gy);
	text-align: center;
}
.join-prefectures .list table thead tr td {
	background: var(--color-dgy);
	color: var(--color-wh);
}
@media screen and (min-width: 768px) {
	.join__inner {
		padding: 50px 40px 0;
	}
	.join-main h3,
	.join-prefectures h3 {
		font-size: 0.95rem;
	}
	.join-main .text {
		padding: 15px 25px;
		font-size: 0.95rem;
	}
	.join-prefectures .list table tr td {
		font-size: 0.95rem;
	}
}
@media screen and (min-width: 1024px) {
	.join__inner {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 40px 40px;
		max-width: 1400px;
		margin: auto;
		padding: 70px 60px 0;
	}
	.join-main {
		width: 380px;
	}
	.join-prefectures {
		width: calc(100% - 420px);
	}
}

/* --------------------------------------------------
 page forms
--------------------------------------------------- */

.forms-contents {
	position: relative;
	width: 100%;
	padding-top: 50px;
}
.forms-license {
	padding-top: 0;
}
.forms-contents__inner {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	padding: 0 20px;
}
.forms-contents__inner h2 {
	font-size: 1.2rem;
	letter-spacing: .1em;
	color: var(--color-rd);
	border-bottom: 1px solid var(--color-line);
}
@media screen and (min-width: 768px) {
    .forms-contents {
        padding-top: 70px;
    }
    .forms-license {
        padding-top: 20px;
    }
    .forms-contents__inner {
        max-width: 1000px;
        margin: auto;
        padding: 0 40px;
    }
    .forms-contents__inner h2 {
        font-size: 1.4rem;
    }
}
@media screen and (min-width: 1024px) {
    .forms-contents {
        padding-top: 70px;
    }
    .forms-license {
        padding-top: 20px;
    }
    .forms-contents__inner {
        padding: 0 60px;
    }
    .forms-contents__inner h2 {
        font-size: 1.4rem;
    }
}
@media screen and (min-width: 1280px) {
    .forms-contents__inner {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0 50px;
        max-width: 1400px;
    }
    .forms-contents__inner h2 {
        width: 100%;
    }
    .forms-01 {
        width: 100%;
    }
    .forms-02 {
        width: 100%;
    }
    .forms-03 {
        width: 66.6666%;
    }
    .forms-04 {
        width: calc(33.3333% - 50px);
    }
    .forms-05 {
        width: 66.6666%;
    }
    .forms-06 {
        width: calc(33.3333% - 50px);
    }
    .forms-07 {
        width: calc(60% - 25px);
    }
    .forms-08 {
        width: calc(40% - 25px);
    }
    .forms-09 {
        width: 100%;
    }
}


.forms-item {
	display: flex;
	flex-direction: column;
    gap: 10px;
    padding-top: 40px;
}
.forms-item h3 {
    width: 100%;
	font-size: 1.1rem;
}
.forms-item h4 {
    position: relative;
    margin: 0 0 10px;
    padding: 8px;
    background: var(--color-wh);
	font-size: 0.95rem;
	font-weight: 500;
    text-align: center;
}
.forms-item h4::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 6px;
    height: 6px;
    border-bottom: 1px solid var(--color-bk);
    border-right: 1px solid var(--color-bk);
    transform: translate(0, -50%) rotate(45deg);
}
.forms-block {
    padding-bottom: 25px;
}
.forms-item .forms-block:nth-last-child(1) {
    padding-bottom: 0;
}
.forms-block .list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.forms-block .list ul li {
	display: flex;
	width: 100%;
}
.forms-block .list ul li a {
	display: flex;
	align-items: center;
    position: relative;
	width: 100%;
	padding: 10px 30px 10px 10px;
	font-size: 0.95rem;
    font-weight: 700;
	line-height: 1.5;
	background: var(--color-bl);
	color: var(--color-wh);
	border-radius: 4px;
}
.forms-block .list ul li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 18px;
    height: 18px;
    background-position: center center;
    background-image: url("assets/images/icon-dl-wh.svg");
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
    .forms-item h3 {
        padding-bottom: 8px;
        font-size: 1.2rem;
        border-bottom: 1px solid var(--color-bk);
    }
    .forms-item {
        gap: 20px;
        padding-top: 50px;
    }
    .forms-item h4 {
        margin: 0 0 20px;
        font-size: 1rem;
    }
    .forms-block {
        padding-bottom: 35px;
    }
    .forms-block .list ul li {
        width: calc(50% - 5px);
    }
    .forms-block .list ul li a {
        padding: 15px 40px 15px 15px;
    }
    .forms-block .list ul li a::after {
        width: 22px;
        height: 22px;
    }
}
@media screen and (min-width: 1024px) {
    .forms-item h4 {
        font-size: 1.1rem;
    }
    .forms-block .list ul {
        gap: 16px;
    }
    .forms-block .list ul li {
        width: calc(50% - 8px);
    }
    .forms-block .list ul li a {
        font-size: 1rem;
    }
}
@media screen and (min-width: 1280px) {
    .forms-item h4 {
        background: var(--color-bl);
        color: var(--color-wh);
    }
    .forms-item h4::after {
        border-color: var(--color-wh);
    }
    .forms-01 .forms-block .list ul li {
        width: calc(20% - (64px / 5));
    }
    .forms-block .list ul li a {
        padding: 20px 40px 20px 20px;
        background: none;
        border: 2px solid var(--color-gy);
        color: var(--color-bk);
        transition: .3s;
    }
    .forms-block .list ul li a:hover {
        border: 2px solid var(--color-dgy);
        background: var(--color-dgy);
        color: var(--color-wh);
    }
    .forms-block .list ul li a::after {
        background-image: url("assets/images/icon-dl-gy.svg");
    }
    .forms-block .list ul li a:hover::after {
        background-image: url("assets/images/icon-dl-wh.svg");
    }
    .forms-02 {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 5px 30px;
    }
    .forms-02 h3 {
        margin-bottom: 15px;
    }
    .forms-02 .forms-block {
        width: calc(50% - 15px);
    }
    .forms-02 .forms-block:nth-child(4),
    .forms-02 .forms-block:nth-child(5),
    .forms-02 .forms-block:nth-child(6) {
        width: calc(33.3333% - 20px);
    }
    .forms-02 .forms-block:nth-child(4) .list ul li,
    .forms-02 .forms-block:nth-child(5) .list ul li,
    .forms-02 .forms-block:nth-child(6) .list ul li {
        width: 100%;
    }
    .forms-03 {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 5px 30px;
    }
    .forms-03 h3 {
        margin-bottom: 15px;
    }
    .forms-03 .forms-block {
        width: calc(50% - 15px);
    }
    .forms-04 .forms-block .list ul li {
        width: 100%;
    }
    .forms-06 .forms-block .list ul li {
        width: 100%;
    }
    .forms-07 .forms-block .list ul li {
        width: calc(33.3333% - (32px / 3));
    }
    .forms-09 .forms-block .list ul li {
        width: calc(33.3333% - (32px / 3));
    }
}

/* --------------------------------------------------
 page report
--------------------------------------------------- */

.report-section {
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 100%;
}
.report-plan__inner,
.financial__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    padding: 0 20px;
}
.report-plan__inner h2,
.financial__inner h2 {
    font-size: 1.1rem;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--color-bk);
}
.report-plan-item,
.financial-item {
    width: 100%;
    padding: 20px 10px;
    background: var(--color-wh);
}
.report-plan-item__head,
.financial-item__head {
    font-size: 1.05rem;
    padding-bottom: 10px;
}
.report-plan-item__report,
.financial-item__report {
    display: flex;
    gap: 10px;
}
.report-plan-item__report a,
.financial-item__report a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(50% - 5px);
    padding: 12px;
}
.report-plan-item__report a:nth-child(1),
.financial-item__report a:nth-child(1) {
    background: var(--color-nv);
    color: var(--color-wh);
}
.report-plan-item__report a:nth-child(2),
.financial-item__report a:nth-child(2) {
    background: var(--color-rd);
    color: var(--color-wh);
}

@media screen and (min-width: 768px) {
    .report-plan__inner,
    .financial__inner {
        gap: 20px;
        padding: 0 40px;
    }
    .report-plan__inner h2,
    .financial__inner h2 {
        font-size: 1.2rem;
    }
    .report-plan-item,
    .financial-item {
        padding: 25px;
    }
    .report-plan-item__head,
    .financial-item__head {
        font-size: 1.1rem;
        padding-bottom: 15px;
    }
    .report-plan-item__report,
    .financial-item__report {
        gap: 20px;
    }
    .report-plan-item__report a,
    .financial-item__report a {
        width: calc(50% - 10px);
        padding: 15px;
    }
}
@media screen and (min-width: 1024px) {
    .report-section {
        gap: 90px;
        padding-top: 50px;
    }
    .report-plan__inner,
    .financial__inner {
        gap: 10px;
        max-width: 1400px;
        margin: auto;
        padding: 0 60px;
    }
    .report-plan__inner h2,
    .financial__inner h2 {
        font-size: 1.3rem;
        margin-bottom: 20px;
    }
    .report-plan-item,
    .financial-item {
        display: flex;
        align-items: center;
        gap: 30px;
        padding: 30px;
    }
    .report-plan-item__head,
    .financial-item__head {
        width: calc(100% - 530px);
        padding: 0;
        font-size: 1.2rem;
        font-weight: 700;
        letter-spacing: .05em;
        line-height: 1;
    }
    .report-plan-item__report,
    .financial-item__report {
        width: 500px;
    }
}
@media screen and (min-width: 1401px) {
    .report-plan-item,
    .financial-item {
        gap: 80px;
        padding: 40px;
    }
    .report-plan-item__head,
    .financial-item__head {
        width: calc(100% - 730px);
    }
    .report-plan-item__report,
    .financial-item__report {
        width: 700px;
    }
    .report-plan-item__report a,
    .financial-item__report a {
        padding: 20px;
        font-size: 1.2rem;
        font-weight: 700;
    }
}


/*.financial {
    width: 100%;
}
.financial__inner {
    width: 100%;
    padding: 0 20px;
}
.financial__inner ul {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.financial__inner ul li {
    display: flex;
    align-items: flex-end;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--color-line);
}
.financial__inner ul li a {
    width: calc(100% - 130px);
    padding-right: 10px;
    font-size: 1.2rem;
    line-height: 1.5;
    text-decoration: underline;
}
.financial__inner ul li .date {
    width: 130px;
    padding-bottom: 3px;
    font-size: 0.75rem;
    text-align: right;
}
@media screen and (min-width: 768px) {
    .financial__inner {
        max-width: 1000px;
        margin: auto;
        padding: 0 40px;
    }
    .financial__inner ul {
        gap: 40px;
    }
}
@media screen and (min-width: 1024px) {
    .financial__inner {
        padding: 0 60px;
    }
}
@media screen and (min-width: 1280px) {
    .financial__inner {
        max-width: calc(1400px - 120px);
        padding: 80px;
        background: var(--color-wh);
        border-radius: 8px;
    }
    .financial__inner ul li {
        z-index: 1;
        position: relative;
    }
    .financial__inner ul li::before {
        z-index: 2;
        content: "";
        position: absolute;
        width: 0;
        height: 100%;
        background: var(--color-nv);
        transition: .4s;
    }
    .financial__inner ul li:hover::before {
        width: 100%;
    }
    .financial__inner ul li a {
        z-index: 3;
        position: relative;
        width: calc(100% - 170px);
        padding: 20px 20px 22px;
        text-decoration: none;
        transition: .2s;
    }
    .financial__inner ul li:hover a {
        color: var(--color-wh);
    }
    .financial__inner ul li .date {
        z-index: 3;
        position: relative;
        width: 170px;
        padding: 20px 20px 25px;
        transition: .2s;
    }
    .financial__inner ul li:hover .date {
        color: var(--color-wh);
    }
}*/

/* --------------------------------------------------
 page regulations
--------------------------------------------------- */

.regulations {
    width: 100%;
}
.regulations__inner {
    width: 100%;
    padding: 0 20px;
}
.regulations__inner ul {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.regulations__inner ul li {
    display: flex;
    align-items: flex-end;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--color-line);
}
.regulations__inner ul li a {
    width: calc(100% - 130px);
    padding-right: 10px;
    font-size: 1.2rem;
    line-height: 1.5;
    text-decoration: underline;
}
.regulations__inner ul li .date {
    width: 130px;
    padding-bottom: 3px;
    font-size: 0.75rem;
    text-align: right;
}
@media screen and (min-width: 768px) {
    .regulations__inner {
        max-width: 1000px;
        margin: auto;
        padding: 0 40px;
    }
    .regulations__inner ul {
        gap: 40px;
    }
}
@media screen and (min-width: 1024px) {
    .regulations__inner {
        padding: 0 60px;
    }
}
@media screen and (min-width: 1280px) {
    .regulations__inner {
        max-width: calc(1400px - 120px);
        padding: 80px;
        background: var(--color-wh);
        border-radius: 8px;
    }
    .regulations__inner ul li {
        z-index: 1;
        position: relative;
    }
    .regulations__inner ul li::before {
        z-index: 2;
        content: "";
        position: absolute;
        width: 0;
        height: 100%;
        background: var(--color-nv);
        transition: .4s;
    }
    .regulations__inner ul li:hover::before {
        width: 100%;
    }
    .regulations__inner ul li a {
        z-index: 3;
        position: relative;
        width: calc(100% - 170px);
        padding: 20px 20px 22px;
        text-decoration: none;
        transition: .2s;
    }
    .regulations__inner ul li:hover a {
        color: var(--color-wh);
    }
    .regulations__inner ul li .date {
        z-index: 3;
        position: relative;
        width: 170px;
        padding: 20px 20px 25px;
        transition: .2s;
    }
    .regulations__inner ul li:hover .date {
        color: var(--color-wh);
    }
}

/* --------------------------------------------------
 page introduction
--------------------------------------------------- */

.introduction {
    position: relative;
    width: 100%;
}
.introduction__inner {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.intro-main {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 20px;
}
.intro-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.intro-block__item {
	z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
	position: relative;
}
.intro-block__item .intro-bg {
	z-index: 2;
	display: none;
	position: absolute;
	font-family: var(--font-en);
	color: var(--color-wh);
}
.intro-block__item .image {
	z-index: 3;
	position: relative;
    width: 100%;
    height: 250px;
}
.intro-block__item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.intro-block__item .text {
	z-index: 4;
    display: flex;
    flex-direction: column;
    gap: 30px;
	position: relative;
    width: calc(100% - 40px);
    background: var(--color-wh);
    margin: auto;
    border-radius: 6px;
    overflow: hidden;
}
.intro-block__item .text .text__head {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 17px 0 15px;
    background: var(--color-nv);
    color: var(--color-wh);
}
.intro-block__item .text .text__head h3 {
    font-size: 1rem;
}
.intro-block__item .text .text__head .deco {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
    width: 40px;
    height: 20px;
}
.intro-block__item .text .text__head .deco span {
    width: 5px;
    height: 5px;
    background: var(--color-wh);
    border-radius: 100%;
}
.intro-block__item .text .text__inner {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 0 20px 25px;
}
.intro-block__item .text .text__inner p a {
    display: inline-block;
    position: relative;
    margin-top: 12px;
    padding: 12px 50px 12px 12px;
    background: var(--color-ord);
    color: var(--color-wh);
    font-weight: 700;
}
.intro-block__item .text .text__inner p a::before,
.intro-block__item .text .text__inner p a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
}
.intro-block__item .text .text__inner p a::before {
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}
.intro-block__item .text .text__inner p a::after {
    width: 25px;
    height: 1px;
    background: var(--color-wh);
    transform: translate(0, -50%);
}
@media screen and (min-width: 768px) {
    .introduction__inner {
        gap: 40px;
    }
    .intro-main {
        gap: 20px;
        padding: 20px 40px;
    }
    .intro-main p {
        line-height: 2;
    }
    .intro-block {
        gap: 80px;
    }
    .intro-block__item {
        gap: 40px;
    }
    .intro-block__item .image {
        height: 400px;
    }
    .intro-block__item .text {
        gap: 40px;
        width: calc(100% - 80px);
    }
    .intro-block__item .text .text__inner {
        gap: 15px;
        padding: 0 30px 35px;
    }
}
@media screen and (min-width: 1024px) {
    .intro-block {
        gap: 120px;
    }
    .intro-block__item {
        gap: 0;
    }
    .intro-block__item .image {
        width: 75%;
        height: 600px;
    }
    .intro-block__item:nth-child(2n+2) .image {
        margin-left: auto;
    }
    .intro-block__item .text {
        width: 600px;
        margin: 0;
        margin-top: -180px;
    }
    .intro-block__item:nth-child(2n+1) .text {
        margin-left: auto;
        margin-right: 40px;
    }
    .intro-block__item:nth-child(2n+2) .text {
        margin-left: 40px;
    }
}
@media screen and (min-width: 1280px) {
    .introduction__inner {
        gap: 140px;
        padding-top: 30px;
    }
    .intro-main {
        gap: 25px;
        max-width: calc(1200px - 120px);
        margin: auto;
        padding: 80px 100px;
        background: var(--color-wh);
    }
    .intro-main p {
        line-height: 2.2;
    }
    .intro-block__item {
        align-items: flex-end;
        flex-direction: row;
		gap: 60px;
    }
	.intro-block__item:nth-child(2n+2) {
		flex-direction: row-reverse;
	}
    .intro-block__item .image {
        width: calc(100% - 670px);
        height: auto;
		aspect-ratio: 3 / 2;
        margin: 0!important;
    }
    .intro-block__item .text {
		gap: 50px;
        width: 550px;
        margin: 0 0 30px!important;
    }
	.intro-block__item .text .text__inner {
        gap: 15px;
        padding: 0 60px 45px;
    }
	.intro-block__item .text p {
		font-size: 0.95rem;
	}
}
@media screen and (min-width: 1601px) {
	.intro-block__item {
		gap: 120px;
    }
	.intro-block__item .intro-bg {
		display: block;
		top: 40px;
		font-size: 12rem;
		line-height: 1;
	}
	.intro-block__item:nth-child(2n+1) .intro-bg {
		right: 0;
	}
	.intro-block__item:nth-child(2n+2) .intro-bg {
		left: 0;
	}
	.intro-block__item .image {
        width: calc(100% - 900px);
		min-height: 600px;
		aspect-ratio: 3 / 1.7;
	}
    .intro-block__item .text {
		width: 600px;
	}
	.intro-block__item .text .text__inner {
        gap: 20px;
        padding: 0 80px 45px;
    }
	.intro-block__item .text p {
		line-height: 2.2;
	}
}

/*
.intro-block__item .text {
    width: calc(100% - 40px);
    padding: 20px;
    background: var(--color-wh);
    margin-top: -35px;
}
.intro-block__item:nth-child(2n+1) .text {
    margin-left: auto;
}
.intro-block__item:nth-child(2n+2) .image {
    margin-left: auto;
}*/

/* --------------------------------------------------
 page cr-child
--------------------------------------------------- */

.cr-child {
    position: relative;
    width: 100%;
}
.cr-child__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    width: 100%;
    padding: 0 20px;
}
.cr-child__inner .cr-block {
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 100%;
}
.cr-child__inner .cr-block .head {
    width: 100%;
    padding: 5px 5px 5px 15px;
    border-left: 4px solid var(--color-rd);
}
.cr-child__inner .cr-block .head h2 {
    font-size: 1.15rem;
    line-height: 1.6;
}
.cr-child__inner .cr-block .text {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 20px;
    background: var(--color-wh);
    border-radius: 4px;
}
.cr-child__inner .cr-block .text a {
    display: inline-block;
    position: relative;
    padding: 10px 40px 10px 10px;
    background: var(--color-nv);
    color: var(--color-wh);
    font-size: 0.9rem;
}
.cr-child__inner .cr-block .text a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--color-wh);
    border-right: 1px solid var(--color-wh);
    transform: translate(0, -50%) rotate(45deg);
}
.cr-child__inner .cr-block .imglist {
    width: 100%;
}
.cr-child__inner .cr-block .imglist ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}
.cr-child__inner .cr-block .imglist ul li {
    width: calc(50% - 10px);
}

@media screen and (min-width: 768px) {
    .cr-child__inner {
        gap: 60px;
        padding: 0 40px;
    }
    .cr-child__inner .cr-block {
        gap: 30px;
    }
    .cr-child__inner .cr-block .head {
        padding: 5px 5px 5px 15px;
    }
    .cr-child__inner .cr-block .head h2 {
        font-size: 1.15rem;
        line-height: 1.6;
    }
    .cr-child__inner .cr-block .text {
        gap: 20px;
        padding: 40px;
    }
    .cr-child__inner .cr-block .text a {
        padding: 15px 40px 15px 15px;
        font-size: 0.95rem;
    }
    .cr-child__inner .cr-block .imglist ul {
        gap: 10px;
    }
    .cr-child__inner .cr-block .imglist ul li {
        width: calc(33.3333% - (20px / 3));
    }
}
@media screen and (min-width: 1024px) {
    .cr-child__inner {
        gap: 80px;
        max-width: 1400px;
        margin: auto;
        padding: 40px 60px 0;
    }
    .cr-child__inner .cr-block {
        gap: 30px;
    }
    .cr-child__inner .cr-block .head {
        padding: 5px 5px 5px 15px;
    }
    .cr-child__inner .cr-block .head h2 {
        font-size: 1.15rem;
        line-height: 1.6;
    }
    .cr-child__inner .cr-block .text {
        gap: 20px;
        padding: 40px;
    }
    .cr-child__inner .cr-block .imglist ul li {
        width: calc(25% - (30px / 4));
    }
}
@media screen and (min-width: 1280px) {
    .cr-child__inner .cr-block .head h2 {
        font-size: 1.3rem;
    }
    .cr-child__inner .cr-block .text {
        gap: 20px;
        padding: 60px;
    }
}

/* --------------------------------------------------
 page faq
--------------------------------------------------- */

.faq {
    width: 100%;
}
.faq__inner {
    width: 100%;
    padding: 0 20px;
}
@media screen and (min-width: 768px) {
    .faq__inner {
        max-width: 1000px;
        margin: auto;
        padding: 0 40px;
    }
}
@media screen and (min-width: 1024px) {
    .faq__inner {
        padding: 0 60px;
    }
}
@media screen and (min-width: 1280px) {
    .faq__inner {
        max-width: calc(1400px - 120px);
        padding: 80px;
		background: var(--color-wh);
		border-radius: 8px;
	}
}

.faq__inner .list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.faq-item {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--color-gy);
	font-size: 0.95rem;
	text-align: justify;
}
@media screen and (min-width: 1024px) {
	.faq-item {
		padding-bottom: 40px;
		font-size: 1rem;
		line-height: 2;
	}
	.faq__inner .list {
		gap: 60px;
	}
}
.faq-item__q {
	display: flex;
	flex-direction: column;
	gap: 15px;
	position: relative;
	width: 100%;
	padding: 0 15px 25px 15px;
	cursor: pointer;
}
.faq-item__q::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 14px;
	height: 8px;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	background: var(--color-gy);
	transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
	.faq-item__q {
		flex-direction: row;
		align-items: flex-start;
		padding: 0 60px 0 15px;
	}
	.faq-item__q::after {
		bottom: 10px;
		left: auto;
		right: 10px;
		transform: translate(0, 0);
	}
}

.faq-item__a {
	width: 100%;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease-out;
}
.faq-item__a__inner {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 15px;
	padding: 20px 20px 25px;
	background: var(--color-wh);
}
@media screen and (min-width: 1024px) {
	.faq-item__a__inner {
		margin-top: 25px;
		padding: 30px 30px 35px;
		background: var(--color-wgy);
	}
}
.faq__title {
	margin-bottom: -7px;
	padding: 0 0 0 2px;
	font-size: 0.95rem;
}
.faq-item__q .faq__title {
	color: var(--color-bl);
}
.faq-item__a .faq__title {
	color: var(--color-rd);
}
.faq__text {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
@media screen and (min-width: 1024px) {
	.faq-item__q .faq__title {
		margin: 0;
		padding-bottom: 0;
	}
	.faq-item .faq__text p {
		font-size: 0.95rem;
		line-height: 2;
	}
	.faq-item .faq__text .image {
		margin-top: 30px;
		padding: 60px;
		background: var(--color-wh);
	}
	.faq-item .faq__text img {
		max-width: 600px;
		margin: 0 auto;
	}
}

.faq-item__a__inner a {
	display: inline;
	position: relative;
	width: auto;
	padding: 8px 50px 8px 8px;
	font-size: 0.85rem;
	line-height: 1.5;
	border: 1px solid var(--color-bk);
}
.faq-item__a__inner a::before,
.faq-item__a__inner a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
}
.faq-item__a__inner a::before {
	width: 20px;
	height: 1px;
	background: var(--color-bk);
	transform: translate(0, -50%);
}
.faq-item__a__inner a::after {
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--color-bk);
	border-right: 1px solid var(--color-bk);
	transform: translate(0, -50%) rotate(45deg);
}
@media screen and (min-width: 1024px) {
	.faq-item__a__inner a {
		display: inline-block;
		padding: 12px 55px 12px 12px;
		font-size: 0.95rem;
	}
}

/* --------------------------------------------------
 page category news
--------------------------------------------------- */

.news__list {
	display: flex;
	flex-direction: column;
}
.news__list .news-item {
	width: 100%;
	border-top: 1px solid var(--color-line);
}
.news__list .news-item:nth-child(1) {
	border-top: 0;
}
.news__list .news-item a {
	position: relative;
	padding: 20px 30px 20px 0;
}
.news__list .news-item a::before,
.news__list .news-item a::after {
	content: "";
	position: absolute;
	top: 50%;
}
.news__list .news-item a::before {
	right: 15px;
	width: 21px;
	height: 21px;
	border-radius: 100%;
	border: 1px solid var(--color-dgy);
	transform: translate(0, -50%);
}
.news__list .news-item a::after {
	right: 24px;
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--color-dgy);
	border-right: 1px solid var(--color-dgy);
	transform: translate(0, -50%) rotate(45deg);
}
.news__list .news-item .date {
	font-size: 0.85rem;
	letter-spacing: 0.05em;
}
.news__list .news-item h3 {
	font-size: 1rem;
	font-weight: 500;
}
@media screen and (min-width: 1024px) {
	.news__list .news-item a {
		padding: 30px 50px 30px 30px;
	}
	.news__list .news-item .date {
		font-size: 0.95rem;
	}
	.news__list .news-item h3 {
		font-size: 1.05rem;
	}
	.news__list .news-item a::before {
		right: 20px;
		width: 27px;
		height: 27px;
	}
	.news__list .news-item a::after {
		right: 32px;
		width: 6px;
		height: 6px;
	}
}

/* --------------------------------------------------
 page archive common
--------------------------------------------------- */

.archive {
	position: relative;
	width: 100%;
}
.archive__inner {
	position: relative;
	width: 100%;
	padding: 0 20px;
}
@media screen and (min-width: 768px) {
	.archive__inner {
		padding: 0 40px;
	}
}
@media screen and (min-width: 1024px) {
	.archive__inner {
		max-width: 1200px;
		margin: auto;
		padding: 0 60px;
	}
}

.latest-championship {
    padding-bottom: 40px;
}

.archive-championship__inner h2 {
    margin-bottom: 25px;
    padding: 10px;
    background: var(--color-nv);
    color: var(--color-wh);
    font-size: 1rem;
}

.championship-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
}
.championship-item {
	width: 100%;
}
.championship-item a {
	display: flex;
	align-items: flex-end;
	gap: 15px;
	padding: 20px;
	background: var(--color-wh);
	transition: .3s;
}
.championship-item a:hover {
	background: var(--color-nv);
	color: var(--color-wh);
}
.championship-item a h3 {
	font-size: 1rem;
	line-height: 1;
}
.championship-item a .date {
	font-size: 0.8rem;
	line-height: 1;
}
@media screen and (min-width: 768px) {
	.championship-item {
		width: calc(50% - 5px);
	}
}
@media screen and (min-width: 1024px) {
	.championship-list {
		gap: 15px;
		padding-top: 15px;
	}
	.championship-item {
		width: calc(33.3333% - 10px);
	}
	.championship-item a h3 {
		font-size: 1.2rem;
	}
	.championship-item a .date {
		font-size: 0.9rem;
	}
}
@media screen and (min-width: 1401px) {
	.championship-list {
		gap: 15px;
		padding-top: 15px;
	}
	.championship-item {
		width: calc(20% - (60px / 5));
	}
	.championship-item a {
		flex-direction: column;
		align-items: center;
		padding: 30px 10px;
	}
	.championship-item a h3 {
		font-size: 1.2rem;
	}
	.championship-item a .date {
		font-size: 0.9rem;
	}
}

/* --------------------------------------------------
 page archive skillup
--------------------------------------------------- */

.skillup-navi {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    padding: 15px 0 30px;
}
.skillup-navi h2 {
    font-size: 1.1rem;
    text-align: center;
}
.skillup-navi ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}
.skillup-navi ul li {
    width: calc(50% - (8px / 2));
}
.skillup-navi ul li a {
    width: 100%;
    padding: 8px;
    font-size: 0.9rem;
    line-height: 1;
    background: var(--color-wh);
    text-align: center;
}
.skillup-navi ul li a.active {
    background: var(--color-rd);
    color: var(--color-wh);
}
@media screen and (min-width: 768px) {
    .skillup-navi {
        gap: 25px;
        padding: 25px 0 50px;
    }
    .skillup-navi h2 {
        font-size: 1.15rem;
    }
    .skillup-navi ul li {
        width: calc(25% - (24px / 4));
    }
    .skillup-navi ul li a {
        padding: 10px;
    }
}
@media screen and (min-width: 1280px) {
    .skillup-navi {
        gap: 25px;
        padding: 40px 0 70px;
    }
    .skillup-navi h2 {
        font-size: 1.2rem;
    }
    .skillup-navi ul li {
        width: calc(12.5% - (56px / 8));
    }
    .skillup-navi ul li a {
        padding: 15px;
    }
}

.skillup-list {
	display: flex;
	flex-direction: column;
	gap: 25px;
	width: 100%;
}
.skillup-item {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
	padding: 25px 20px 20px;
	background: var(--color-wh);
}
.skillup-item .category {
	width: 100%;
}
.skillup-item .category ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.skillup-item .category ul li a {
	padding: 8px 10px;
	font-size: 0.7rem;
	line-height: 1;
	background: var(--color-nv);
	color: var(--color-wh);
	border-radius: 3px;
}
.skillup-item a.card {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.skillup-item a.card .image {
	width: 100%;
	height: 220px;
}
.skillup-item a.card .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.skillup-item a.card .text {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}
.skillup-item a.card .text .title {
	font-size: 1.05rem;
}
.skillup-item a.card .text .btn {
	width: 100%;
	color: var(--color-gy);
	font-size: 0.8rem;
	text-align: center;
	letter-spacing: .1em;
	text-indent: .1em;
}
@media screen and (min-width: 768px) {
	.skillup-list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 20px;
	}
	.skillup-item {
		width: calc(50% - 10px);
	}
}
@media screen and (min-width: 1280px) {
	.skillup-list {
		gap: 20px;
	}
	.skillup-item {
		width: calc(33.3333% - (40px / 3));
		padding: 35px 30px 30px;
	}
	.skillup-item a.card .image {
		height: 250px;
	}
}

/* --------------------------------------------------
 page privacy
--------------------------------------------------- */

.privacy {
    z-index: 1;
    position: relative;
    width: 100%;
}
.privacy__inner {
    z-index: 2;
    position: relative;
}
.privacy-list {
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    width: 100%;
}
.privacy-list__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    font-size: 0.9rem;
    text-align: justify;
    line-height: 1.5;
}
.privacy-list__item .head {
    font-size: 0.95rem;
    font-weight: 700;
}
@media screen and (min-width: 768px) {
    .privacy-list__item {
        font-size: 0.95rem;
    }
    .privacy-list__item .head {
        font-size: 1.05rem;
    }
}
.privacy-list__item .desc p {
    padding-top: 15px;
}
.privacy-list__item .desc p:nth-child(1) {
    padding-top: 0;
}

/* --------------------------------------------------
 page consultation
--------------------------------------------------- */

.consultation {
	width: 100%;
}
.consultation__inner {
	display: flex;
	flex-direction: column;
	gap: 50px;
	padding: 0 20px;
}
@media screen and (min-width: 768px) {
	.consultation__inner {
		gap: 60px;
		padding: 25px 40px;
	}
}
@media screen and (min-width: 1024px) {
	.consultation__inner {
		gap: 60px;
		max-width: 1200px;
		margin: auto;
		padding: 30px 60px;
	}
}
.consultation-main {
	padding: 20px;
	background: var(--color-wh);
}
@media screen and (min-width: 1024px) {
	.consultation-main {
		padding: 40px;
	}
}
.consultation-list {
	width: 100%;
}
.consultation-list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}
.consultation-list ul li {
	display: flex;
	gap: 15px;
	align-items: center;
	width: 100%;
}
@media screen and (min-width: 768px) {
	.consultation-list ul li {
		flex-direction: column;
		width: calc(50% - (25px / 2));
		padding: 15px;
		border: 3px solid var(--color-wh);
	}
}
@media screen and (min-width: 1024px) {
	.consultation-list ul li {
		padding: 25px;
	}
}
.consultation-list ul li .icon {
	width: 80px;
}
.consultation-list ul li .text {
	width: calc(100% - 95px);
}
@media screen and (min-width: 768px) {
	.consultation-list ul li .icon {
		width: 90px;
	}
	.consultation-list ul li .text {
		width: 100%;
		text-align: center;
	}
}
@media screen and (min-width: 1024px) {
	.consultation-list ul li .icon {
		width: 100px;
	}
}
.consultation-list ul li .text a {
	display: inline;
	text-decoration: underline;
}
.consultation-list ul li .text span {
	display: inline-block;
	font-size: 0.9rem;
	line-height: 1.3;
}
.consultation-banner {
	width: 100%;
}
.consultation-banner img {
	max-width: 300px;
	margin: auto;
}
@media screen and (min-width: 768px) {
	.consultation-banner img {
		max-width: 350px;
	}
}


/* --------------------------------------------------
 page contact
--------------------------------------------------- */

.contact {
    position: relative;
    width: 100%;
}
.contact__inner {
    display: flex;
    flex-direction: column;
    gap: 25px;
    position: relative;
    width: 100%;
    padding: 0 20px;
}
.contact__inner .contact-link {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    width: 100%;
}
.contact__inner .contact-link__item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}
.contact__inner .contact-link .contact-link__item a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-wh);
    width: 100%;
    padding: 20px;
    font-weight: 700;
}
.contact__inner .contact-link .contact-link__item:nth-child(1) a {
    background: var(--color-nv);
}
.contact__inner .contact-link .contact-link__item:nth-child(2) a {
    background: var(--color-rd);
}
.contact__inner .contact-link .contact-link__item:nth-child(3) a {
    background: var(--color-dkh);
}
@media screen and (min-width: 768px) {
    .contact__inner {
        gap: 40px;
        padding: 0 40px;
    }
    .contact__inner .contact-link {
        flex-direction: row;
		flex-wrap: wrap;
    }
    .contact__inner .contact-link__item {
        width: calc(50% - 15px);
    }
	.contact__inner .contact-link .contact-link__item:nth-child(3) {
		width: 100%;
	}
}
@media screen and (min-width: 1024px) {
    .contact__inner {
        gap: 40px;
        max-width: 1200px;
        margin: auto;
        padding: 50px 60px 80px;
    }
    .contact__inner .contact-link {
        gap: 50px;
    }
    .contact__inner .contact-link__item {
        width: calc(50% - 25px);
    }
    .contact__inner .contact-link .contact-link__item a {
        padding: 25px;
        font-size: 1.2rem;
    }
}

.form {
    z-index: 1;
    position: relative;
    width: 100%;
}
@media screen and (min-width: 1024px) {
    .form__inner {
        max-width: 1000px;
    }
}
.form-wrap {
    display: flex;
    flex-direction: column;
    gap: 40px;
    position: relative;
    width: 100%;
}
@media screen and (min-width: 768px) {
    .form-wrap {
        gap: 60px;
    }
}
.form-text {
    width: 100%;
    line-height: 1.6;
}
@media screen and (min-width: 1024px) {
    .form-text {
        text-align: center;
	}
	.form-text p {
        text-align: center;
	}
}
.form-desc {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
}
.form-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}
@media screen and (min-width: 768px) {
    .form-item {
        flex-direction: row;
        align-items: center;
    }
}

.form-head {
    display: flex;
    flex-direction: row;
    gap: 5px 10px;
    align-items: center;
    width: 100%;
    font-size: 0.9rem;
}
@media screen and (min-width: 768px) {
    .form-head {
        width: 200px;
    }
}
@media screen and (min-width: 1024px) {
	.form-head {
		width: 250px;
		font-size: 0.95rem;
	}
}

.form-head span {
    display: block;
    padding: 5px 6px 6px;
    font-family: var(--font-jp);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
}
@media screen and (min-width: 1024px) {
	.form-head span {
		font-size: 0.8rem;
	}
}
.form-head span.req {
    background: var(--color-rd);
    color: var(--color-wh);
}
.form-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}
@media screen and (min-width: 768px) {
    .form-foot {
        width: calc(100% - 200px);
    }
}
@media screen and (min-width: 1024px) {
    .form-foot {
        width: calc(100% - 250px);
    }
}

.form-item input[type="text"],
.form-item input[type="tel"],
.form-item input[type="email"],
.form-item input[type="date"],
.form-item select,
.form-item textarea {
    display: block;
    width: 100%;
    padding: 0.7em 0.7em;
    color: var(--color-bk);
    line-height: 1;
    outline: none;
    border: none;
    border: 1px solid var(--color-gy);
}
.form-foot span.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}
.form-wrap .wpcf7-form-control.wpcf7-checkbox {
    display: flex;
    flex-wrap: wrap;
}
.form-wrap span.wpcf7-list-item {
    display: inline;
    position: relative;
    width: 100%;
    align-items: center;
    margin: 0 0 0 3px;
}
.form-wrap .wpcf7-list-item-label {
    position: relative;
    padding: 0;
    color: var(--color-bk);
    cursor: pointer;
}
.form-wrap input[type="checkbox"] {
    position: absolute;
    opacity: 0;
}
.form-wrap .wpcf7-list-item-label:before {
    content: '';
    display: inline-block;
    position: relative;
    top: -2px;
    width: 16px;
    height: 16px;
    margin-right: 10px;
    border: 1px solid var(--color-gy);
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
}
.form-wrap input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 6px;
    width: 8px;
    height: 15px;
    margin-top: -4px;
    transform: translate(0, -50%) rotate(40deg);
    border-bottom: 2px solid var(--color-rd);
    border-right: 2px solid var(--color-rd);
}
.form-wrap .form-foot input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    top: 5px;
}
.form-item .wpcf7-radio {
    display: flex;
    justify-content: flex-start;
}
.form-item .wpcf7-radio .wpcf7-list-item {
    display: flex;
    justify-content: flex-start;
    width: auto;
}
.form-item .wpcf7-radio .wpcf7-list-item.first {
    margin: 0 0 0 5px;
}
.form-item .wpcf7-radio input[type="radio"] {
    opacity: 0;
}
.form-item .wpcf7-radio .wpcf7-list-item-label {
    position: relative;
    padding: 0 0 0 20px;
}
.form-item .wpcf7-radio .wpcf7-list-item-label::before {
    z-index: 1;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 14px;
    border: 1px solid var(--color-gy);
    transform: translate(0, -50%);
    border-radius: 100%;
}
.form-item .wpcf7-radio input:checked + .wpcf7-list-item-label::after {
    z-index: 3;
    content: "";
    position: absolute;
    top: 50%;
    left: 2px;
    width: 10px;
    height: 10px;
    background: var(--color-gy);
    transform: translate(0, -50%);
    border-radius: 100%;
}
.form-item .wpcf7-not-valid-tip {
    color: var(--color-rd);
    font-size: 0.8rem;
}

.form-attention p {
    font-size: 0.85rem;
    line-height: 1.6;
    text-align: justify;
    word-break: break-all;
}
@media screen and (min-width: 768px) {
    .form-attention p {
        font-size: 0.9rem;
        text-align: center;
    }
}
@media screen and (min-width: 1024px) {
    .form-attention p {
        font-size: 0.95rem;
	}
}
.form-attention p a {
    display: inline;
    text-decoration: underline;
}
.form-attention .checkbox {
    padding: 30px 0 0;
    text-align: center;
    font-size: 0.95rem;
}
@media screen and (min-width: 768px) {
    .form-attention .checkbox {
        padding: 50px 0 0;
    }
}
.form-wrap .submit {
    padding: 0 30px;
}
.form-wrap input[type="submit"] {
    display: block;
    width: 100%;
    padding: 15px;
    background: var(--color-dgy);
    color: var(--color-wh);
    text-align: center;
    letter-spacing: 0.8em;
    text-indent: 0.8em;
    line-height: 1;
    border: none;
    transition: opacity 0.2s ease-in-out;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}
.is-en-page .form-wrap input[type="submit"] {
    letter-spacing: 0.3em;
    text-indent: 0.3em;
}
.form-wrap input[type="submit"]:hover {
    background: var(--color-bk);
}
@media screen and (min-width: 768px) {
    .form-wrap input[type="submit"] {
        max-width: 300px;
        margin: auto;
        padding: 20px;
    }
}

/* --------------------------------------------------
 single
--------------------------------------------------- */

.single {
    position: relative;
    width: 100%;
}
.single-news {
	margin-top: -30px;
	margin-bottom: -50px;
	background: var(--color-wh);
}
.single__inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
    position: relative;
    width: 100%;
    padding: 40px 0 0;
}
.single-news .single__inner {
	padding: 40px 20px 0;
}

.single-head {
    display: flex;
    flex-direction: column;
}
.single-head .category {
    width: 100%;
    padding-bottom: 20px;
}
.single-head .category ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
    width: 100%;
}
.single-head .category ul li a {
	padding: 8px 10px;
	font-size: 0.7rem;
	line-height: 1;
	background: var(--color-nv);
	color: var(--color-wh);
	border-radius: 3px;
    transition: .3s;
}
.single-head .category ul li a:hover {
    opacity: 0.8;
}
.single-head .image {
    width: 100%;
    height: 250px;
}
.single-head .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.single-head h1 {
    position: relative;
    padding: 25px 10px 25px 50px;
    font-size: 1.1rem;
    background: var(--color-wh);
}
.single-head h1::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    background: var(--color-rd);
}
.single-block {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    width: 100%;
    padding: 0 20px;
}
.single-block h2 {
    padding: 5px 10px;
    font-size: 1.1rem;
    border-left: 3px solid var(--color-rd);
}
.single-block .textarea {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.single-block .youtube {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px;
    background: var(--color-wh);
}
.single-block .youtube h3 {
    position: relative;
    padding: 10px;
    font-size: 1rem;
    background: var(--color-nv);
    color: var(--color-wh);
    border-radius: 4px;
}
.single-block .youtube h3::after {
    content: "";
    position: absolute;
    bottom: -12px;
    right: 30%;
    width: 12px;
    height: 12px;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    background: var(--color-nv);
}

.single-block .youtube .youtube__item {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.single-block .youtube .youtube__item iframe {
    width: 100%;
    height: 100%;
}

.single-block .gallery {
	width: 100%;
}
.single-block .gallery ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.single-block .gallery ul li {
	width: calc(50% - 5px);
}

.single-back {
    width: 100%;
}
.single-back a {
    position: relative;
    width: 100%;
    max-width: 300px;
    margin: auto;
    padding: 10px 30px;
    background: var(--color-wh);
    font-size: 0.9rem;
    text-align: center;
}
.single-back a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 15px;
    width: 5px;
    height: 5px;
    border-top: 1px solid var(--color-bk);
    border-left: 1px solid var(--color-bk);
    transform: translate(0, -50%) rotate(-45deg);
}
@media screen and (min-width: 768px) {
	.single-news {
		margin-bottom: -60px;
		padding-bottom: 60px;
	}
    .single__inner {
        gap: 40px;
        width: 100%;
        margin: auto;
        padding: 0 0 20px;
    }
	.single-news .single__inner {
		max-width: 1000px;
		margin: auto;
		padding: 40px 40px 0;
	}
    .single-head .image {
        height: 350px;
    }
    .single-block {
        gap: 30px;
        padding: 0 40px;
    }
    .single-block .head,
    .single-block .mhead,
    .single-block .shead,
    .single-block .textarea {
        padding: 0 10px;
    }
    .single-block .textarea p {
        line-height: 1.8;
    }
    .single-block .youtube {
        padding: 40px;
    }
    .single-back {
        padding-top: 15px;
    }
    .single-back a {
        max-width: 350px;
        padding: 15px 40px;
        font-size: 1rem;
    }
    .single-back a::before {
        left: 25px;
    }
}
@media screen and (min-width: 1024px) {
	.single-news {
		margin-bottom: -80px;
		padding-bottom: 60px;
	}
    .single__inner {
        gap: 50px;
        max-width: 1200px;
        margin: auto;
        padding: 80px 0;
    }
	.single-news .single__inner {
		max-width: 1000px;
		margin: auto;
		padding: 80px 40px 0;
	}
    .single-head {
        padding: 0 60px;
    }
    .single-head .image {
        height: 450px;
    }
    .single-head h1 {
        font-size: 1.3rem;
    }
    .single-block {
        gap: 30px;
        padding: 0 60px;
    }
    .single-block .youtube {
        gap: 50px;
        padding: 60px;
    }
    .single-block .youtube h3 {
        padding: 20px;
        font-size: 1.1rem;
    }
    .single-block .youtube h3::after {
        bottom: -24px;
        right: 20%;
        width: 34px;
        height: 24px;
    }
	.single-block .gallery ul {
		gap: 10px;
	}
	.single-block .gallery ul li {
		width: calc(33.3333% - (20px / 3));
	}
}

.single-news .single__inner .head {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}
.single-news .single__inner .head h1 {
	width: 100%;
	padding: 12px 10px 10px 15px;
	font-size: 1.1rem;
	line-height: 1.3;
	font-weight: 500;
	border-left: 4px solid var(--color-rd);
	border-bottom: 1px solid var(--color-gy);
}
.single-news .single__inner .head p {
	text-align: right;
	font-size: 0.8rem;
	color: var(--color-dgy);
}
.single-news .single__inner .desc {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	padding-bottom: 20px;
}
.single-news .single__inner .desc p {
	font-size: 0.9rem;
}
@media screen and (min-width: 768px) {
	.single-news .single__inner .head h1 {
		padding: 18px 15px 16px 18px;
		font-size: 1.05rem;
		font-weight: 700;
		border-left: 5px solid var(--color-rd);
	}
	.single-news .single__inner .head p {
		font-size: 0.9rem;
	}
	.single-news .single__inner .desc {
		padding: 30px 18px;
	}
	.single-news .single__inner .desc p {
		font-size: 1rem;
	}
}

.single-championship {
	position: relative;
	width: 100%;
}
.single-championship .single__inner {
	padding: 0 20px;
}
.single-championship .single__inner h1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px;
	font-size: 1rem;
	background: var(--color-nv);
	color: var(--color-wh);
}
.championship-block {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.championship-block h2,
.championship-block h3 {
	font-size: 1rem;
}
.championship-result,
.championship-pict,
.championship-movie {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.championship-result ul li a {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: underline;
}
.championship-result ul li a span.icon {
	width: 14px;
}
.championship-pict ul li a {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: underline;
}
.championship-pict ul li a span.icon {
	width: 14px;
}

.championship-movie .championship-movie__wrap {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.championship-movie .championship-movie__item {
	width: 100%;
}
.championship-movie .championship-movie__item .youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.championship-movie .championship-movie__item .youtube iframe {
	width: 100%;
	height: 100%;
}

.championship-table {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 100%;
}
.championship-table .championship-table__item {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}
.championship-table .championship-table__item .desc {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}
.championship-table .championship-table__item .desc p {
	padding: 12px 20px;
	background: var(--color-wh);
	border-radius: 6px;
}
.championship-table .championship-table__item .table,
.championship-table .championship-table__item .best2-table,
.championship-table .championship-table__item .best4-table,
.championship-table .championship-table__item .best8-table {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
}

.championship-table .championship-table__item .table-item__head {
	width: 100%;
	padding: 8px 10px;
	border-bottom: 0;
	font-size: 0.9rem
}
.championship-table .championship-table__item .men-head {
	background: var(--color-nv);
	color: var(--color-wh);
	border: 1px solid var(--color-nv);
}
.championship-table .championship-table__item .women-head {
	background: var(--color-rd);
	color: var(--color-wh);
	border: 1px solid var(--color-rd);
}
.championship-table .championship-table__item .table .table-item table {
	width: 100%;
	border-top: 1px solid var(--color-gy);
	border-left: 1px solid var(--color-gy);
}
.championship-table .championship-table__item .table .table-item table tr td {
	padding: 8px 10px;
	font-size: 0.85rem;
	line-height: 1.4;
	border-bottom: 1px solid var(--color-gy);
	border-right: 1px solid var(--color-gy);
	text-align: center;
}
.championship-table .championship-table__item .table .table-item table tr td:nth-child(1) {
	width: 30%;
}
.championship-table .championship-table__item .table .table-item table tr td:nth-child(2) {
	width: 40%;
}
.championship-table .championship-table__item .table .table-item table tr td:nth-child(3) {
	width: 30%;
}
.championship-table .championship-table__item .table .table-item table tr td:nth-last-child(1) {
	font-size: 0.8rem;
}
@media screen and (min-width: 768px) {
	.single-championship .single__inner {
		padding: 20px 40px;
	}
	.championship-block {
		gap: 50px;
	}
	.championship-result,
	.championship-pict,
	.championship-movie {
		gap: 15px;
	}
	.championship-movie .championship-movie__wrap {
		flex-direction: row;
		gap: 20px;
	}
	.championship-movie .championship-movie__item {
		width: calc(50% - 10px);
	}
	
	.championship-table {
		gap: 40px;
	}
	.championship-table .championship-table__item {
		gap: 30px;
	}
	.championship-table .championship-table__item .desc {
		gap: 30px;
	}
	
	.championship-table .championship-table__item .desc p {
		padding: 18px 25px;
	}
	.championship-table .championship-table__item .best2-table,
	.championship-table .championship-table__item .best4-table,
	.championship-table .championship-table__item .best8-table {
		flex-direction: row;
		gap: 0;
	}
	.championship-table .championship-table__item .table-item {
		width: 50%;
	}
	.championship-table .championship-table__item .table-item:nth-child(1) table tr td:nth-last-child(1) {
		border-right: 0;
	}
	.championship-table .championship-table__item .table .table-item table tr td {
		padding: 12px 0;
	}
	.championship-table .championship-table__item .table-item__head {
		text-align: center;
	}
}
@media screen and (min-width: 1024px) {
	.single-championship .single__inner {
		max-width: 1200px;
		margin: auto;
		padding: 60px 60px 20px;
	}
}

.post-navigation {
	display: flex;
	justify-content: center;
	gap: 20px;
	padding: 20px 0 50px;
	border-top: 1px solid var(--color-gy);
}
.post-navigation a {
	background: var(--color-bgy);
	color: var(--color-wh);
}
.post-navigation a.btn {
	display: flex;
	align-items: center;
	position: relative;
    width: 30px;
    height: 30px;
    padding: 6px;
	font-size: 0.9rem;
	line-height: 1;
}
.post-navigation a.prev,
.post-navigation a.next {
	width: 30px;
	padding: 0;
	border-radius: 100%;
}
.post-navigation a span.arrow {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--color-wh);
}
.post-navigation a.next span.arrow {
	margin-left: 1px;
	border-left: 1px solid var(--color-wh);
	transform: translate(-50%, -50%) rotate(-45deg);
}
.post-navigation a.prev span.arrow {
	margin-left: -1px;
	border-right: 1px solid var(--color-wh);
	transform: translate(-50%, -50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
	.post-navigation {
		padding-top: 40px;
		padding-bottom: 60px;
	}
	.post-navigation a.btn {
        width: 60px;
		height: 60px;
		padding: 20px;
		border-radius: 3px;
		font-size: 0.95rem;
		word-break: break-all;
	}
	.post-navigation a.prev,
	.post-navigation a.next {
		width: 220px;
		border-radius: 3px;
		font-size: 0.85rem;
        line-height: 1.4;
	}
	.post-navigation a.prev {
		padding-right: 40px;
	}
	.post-navigation a.next {
		padding-left: 40px;
	}
	.post-navigation a.next span.arrow {
		left: 15px;
		transform: translate(0, -50%) rotate(-45deg);
	}
	.post-navigation a.prev span.arrow {
		left: auto;
		right: 15px;
		transform: translate(0, -50%) rotate(45deg);
	}
}
@media screen and (min-width: 1024px) {
	.post-navigation {
        padding-top: 70px;
		padding-bottom: 70px;
	}
	.post-navigation a.btn {
        width: 70px;
		height: 70px;
    }
	.post-navigation a.prev,
	.post-navigation a.next {
        width: 320px;
        padding: 20px;
    }
	.post-navigation a.prev {
		padding-right: 40px;
	}
	.post-navigation a.next {
		padding-left: 40px;
	}
	.post-navigation a.next span.arrow {
		left: 15px;
		transform: translate(0, -50%) rotate(-45deg);
	}
	.post-navigation a.prev span.arrow {
		left: auto;
		right: 15px;
		transform: translate(0, -50%) rotate(45deg);
	}
}

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

.footer {
    position: relative;
    width: 100%;
    background: var(--color-wgy);
}
.sponsor {
    padding: 0 0 40px;
    background: var(--color-wh);
}
.sponsor__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.sponsor__inner .c-head {
    background: var(--color-nv);
    color: var(--color-wh);
}
.sponsor__main {
    width: 100%;
    margin-top: 20px;
}
.sponsor__main ul {
    display: flex;
    justify-content: center;
    gap: 8px;
    width: 100%;
}
.sponsor__main ul li {
    width: 150px;
}
.sponsor__sub ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    width: 100%;
}
.sponsor__sub ul li {
    width: 100px;
}

.footer-contents {
    padding: 40px 0 0;
}
.footer-contents .logo {
    padding: 0 20px 30px;
}
.footer-contents .logo a {
    width: 230px;
}
@media screen and (min-width: 768px) {
    .sponsor {
        padding: 0 0 70px;
    }
    .sponsor__main {
        margin-top: 40px;
    }
    .sponsor__main ul {
        gap: 15px;
    }
    .sponsor__main ul li {
        width: 200px;
    }
    .sponsor__sub ul {
        gap: 18px;
    }
    .sponsor__sub ul li {
        width: 130px;
    }
    .footer-contents .logo {
        padding: 0 40px 30px;
    }
    .footer-contents .logo a {
        width: 250px;
    }
}
@media screen and (min-width: 1024px) {
    .sponsor__main {
        margin-top: 40px;
    }
    .sponsor__main ul {
        gap: 15px;
    }
    .sponsor__main ul li {
        width: 280px;
    }
    .sponsor__sub {
        margin-top: 25px;
    }
    .sponsor__sub ul {
        gap: 18px;
    }
    .footer-contents__inner {
        display: flex;
        flex-wrap: wrap;
        padding: 90px 60px;
    }
    .footer-contents .logo {
        width: 240px;
        padding: 0 0 50px;
    }
    .footer-contents .logo a {
        width: 240px;
    }
}
@media screen and (min-width: 1280px) {
    .footer-contents__inner {
        max-width: 1400px;
        margin: auto;
        padding: 70px 60px 130px;
    }
}


.f-nav__list ul {
    display: flex;
    flex-wrap: wrap;
}
.f-nav__list ul li {
    width: 100%;
}
.f-nav__list > ul > li {
    border-bottom: 1px solid var(--color-line);
}
.f-nav__list > ul > li:nth-last-child(1) {
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 0;
}

.f-nav__list ul li a {
	position: relative;
    width: 100%;
    height: 45px;
    line-height: 45px;
    padding: 0 20px;
}
.f-nav__list > ul > li > a {
    font-size: 0.95rem;
    font-weight: 700;
}
.f-nav__list ul.child li a {
    font-size: 0.9rem;
    padding-left: 40px;
}
.f-nav__list ul li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--color-bk);
    border-right: 1px solid var(--color-bk);
    transform: translate(0, -50%) rotate(45deg);
    opacity: 0.8;
}
.f-nav__list ul li.has-child > a {
    padding-right: 70px;
}
.f-nav__list ul li.has-child > a::before {
    right: 60px;
}
.f-nav__list ul li.has-child {
    position: relative;
}
.f-nav__list ul li.has-child span {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    height: 45px;
    border-left: 1px solid var(--color-line)
}
.f-nav__list ul li.has-child span::before,
.f-nav__list ul li.has-child span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    background: var(--color-bk);
    transform: translate(-50%, -50%);
}
.f-nav__list ul li.has-child span::before {
    width: 12px;
    height: 1px;
}
.f-nav__list ul li.has-child span::after {
    width: 1px;
    height: 11px;
}
.f-nav__list ul li.has-child.open > span::after {
    display: none;
}
.f-nav__list ul li ul.child li {
    background: var(--color-wh);
    border-bottom: 1px solid var(--color-wgy);
}
.f-nav__list ul.child li:nth-last-of-type(1) {
    border: none;
}
.f-nav__list ul.child {
    display: none;
    padding: 20px 0;
    background: var(--color-wh);
}
@media screen and (min-width: 768px) {
    .f-nav__list ul li a {
        padding: 0 40px;
        height: 50px;
        line-height: 50px;
    }
    .f-nav__list > ul > li > a {
        font-size: 1rem;
    }
    .f-nav__list ul.child li a {
        font-size: 0.95rem;
        padding-left: 60px;
    }
    .f-nav__list ul li a::before {
        right: 23px;
    }
    .f-nav__list ul li.has-child > a {
        padding-right: 80px;
    }
    .f-nav__list ul li.has-child > a::before {
        right: 65px;
    }
    .f-nav__list ul li.has-child span {
        width: 50px;
        height: 50px;
    }
}
@media screen and (min-width: 1024px) {
    .f-nav {
        width: 100%;
    }
    .f-nav__list > ul {
        display: grid;
        grid-template-columns: repeat(24, 1fr);
        gap: 10px;
    }
    .f-nav__list > ul > li:nth-child(1) { grid-column: 1 / 5; grid-row: 1 / 2; }
    .f-nav__list > ul > li:nth-child(3) { grid-column: 1 / 5; grid-row: 2 / 3; }
    .f-nav__list > ul > li:nth-child(7) { grid-column: 1 / 5; grid-row: 3 / 5; }
    .f-nav__list > ul > li:nth-child(2) { grid-column: 5 / 10; grid-row: 1 / 5; }
    .f-nav__list > ul > li:nth-child(4) { grid-column: 10 / 15; grid-row: 1 / 5; }
    .f-nav__list > ul > li:nth-child(5) { grid-column: 15 / 20; grid-row: 1 / 5; }
    .f-nav__list > ul > li:nth-child(6) { grid-column: 20 / 25; grid-row: 1 / 5; }
    
    .f-nav__list ul.child {
        display: block;
        background: none;
        margin: 15px 0;
        padding: 0;
        border-left: 1px solid var(--color-line);
    }
    .f-nav__list > ul > li {
        width: 100%;
        border-bottom: 0;
    }
    .f-nav__list > ul > li:nth-last-child(1) {
        padding: 0;
    }
    .f-nav__list > ul > li > a {
        font-size: 0.9rem;
    }
    .f-nav__list ul.child li a {
        font-size: 0.85rem;
    }
    .f-nav__list ul li a {
        height: auto;
        line-height: 1.8;
        padding: 0;
    }
    .f-nav__list ul li a:hover {
        text-decoration: underline;
    }
    .f-nav__list ul li ul.child li {
        background: none;
    }
    .f-nav__list ul.child li a {
        padding-left: 8px;
    }
    .f-nav__list ul li a::before,
    .f-nav__list ul li.has-child span {
        display: none;
    }
}
@media screen and (min-width: 1280px) {
    .f-nav {
        width: auto;
        margin-left: auto;
    }
    .f-nav__list > ul {
        gap: 20px;
    }
}

.footer-link {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    padding: 40px 20px;
    background: var(--color-nv);
}
.footer-link__item {
    width: 100%;
}
.footer-link__item ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}
.footer-link__item ul li a {
    color: var(--color-wh);
    font-size: 0.95rem;
}
.footer-link__sns {
    width: 100%;
}
.footer-link__sns ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.footer-link__sns ul li {
    width: 22px;
}
@media screen and (min-width: 1024px) {
    .footer-link {
        flex-direction: row-reverse;
        margin-top: 60px;
        padding: 15px 70px;
        border-radius: 50px;
    }
    .footer-link__item {
        width: auto;
        margin-left: auto;
    }
    .footer-link__item ul {
        flex-direction: row;
    }
    .footer-link__item ul li a {
        position: relative;
        padding: 0 15px;
        font-size: 0.85rem;
    }
    .footer-link__item ul li a::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        width: 1px;
        height: 80%;
        background: var(--color-wh);
        transform: translate(0, -50%);
    }
    .footer-link__item ul li:nth-last-child(1) a::before {
        display: none;
    }
    .footer-link__sns {
        width: auto;
    }
}

.footer__copy {
    background: var(--color-rd);
    color: var(--color-wh);
}
.footer__copy p {
    padding: 15px;
    font-size: 0.7rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: .05em;
    text-indent: .05em;
}
@media screen and (min-width: 768px) {
    .footer__copy p {
        font-size: 0.85rem;
    }
}