@charset "UTF-8";

/* Import */

/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP:wght@500&display=swap');
@import url('fontawesome/all.css'); */

/* Elements */

#ddd {
    font-family: 'Noto Sans JP', sans-serif;
    font-family: 'Noto Serif JP', serif;
    font-family: 'Arial', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Verdana', 'メイリオ', sans-serif;
    font-family: 'Times New Roman', 'Hiragino Mincho ProN', 'serif';
}

/* #flexsample {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
} */

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*:not(ul, ol) {
    margin: 0;
    padding: 0;
}

html {
    font-size: 14px;
    font-family: 'Arial', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'メイリオ', sans-serif;
}

body {
    color: #333;
}

input[type="button"],
input[type="email"],
input[type="date"],
input[type="datetime-local"],
input[type="number"],
input[type="reset"],
input[type="search"],
input[type="submit"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
textarea {
    font-family: 'Noto Sans JP', Helvetica, Arial, "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
    font-size: 0.88rem;
}

input[type="button"],
input[type="email"],
input[type="date"],
input[type="datetime-local"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
textarea {
    padding: 0.25rem;
}

textarea {
    resize: vertical;
}

a {
    text-decoration: none;
}

a[href $=".pdf"]::before {
    content: url(img/icon/icon_pdf.png);
}

a[href $=".xlsx"]::before, a[href $=".xls"]::before {
    content: url(img/icon/icon_excel.png);
}

a[href $=".docx"]::before, a[href $=".doc"]::before {
    content: url(img/icon/icon_word.png);
}

a[href $=".pdf"]::before,
a[href $=".xlsx"]::before,
a[href $=".xls"]::before,
a[href $=".docx"]::before,
a[href $=".doc"]::before {
    line-height: 1.2;
    vertical-align: middle;
}


h1, h2, h3, h4, h5, h6 {
    clear: both;
    line-height: 1.2;
    position: relative;
}

img {
    max-width: 100%;
    vertical-align: middle;
}

ul, ol {
    margin: 0.8rem 0;
    padding-left: 1.8rem;
}

p {
    font-size: 1rem;
    margin: 1rem 0;
}

.dmain::before {
    content: "\040";
}

.map-canvas {
    width: 100% !important;
    height: 400px !important;
    border: 1px solid #222;
}

/** Contents **/

/** -- Coomon **/

.common-header .inner,
.common-main .inner .contents .contents-page,
.homebg .homebg_block,
.breadcrumb ul,
.home-copy .inner,
.common-footer .inner {
    margin: 0 auto;
    max-width: 1200px;
}

.common-header,
.common-header .inner {
    height: 60px;
}

.common-main {
    padding-top: 60px;
}

.common-main .inner {
    display: block;
}

/** -- Header **/

.common-header {
    background: rgba(255,255,255,0.6);
    z-index: 90;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
}

.common-header .inner {
    align-items: center;
    display: flex;
    padding: 0 65px 0 10px;
    gap: 1rem;
    justify-content: space-between;
}

.common-header .site-title {
    /* width: 100%; */
}

.common-header .site-title a {
    display: inline-block;
    transition: 0.2s ease;
}

.common-header .site-title a img {
    max-height: 50px;
    width: 100%;
}

.common-header .site-title a:hover img {
    opacity: 0.8;
}

/** -- Global navi **/

/* .global-navi {
    display: none !important;
}

.global-navi ul {
    display: flex;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.global-navi ul li {
    line-height: 1.2;
    position: relative;
    text-align: center;
}

.global-navi ul li a {
    color: #000;
    display: block;
    font-weight: bold;
    padding: 1rem 0.8rem;
    position: relative;
    text-decoration: none;
    transition: 0.2s ease;
}

.global-navi ul li a::before {
    background: #000;
    content: "";
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0%);
    transition: 0.2s ease;
    width: 0;
}

.global-navi ul li a:hover::before {
    width: 70%;
} */

/** ---- Drawer **/

.drawer {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(0%, 0%);
    z-index: 99;
}

.drawer-btn {
    background: transparent;
    border: none;
    border-radius: 0 0 0 10px;
    cursor: pointer;
    height: 60px;
    position: fixed;
    top: 0;
    right: 0;
    width: 60px;
}

.drawer-btn span {
    background: #555;
    border-radius: 5px;
    display: block;
    height: 2px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((100% - 2px) / 2);
    transition: 0.4s ease;
    width: 60%;
}

.drawer-btn span:first-child {
    transform: translateY(-10px);
}

.drawer-btn span:last-child {
    transform: translateY(10px);
}

.drawer-btn.open span {
    background: #fff;
}

.drawer-btn.open span:first-child {
    transform: rotate(45deg);
}

.drawer-btn.open span:nth-child(2) {
    opacity: 0;
}

.drawer-btn.open span:last-child {
    transform: rotate(-45deg);
}

.drawer-area {
    opacity: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    top: 0;
    right: -110%;
    visibility: hidden;
    z-index: 92;
    transition: 1.0s ease;
}

.drawer-area_contents {
    background: rgba(50,50,50,0.8);
    padding: 80px 0 1rem 0;
    overflow-y: auto;
    height: 100%;
    margin: 0 0 0 auto;
    position: relative;
    width: 90%;
    z-index: 94;
}

.drawer-area_bg {
    background: rgba(100,100,100,0.4);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 93;
}

.drawer-navi ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.drawer-navi ul li {
    border-bottom: 1px solid #555;
}

.drawer-navi ul li:first-of-type {
    border-top: 1px solid #555;
}

.drawer-navi ul li a {
    color: #fff;
    display: block;
    padding: 1.5rem;
    text-align: center;
    text-decoration: none;
    transition: 0.2s ease;
}

.drawer-navi ul li a:hover {
    background: #fb8c00;
}

.drawer-area.active {
    right: 0;
    opacity: 1.0;
    visibility: visible;
}

/** -- Main **/

.homebg {
    background-color: #eee;
    background-image: url(img/bg_simu_01.jpg);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: cover;
    height: 75vh;
}

.homebg .homebg_block {
    align-items: center;
    background: rgba(0,0,0,0.5);
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 2rem;
    width: 100%;
}

.home-copy {
    background: #ff6700;
    padding: 3rem 1.5rem;
}

.home-copy h1 {
    color: #fff;
    font-size: 1.2rem;
    font-weight: normal;
    text-align: center;
    line-height: 1.7;
}

.common-main {
    background: #fff;
}

.common-main .inner {
    padding: 0;
}

/* .common-main .articles {
    padding: 0 1.5rem;
} */

/* .common-main .contents:not(:first-child) {
    padding-top: 3rem;
} */

.common-main .contents {
    line-height: 1.6;
    padding: 3rem 1.5rem;
}


.page-title {
    background: #eceff1;
    padding: 3rem 1rem 0 1rem;
    border-bottom: 3px solid #ff6700;
}

.page-title h1,
.page-title .title {
    color: #ff6700;
    font-size: 1.8rem;
    font-weight: normal;
    margin: 0 auto;
    max-width: 1200px;
    padding: 1rem 0;
}

/** -- Page Single -- **/

.contents-page > *:first-child {
    margin-top: 0;
}

.contents-page h1:not(:first-child) {
    margin-top: 3rem;
}

.contents-page h2:not(:first-child) {
    margin-top: 3rem;
}

.contents-page h3:not(:first-child) {
    margin-top: 2rem;
}

.contents-page h4:not(:first-child) {
    margin-top: 1.5rem;
}

.contents-page h5:not(:first-child) {
    margin-top: 1.5rem;
}

.contents-page h6:not(:first-child) {
    margin-top: 1rem;
}

.contents-page h1 {
    margin-bottom: 3rem;
}

.contents-page h2 {
    margin-bottom: 2rem;
}
.contents-page h3,
.contents-page h4,
.contents-page h5 {
    margin-bottom: 1rem;
}

.contents-page h6 {
    margin-bottom: 1rem;
}

.contents-page h1 {
    border-bottom: 1px solid #ff6700;
    border-top: 1px solid #ff6700;
    color: #f15a24;
    font-size: 1.5rem;
    letter-spacing: 1px;
    line-height: 1.2;
    padding: 2rem 0;
}

/* .contents-page h1::before {
    background: #000;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 50%;
}

.contens-page h1::after {
    content: attr(sub-title);
    color: #648282;
    display: block;
    font-size: 0.88rem;
} */

.contents-page h2 {
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    color: #333;
    font-size: 1.5rem;
    padding: 1rem;
    text-align: center;
}

/* .contents-page h2::before {
    background: #009245;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 3rem;
}

.contents-page h2.center::before {
    left: 50%;
    transform: translate(-50%, 0%);
} */

.contents-page h3 {
    color: #333;
    font-size: 1.3rem;
    padding: 0.5rem 0 0.5rem 1rem;
}

.contents-page h3::before {
    background: #b0bec5;
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    height: 100%;
    width: 5px;
    transform: translate(0%, -50%);
}

.contents-page h4 {
    font-size: 1.2rem;
}

.contents-page h5 {
    color: #333;
    font-size: 1.15rem;
    font-weight: bold;
}

.contents-page h6 {
    color: #f15a24;
    font-size: 1rem;
}

.contents-page p:first-child {
    margin-top: 0;
}

.contents-page *:last-child {
    margin-bottom: 0;
}

.contents-page ul li,
.contents-page ol li {
    line-height: 1.4;
}

.contents-page ul li:not(:last-child),
.contents-page ol li:not(:last-child) {
    margin-bottom: 0.25rem;
}

.contents-page ul li > ul,
.contents-page ul li > ol,
.contents-page ol li > ul,
.contents-page ol li > ol {
    margin: 0.5rem 0;
}

/** Custom **/

.button-reservation_s,
.button-reservation_l {
    background: #f15a24;
    color: #fff;
    display: inline-block;
    position: relative;
    text-align: center;
    transition: 0.2s ease;
    /* disabled add ↓ */
    /* pointer-events: none !important;
    filter: grayscale(0.8) opacity(0.5) !important; */
}

.button-reservation_s {
    border-radius: 5px;
    padding: 8px 20px 8px 40px;
}

.button-reservation_l {
    border-radius: 10px;
    box-shadow: 0 3px 8px -5px rgba(0,0,0,0.4);
    font-size: 1.4rem;
    padding: 2rem 2rem 2rem 70px;
    max-width: 400px;
    width: 100%;
}

.button-reservation_s::before,
.button-reservation_l::before {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    content: "";
    position: absolute;
    transform: translate(0%, -50%);
}

.button-reservation_s::before {
    background-image: url(img/icon/icon_calendar_white_24.png);
    height: 20px;
    top: 50%;
    left: 8px;
    width: 20px;
}

.button-reservation_l::before {
    background-image: url(img/icon/icon_calendar_white_48.png);
    height: 48px;
    top: 50%;
    left: 15px;
    width: 48px;
}

.button-reservation_s:hover,
.button-reservation_l:hover {
    background: #dd2c00;
}

.button_orange a {
    background: #f15a24;
    border-radius: 5px;
    color: #fff;
    display: inline-block;
    /* max-width: 250px; */
    padding: 1.5rem 2rem;
    position: relative;
    text-align: center;
    transition: 0.2s ease;
    /* width: 100%; */
}

.button_orange a:hover {
    background: #dd2c00;
}

.button_orange.arrow_left a::before,
.button_orange.arrow_right a::before {
    content: "";
    position: absolute;
    top: 50%;
    height: 5px;
    width: 5px;
}

.button_orange.arrow_left a::before {
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    left: 10px;
    transform: rotate(-45deg) translate(50%, -25%);
}

.button_orange.arrow_right a::before {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    right: 10px;
    transform: rotate(45deg) translate(-50%, -25%);
}

.head_info {
    padding-right: 60px !important;
    text-align: left !important;
}

.head_info a {
    border: 1px solid #000;
    color: #000;
    display: inline-block;
    font-size: 0.8rem;
    font-weight: normal;
    padding: 0.5rem 1rem;
    position: absolute;
    top: 50%;
    right: 0;
    transition: 0.2s ease;
    transform: translate(0%, -50%);
}

.head_info a:hover {
    background: #000;
    color: #fff;
}

.info-list ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.info-list ul li a {
    color: #000;
    display: block;
    padding: 0.5rem;
    transition: 0.2s ease;
}

.info-list ul li a:hover {
    background: #eee;
}

.info-list ul li a .date {
    margin-bottom: 0.5rem;
}

.info-list ul li a .title {
    font-size: 1.15rem;
    font-weight: bold;
}

.info-list .new {
    color: #e53935;
    font-size: 0.8rem;
    margin-left: 0.25rem;
}

.breadcrumb {
    padding: 1rem 1rem 0 1rem;
}

.breadcrumb ul {
    list-style-type: none;
    padding: 0;
}

.breadcrumb ul li {
    color: #555;
    display: inline-block;
    font-size: 0.8rem;
    position: relative;
}

.breadcrumb ul li:not(:last-child) {
    padding-right: 15px;
}

.breadcrumb ul li:not(:last-child)::before {
    border: 1px solid transparent;
    border-right: 1px solid #888;
    border-top: 1px solid #888;
    content: "";
    display: block;
    height: 4px;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: rotate(45deg) translate(-50%, -25%);
    width: 4px;
}

.top-explanation {
    margin: 2rem 0;
}

.top-explanation_block {
    display: block;
}

.top-explanation_block .item {
    width: 100%;
}

.top-explanation_block .pic {
    height: auto;
    text-align: center;
}

.top-explanation_block .pic img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.top-explanation_block .item.text {
    padding: 1.5rem 0;
}

.top-explanation_block .item.text h2 {
    border: none;
    color: #f15a24;
    margin-bottom: 1rem;
    padding: 1rem 0 1rem 20px;
    position: relative;
    text-align: left;
    z-index: 0;
}

.top-explanation_block .item.text h2::before {
    background: url(img/flag.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    content: "";
    height: 55px;
    width: 50px;
    opacity: 0.8;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.home-contents {
    margin-bottom: 1.5rem;
}

.home-contents h2 {
    border-bottom: 1px solid #000;
    border-top: none;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    padding: 1rem !important;
    position: relative;
    text-align: center;
}

.home-contents.price h2::before,
.home-contents.use h2::before {
    vertical-align: middle;
    margin-right: 0.5rem;
}

.home-contents.price h2::before {
    content: url(img/icon/icon_price_32.png);
}

.home-contents.use h2::before {
    content: url(img/icon/icon_ball_32.png);
}

.button-more a {
    background: #f15a24;
    border-radius: 50px;
    color: #fff;
    display: block;
    padding: 1rem;
    text-align: center;
    transition: 0.2s ease;
    width: 100%;
}

.button-more a:hover {
    background: #dd2c00;
}

.table_price table tbody td:first-child {
    width: 30%;
}

.table_price table tbody td:nth-child(2) {
    width: 80px;
}

.table_price table tbody td:last-child {
    font-size: 1.4rem;
}

.table_payment table tbody td:first-child {
    width: 30%;
}

.sns-list {
    margin: 2rem 0;
}

.sns-list .wp-block-group__inner-container {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

/* Single */
.kiji-header {
    margin-bottom: 2rem;
    padding: 1rem 0;
    border-bottom: 1px solid #555;
}

.kiji-header .kiji-date {
    margin-bottom: 1rem;
}

.kiji-header .kiji-date .cat {
    color: #f15a24;
}

.kiji-header .kiji-title {
    border-top: none;
    border-bottom: none;
    color: #555;
    font-size: 1.5rem;
    margin: 0 !important;
    padding: 0;
}

.kiji-main {
    min-height: 300px;
}

.kiji-footer {
    margin-top: 3rem;
}

/* Category */
.archive-list {
    margin: 1rem 0;
}

.archive-list ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.archive-list ul li {
    margin-bottom: 0 !important;
    position: relative;
}

.archive-list ul li a {
    background: #fff;
    color: #000;
    display: block;
    padding: 0.8rem;
    position: relative;
    text-decoration: none;
    transition: 0.2s ease;
}

.archive-list ul li:nth-child(odd) a {
    background: #f5f5f5;
}

.archive-list ul li a:hover {
    background: #eceff1;
}

.archive-list ul li a .title {
    font-size: 1rem;
    font-weight: bold;
}

.archive-list ul li a .date {
    font-size: 0.88rem;
    margin-top: 0.5rem;
}

.archive-list .cat {
    margin-left: 0.5rem;
    position: relative;
}

.archive-list ul li a .title .new {
    color: #f44336;
    font-size: 0.8rem;
    font-weight: bold;
    display: inline-block;
    margin-left: 0.25rem;
}

.pagination .nav-links .page-numbers {
    background: #eceff1;
    border-radius: 3px;
    color: #333;
    display: inline-block;
    margin-bottom: 4px;
    min-width: 40px;
    padding: 0.5rem;
    text-align: center;
    text-decoration: none;
    transition: 0.2s ease;
}

.pagination .nav-links .page-numbers:hover {
    background: #cfd8dc;
}

.pagination .nav-links .page-numbers.current {
    background: #78909c;
    color: #fff;
}

.pagination .nav-links .page-numbers.prev,
.pagination .nav-links .page-numbers.next {
    position: relative;
}

.pagination .nav-links .page-numbers.prev {
    padding-left: 18px;
}

.pagination .nav-links .page-numbers.next {
    padding-right: 18px;
}

.pagination .nav-links .page-numbers.prev::before,
.pagination .nav-links .page-numbers.next::before {
    content: "";
    display: block;
    height: 5px;
    position: absolute;
    width: 5px;
}

.pagination .nav-links .page-numbers.prev::before {
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;
    top: 50%;
    left: 5px;
    transform: rotate(45deg) translate(0%,-50%);
}

.pagination .nav-links .page-numbers.next::before {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    top: 50%;
    right: 5px;
    transform: rotate(45deg) translate(-50%,0%);
}

/** -- Footer **/

.common-footer {
    background: #333;
    position: relative;
}

.common-footer .inner {
    padding: 0 1.5rem;
}

.footer-reservation {
    background-image: url(img/bg_ball_01.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 3rem 0;
    position: relative;
    z-index: 0;
}

.footer-reservation::before {
    content: "";
    background: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
}

.footer-reservation .inner {
    color: #fff;
    text-align: center;
}

.footer-reservation .inner h2 {
    font-size: 2.2rem;
}

.footer-reservation .inner p {
    font-size: 1.4rem;
    margin: 2rem 0;
}

.footer-navi ul {
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.footer-navi ul li {
    margin: 0;
    width: 50%;
}

.footer-navi ul li:nth-child(odd) {
    border-right: 1px solid #aaa;
}

.footer-navi ul li:nth-last-child(n+2) {
    border-bottom: 1px solid #aaa;
}

.footer-navi ul li a {
    color: #fff;
    display: block;
    padding: 1.5rem;
    position: relative;
    text-align: center;
    transition: 0.2s ease;
}

.footer-navi ul li a::before {
    border: 5px solid transparent;
    border-left: 5px solid #aaa;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translate(0%, -50%);
}

.footer-navi ul li a:hover {
    background: #222;
}

.common-footer .scroll-top {
    position: fixed;
    bottom: 20px;
    right: 10px;
}

.common-footer .scroll-top a {
    align-items: center;
    background: #f15a24;
    border-radius: 50%;
    color: #fff;
    font-size: 0.9rem;
    display: flex;
    height: 50px;
    justify-content: center;
    opacity: 0.5;
    padding-bottom: 3px;
    position: relative;
    text-decoration: none;
    transition: 0.2s ease;
    width: 50px;
}

.common-footer .scroll-top a::before {
    border: 4px solid transparent;
    border-bottom: 4px solid #fff;
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translate(-50%, 0%);
}

.common-footer .scroll-top a span {
    margin-top: 8px;
}

.common-footer .scroll-top a:hover {
    opacity: 0.8;
}

.copyright {
    border-top: 1px solid #aaa;
    color: #fff;
    font-size: 0.8rem;
    padding: 2rem 1rem;
    text-align: center;
}

.copyright .year {
    margin: 0 0.5rem;
}

/** -- WP Elements **/

.treaty.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
    flex-basis: auto;
}

/* Image */
.blocks-gallery-grid,
.wp-block-gallery {
    padding-left: 0 !important;
    margin: 1rem 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
    flex-grow: 0 !important;
}

.wp-block-media-text .wp-block-media-text__content {
    padding: 0 1.5rem;
}

.wp-block-image figcaption {
    font-size: 0.8rem;
    text-align: center;
    border-bottom: 1px solid#ddd;
    padding-bottom: 0.25rem;
}

/* Table */
.wp-block-table {
    overflow-x: auto;
    position: relative;
}

.wp-block-table:not(.is-style-stripes) table {
    background: #fff;
    border-collapse: separate;
    border-spacing: 3px;
    margin: 1rem 0;
    /* width: 100%; */
}

.wp-block-table:not(.is-style-stripes) table th,
.wp-block-table:not(.is-style-stripes) table td {
    border: none;
    padding: 0.8rem 0.6rem;
}

.wp-block-table:not(.is-style-stripes) table td {
    background: #eceff1;
}

.wp-block-table:not(.is-style-stripes) table th,
.wp-block-table:not(.is-style-stripes) table tbody td:first-child,
.wp-block-table:not(.is-style-stripes) table tfoot td {
    background: #cfd8dc;
}

.wp-block-table:not(.is-style-stripes) table tbody td:first-child {
    min-width: 150px;
}

.wp-block-table.is-style-stripes {

}

.wp-block-table.is-style-stripes table tbody tr:nth-child(odd) {
    background-color: rgba(220, 220, 220, 0.4);
}

.wp-block-image a[href $=".pdf"]::before,
.wp-block-image a[href $=".xlsx"]::before {
    display: none;
}

.wp-block-image a img {
    opacity: 1.0;
    transition: 0.2s ease;
}

.wp-block-image a:hover img {
    opacity: 0.8;
}

/* ファイル */
.wp-block-file a {
    font-size: 1rem;
}

.wp-block-file__button {
    font-size: 0.8rem !important;
    color: #2c4762 !important;
}

.wp-block-file__button::before {
    display: none !important;
}

/* 区切り線 */
hr.wp-block-separator.has-alpha-channel-opacity {
    border-left: none;
    border-right: none;
    border-top: none;
    margin: 2rem auto;
}
/* デフォルト */
hr.wp-block-separator.has-alpha-channel-opacity:not(.is-style-dots,.is-style-wide) {
    border-bottom: 1px solid #000;
    width: 60%;
}
/* ドット */
hr.wp-block-separator.has-alpha-channel-opacity.is-style-dots {
    border-bottom: 5px dotted #555;
    width: 60%;
}
/* ワイド */
hr.wp-block-separator.has-alpha-channel-opacity.is-style-wide {
    border-bottom: 1px solid #000;
    width: 100%;
}

/* Slider */

.xo-slider.xo-slider-template-default .slide-content {
    position: relative;
}

.xo-slider.xo-slider-template-default .slide-content-title {
    background: rgba(255,255,255,0.3);
    border-left: 5px solid #fff;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.8rem 1rem 0.8rem 1.5rem;
    position: absolute;
    bottom: 0;
    left: 1rem;
    right: 1rem;
    text-decoration: 0 0 1px rgba(0,0,0,0.3);
    transform: translate(0%, -100%);
}

.xo-slider.xo-slider-template-default .swiper-pagination {
    bottom: 3rem;
}

/* ContactForm */
.contact-form {
    margin: 2rem auto;
    max-width: 800px;
    width: 100%;
}

.contact-form input:not([type="submit"],[type="checkbox"]) {
    width: 100%;
}

.contact-form textarea {
    max-height: 300px;
    min-height: 100px;
    width: 100%;
}

.contact-form input[type="submit"] {
    background: #00acc1;
    border: none;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    font-size: 1.15rem;
    max-width: 300px;
    padding: 1rem;
    width: 100%;
}

.contact-form input[type="submit"]:disabled {
    background: #eee;
    color: #aaa;
}

.contact-form .required {
    color: #f22;
    font-size: 0.8rem;
    font-weight: bold;
}

.contact-form .wpcf7-not-valid-tip {
    background: #fee;
    font-size: 0.8rem;
    font-weight: bold;
    padding: 0.25rem 0.5rem;
}


/* Query */

@media print, screen and (min-width: 780px) {
    html {
        font-size: 15px;
    }
    /** -- Common -- **/
    .common-header,
    .common-header .inner {
        justify-content: space-between;
    }
    /** -- Header -- **/
    /* .common-header .inner {
    } */
    /* .common-header .site-title {
        width: auto;
    } */
    .common-header .site-title a img {
        width: 100%;
    }
    /* .global-navi {
        display: block !important;
    } */
    /* .drawer {
        display: none !important;
    } */
    /* .drawer-area {
        display: none !important;
    } */
    .drawer-area_contents {
        width: 80%;
    }
    /** Main **/
    .home-copy h1 {
        font-size: 1.8rem;
    }
    /** Page Single **/
    .contents-page h2 {
        font-size: 1.6rem;
        padding: 1.5rem 0;
    }
    .contents-page h3 {
        font-size: 1.4rem;
    }
    /** -- Custom -- **/
    .info-list ul li a {
        display: flex;
        padding: 1rem;
    }
    .info-list ul li a .date {
        width: 100px;
    }
    .info-list ul li a .title {
        width: calc(100% - 100px);
    }
    .top-explanation_block {
        display: flex;
        flex-wrap: wrap;
    }
    .top-explanation_block .item {
        width: 50%;
    }
    .top-explanation_block .pic {
        height: 300px;
    }
    .top-explanation_block .item.text {
        display: flex;
        align-items: center;
        padding: 1.5rem;
    }
    .table_price table tbody td:first-child {
        width: 300px;
    }
    .table_price table tbody td:nth-child(2) {
        width: 110px;
    }
    .table_payment table tbody td:first-child {
        width: 300px;
    }
    /* .table_recruit tbody tr {
        border-bottom: 1px solid #000;
        border-top: 1px solid #000;
    }
    .table_recruit tbody td {
        display: table-cell;
        padding: 0.8rem 1rem;
        width: auto;
    }
    .table_recruit tbody td:first-child {
        width: 200px;
    }
    .table_recruit tbody td:last-child {
        padding: 0.8rem 1rem;
    } */
    /** Footer **/
    .footer-navi ul li a {
        padding: 2rem 1rem;
    }
}

@media print, screen and (min-width: 1024px) {
    /** -- Common -- **/
    /** -- Header -- **/
    .drawer-area_contents {
        width: 60%;
    }
    /** -- Main -- **/
}

@media print {
    html {
        font-size: 11px;
    }
    .common-header {
        position: inherit;
    }
    .common-header,
    .common-header .inner {
        height: 60px;
    }
    .common-header .site-title a img {
        max-height: 40px;
    }
    .homebg {
        height: 300px;
    }
    .homebg .homebg_block {
        width: 80%;
    }
    .home-copy {
        padding: 2rem 1.5rem;
    }
    .home-copy h1 {
        font-size: 1.4rem;
    }
    .common-footer .scroll-top {
        position: absolute;
    }
}