@charset "UTF-8";

/*
Theme Name: Choice-Shizuoka
Description: Choice-Shizuoka-V4.4 Design WordPress tmpl.
Author: cmdc
Author URI: c-mdc.jp
Version: 4.4.1
*/

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
caption,
canvas,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
form,
footer,
header,
hgroup,
h1,
h2,
h3,
h4,
h5,
h6,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
main,
small,
span,
strike,
strong,
sub,
summary,
sup,
tt,
table,
tbody,
tfoot,
thead,
time,
tr,
th,
td,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit;
    text-align: left;
    vertical-align: baseline;
    white-space: normal;
    border: 0;
    background: transparent;
    outline: 0;
}

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 100%;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
    display: block;
}

/* ------------------------------------
// common
------------------------------------ */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: 400;
    background: #FFF !important;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    word-break: break-all;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow-x: hidden;
}

a {
    overflow: hidden;
    color: #101010;
    outline: none !important;
    -webkit-transition: all .7s;
    -moz-transition: all .7s;
    -ms-transition: all .7s;
    -o-transition: all .7s;
    transition: all .7s;
}

a:link,
a:visited,
a:active,
a:hover,
a:focus {
    overflow: hidden !important;
    outline: none !important;
}

a:link {
    color: #101010;
}

a:hover {
    color: #003c96 !important;
    text-decoration: underline;
}

:focus {
    outline: none !important;
}

a:visited {
    color: #101010;
}

a>.fa-twitter-square {
    color: #009ac3 !important;
}

a>.fa-line {
    color: #07b53b !important;
}

a>.fa-instagram,
a>.fa-square-instagram {
    color: #C13584 !important;
}

a>.fa-square-x-twitter {
    color: #222 !important;
}

a>.fa-youtube {
    color: #FF0000 !important;
}

a>.fa-square-envelope {
    color: #337AB7 !important;
}

.current {
    color: #337AB7 !important;
}

.link {
    padding-top: 225px !important;
}

.page_link {
    margin-top: -225px !important;
    padding-top: 225px !important;
}

img {
    max-width: 100% !important;
    height: auto !important;
}

a img {
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}

a:hover img {
    -webkit-opacity: 0.9;
    -moz-opacity: 0.9;
    -o-opacity: 0.9;
    filter: alpha(opacity=90);
    /* IE lt 8 */
    -ms-filter: "alpha(opacity=90)";
    /* IE 8 */
    opacity: 0.90;
    -webkit-transform: scale(1.02);
    -moz-transform: scale(1.02);
    -o-transform: scale(1.02);
    -ms-transform: scale(1.02);
    transform: scale(1.02);
}

.noimage {
    height: 100%;
    display: block;
    color: #FFF;
    font-size: large;
    text-align: center;
    line-height: 10rem;
    background: #eee;
}

.none {
    display: none;
}

[class*="col-"] {
    margin-bottom: 1rem;
    /*overflow: hidden;*/
}

blockquote {
    margin: 2rem auto 2rem;
    padding: 2rem;
    text-align: left;
    line-height: 1.8;
    font-size: 1.7rem;
    border-radius: 1rem;
    border: 3px double rgba(0, 154, 136, 0.7) !important;
}

blockquote:before {
    content: "";
}

/* ------------------------------------
// background
------------------------------------ */
.bg-main {
    background-color: #162f4e !important;
}

.bg-blue {
    background-color: #004DA0 !important;
}

.bg-db {
    background-color: #0962EA !important;
}

.bg-red {
    background-color: #DA1523 !important;
}

.bg-sky {
    background-color: #00BCD4 !important;
}

.bg-green {
    background-color: #009A88 !important;
}

.bg-orange {
    background-color: #EF8300 !important;
}

.bg-pink {
    background-color: #f77366 !important;
}

.bg-purple {
    background-color: #c375ad !important;
}

.bg-gray {
    background-color: #F3F3F3 !important;
}

.bg-contact {
    background-color: #fdeef1 !important;
}

.bg-beige {
    background-color: #FFF8E1 !important;
}

.bg-01 {
    background-color: #FFF8E1 !important;
}

.bg-02 {
    background-color: #E5F5F3 !important;
}

.bg-03 {
    background-color: hsla(187, 100%, 42%, 0.1) !important;
}

.bg-shadows {
    box-shadow: 0px 4px 2px -2px rgb(0 0 0 / 5%) inset, 0px -4px 2px -2px rgb(0 0 0 / 5%) inset !important;
}

.bg-yellow {
    background-color: # !important;
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px;
}

/* ------------------------------------
// border
------------------------------------ */
.border-db {
    border: 2px solid rgba(0, 51, 102, 0.7) !important;
}

.border-double {
    padding: .75rem !important;
    border-width: 3px !important;
    border-style: double !important;
}

/* ------------------------------------
// typography
------------------------------------ */
h1,
h2,
h3,
.h1,
.h2 .h3 {
    margin: 0 0 1rem;
    text-align: left;
    font-weight: 900;
    line-height: 1.5 !important;
    letter-spacing: .1rem;
}

h4,
h5,
h6,
.h4,
.h5,
.h6 {
    margin: 0 0 1rem;
    font-weight: 700 !important;
    text-align: left;
    letter-spacing: .1rem;
}

.post-title {
    letter-spacing: .1rem;
}

h1 {
    color: #232323;
    font-weight: 900 !important;
    line-height: 1.3;
}

h1.title {
    margin: 0 0 5rem !important;
    letter-spacing: .3rem !important;
}

h1.title>small {
    margin-left: 2rem;
    display: inline-block;
    text-align: left;
    font-size: 1.3rem !important;
}

h2 {
    margin: 0 0 2rem !important;
    color: #232323;
    font-weight: 700 !important;
    letter-spacing: .2rem;
}

h2.title {
    margin: 2rem 0 1.5rem !important;
    padding: 0 !important;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center !important;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700 !important;
    font-style: normal;
    letter-spacing: 0 !important;
}

h2.title::before {
    margin-right: 2rem;
    width: 2.2rem;
    position: relative;
    top: 3px;
    content: url('svg/h2title-before.svg');
}

h2.title::after {
    margin-left: 2rem;
    width: 2.2rem;
    position: relative;
    top: 3px;
    content: url('svg/h2title-after.svg');
}

h3 {
    margin: 0 0 1.5rem !important;
    padding: 0;
    line-height: 1.5;
}

h3.title {
    margin-bottom: 14px !important;
    padding: 1rem !important;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF !important;
    text-align: center !important;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0 !important;
    border-radius: 0 3rem 3rem 0;
}

h3.title small {
    font-weight: 700 !important;
}

h3.title::before {
    margin-right: 1rem;
    width: 2.2rem;
    position: relative;
    top: 3px;
    content: url('svg/title-before.svg');
    border: 4px solid #F59119 !important;
}

h3.title::after {
    margin-left: 1rem;
    width: 2.2rem;
    position: relative;
    top: 3px;
    content: url('svg/title-after.svg');
}

h4 {
    margin: .5rem 0 1rem;
}

h4 small {
    font-weight: 700 !important;
}

h4.title {
    display: flex;
    align-items: center;
    font-weight: 400 !important;
    letter-spacing: .2rem !important;
}

h4.title:before,
h4.title:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #555;
}

h4.title:before {
    margin-right: 1rem;
}

h4.title:after {
    margin-left: 1rem;
}

h5 {
    margin: 0 0 .5rem;
    line-height: 1.5 !important;
}

h6 {
    margin: 0 0 .5rem;
    line-height: 1.5 !important;
}

p {
    margin: 0 0 1rem;
    line-height: 1.7 !important;
    letter-spacing: .1rem;
    text-align: left;
}

strong {
    font-weight: 700 !important;
}

em {
    font-weight: 700 !important;
    font-style: normal !important;
}

small,
.small {
    font-size: 75%;
    line-height: 1.6;
}

.small {
    font-size: .9em !important;
}

label {
    padding: 1.5rem 2.5rem;
    line-height: 1;
    text-transform: capitalize;
    color: #FFF;
    letter-spacing: 0.5px;
    background: #76928D !important;
    border-radius: .25rem;
}

label>small {
    display: block;
    text-align: center;
    font-size: 70%;
    color: #0AA800;
}

label.sub-label {
    padding: 1rem 1.5rem;
    line-height: 1;
    text-transform: capitalize;
    color: #FFF;
    letter-spacing: 0.5px;
    border-radius: .75rem;
}

label.label-list {
    margin-right: .5rem;
    padding: .75rem 1rem;
    line-height: 1;
    text-transform: capitalize;
    color: #FFF !important;
    letter-spacing: 0.5px;
    border-radius: .35rem;
    background-color: #09E !important;
}

.lead {
    font-size: 1.2em !important;
}

.notice {
    padding: 1rem .5rem;
    text-align: center;
    font-weight: 700 !important;
    background-color: #fff500;
    background-image: radial-gradient(#ffffff 8%, transparent 9.5%), radial-gradient(#ffffff 8%, transparent 9.5%);
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px;
    border-radius: .5rem;
    border: 2px solid #00B1FB !important;
}

.normal {
    font-weight: 400 !important;
    letter-spacing: .2rem !important;
}

.phone-number {
    font-size: 2em !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.phone-number:hover {
    text-decoration: none !important;
}

.contents-subtitle {
    margin-bottom: 14px !important;
    padding: 1rem !important;
    position: relative;
    text-align: center !important;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    font-style: normal;
    border: 4px solid #F59119 !important;
    border-radius: 3rem;
    letter-spacing: 0 !important;
    background-color: #FFF;
}

hr {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
    border: 0;
    border-top-color: currentcolor;
    border-top-style: none;
    border-top-width: 0px;
    border-top: .2rem dotted rgba(0, 0, 0, .1);
}

.ls-0 {
    letter-spacing: 0 !important;
}

.ls-2 {
    letter-spacing: .2rem !important;
}

.ls-3 {
    letter-spacing: .3rem !important;
}

.lh-1 {
    line-height: 1.7 !important;
}

.lh-2 {
    line-height: 2 !important;
}

.lh-3 {
    line-height: 3 !important;
}

.txt-c {
    text-align: center !important;
}

.txt-min {
    font-weight: 400 !important;
    letter-spacing: .1rem !important;
    font-family: 'Noto Serif JP', "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;
}

.text-min {
    font-weight: 400 !important;
}

.vertical-text {
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    margin: 2rem auto .5rem;
}

/* ------------------------------------
// space
------------------------------------ */
.mb-6 {
    margin-bottom: 4rem !important;
}

.mb-7 {
    margin-bottom: 5rem !important;
}

/* ------------------------------------
// header
------------------------------------ */
header#main-head {
    padding: .35rem 1rem;
    position: fixed;
    width: 100%;
    color: #FFF;
    overflow: hidden;
    z-index: 99999;
}

.header-nav a:hover img {
    -webkit-opacity: 0.85;
    -moz-opacity: 0.85;
    -o-opacity: 0.85;
    filter: alpha(opacity=85);
    /* IE lt 8 */
    -ms-filter: "alpha(opacity=85)";
    /* IE 8 */
    opacity: 0.85;
    -webkit-transform: scale(1) !important;
    -moz-transform: scale(1) !important;
    -o-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    transform: scale(1) !important;
}

/* ------------------------------------
// color variation
------------------------------------ */
.text-black {
    color: #232323 !important;
}

.text-gray {
    color: #858585 !important;
}

.text-blue {
    color: #004DA0 !important;
}

.text-db {
    color: #036 !important;
}

.text-red {
    color: #d30023 !important;
}

.text-sky {
    color: #009AC3 !important;
}

.text-pink {
    color: #FD757A !important;
}

.text-purple {
    color: #c375ad !important;
}

.text-lime {
    color: #76C944 !important;
}

.text-yellow {
    color: #F8AF4B !important;
}

.text-orange {
    color: #EF8300 !important;
}

.text-green {
    color: #009A88 !important;
}

.text-white {
    color: #FFF !important;
}

.svg-title {
    fill: currentColor !important;
}

.shodow {
    box-shadow: 0 0 3px rgba(0, 0, 0, .2);
    border-radius: .25rem;
}

/* ------------------------------------
// list
------------------------------------ */
ul,
ol,
dl dt,
dd {
    line-height: 1.5;
}

dl {
    margin: .0 0 .75rem !important;
}

dt {
    margin: 0 0 .25rem;
    padding: 0;
    text-align: left;
    line-height: 1.6;
    font-size: 1.1em !important;
    font-weight: 700 !important;
}

dd {
    margin: 0 0 !important;
    padding: 0;
    line-height: 1.6;
    text-align: left;
}

dl.faq {
    margin: 0 0 2rem !important;
}

dl.faq dt {
    margin-bottom: 1.5rem;
    padding: 1.25rem .5rem 1.25rem .75rem;
    font-size: 1.7rem !important;
    color: #FFF !important;
    background-color: #76928D;
}

dl.faq dt::before {
    margin-right: .3rem;
    content: 'Q.';
    color: #93E7C5;
}

dl.faq dd {
    padding: 0 .5rem 0 1.5em;
    text-indent: -1em;
    font-size: 1.5rem !important;
    line-height: 1.6 !important;
}

dl.faq dd::before {
    margin-right: .3rem !important;
    content: 'A.';
    font-weight: 700 !important;
    font-size: 1.8rem !important;
    color: #C30 !important;
}

li {
    margin: .5rem 0 .5rem;
    list-style: none;
}

ul.arrow {
    margin: 0 0 2rem;
}

ul.arrow li {
    margin: 0 0 .75rem;
    text-align: left;
    font-weight: 700;
}

ul.arrow li:last-child {
    margin-bottom: 0 !important;
}

ul.arrow li:before {
    margin-right: 5px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0da";
    opacity: 0.6;
}

ul.sitelink {
    margin: 0 0;
    font-size: .95em !important;
}

ul.sitelink li {
    margin: 0 0 .5rem;
    padding: .75rem .5rem;
    text-align: left;
    letter-spacing: 0 !important;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
}

ul.sitelink li:before {
    margin-right: 5px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0c1";
}

ul.sitemap {
    margin: 0 0;
    font-size: .95em !important;
}

ul.sitemap li {
    margin: 0 0 .5rem;
    padding: .75rem .5rem;
    text-align: left;
    letter-spacing: 0 !important;
    border-bottom: 1px dotted rgba(0, 0, 0, 0.2);
}

ul.sitemap li:last-child {
    margin-bottom: 0 !important;
}

ul.sitemap li:before {
    margin-right: 5px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0da";
}

ul.sitemap li ul {
    margin: 1rem 0 0;
    padding-left: 1.5rem !important;
}

ul.sitemap li ul li {
    border: none !important;
}

ul.sitemap li ul li:before {
    margin-right: 5px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0da";
    opacity: 0.6;
}

.sub-list {
    margin: 0 0 1rem;
}

ul.inline-list {
    margin: 0 0 .75rem;
}

ul.inline-list li {
    margin: 0 .5rem .5rem 0;
    padding: .5rem;
    display: inline-block;
    border-radius: .35rem;
}

hr.hr-dotted {
    margin: 3rem 0 4rem !important;
    border-top: 2px dotted rgba(125, 125, 125, 0.3);
}

hr.hr-dotted2 {
    margin: 2rem 0 2rem !important;
    border-top: 2px dotted rgba(255, 255, 255, 0.5);
}

hr.hr-line {
    margin: 2em 0;
    border-top: 2px dotted rgba(0, 0, 0, 0.1);
}

/* ------------------------------------
// media
------------------------------------ */
object {
    pointer-events: none;
}

a>object {
    display: inline-block;
}

.thumbnail>img,
.thumbnail a>img,
.carousel-inner>.item>img,
.carousel-inner>.item>a>img {
    margin-top: 0;
    margin-bottom: 0;
    max-width: 100%;
    height: auto;
    display: block;
    text-align: center;
}

.navbar-brand img {
    margin-top: 0;
    margin-bottom: .5rem;
    max-width: 100%;
    height: auto;
    display: block;
    text-align: center;
}

.img-responsive {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    display: block;
    text-align: center;
}

.img-fit {
    max-width: 100% !important;
    width: 100% !important;
    height: auto;
}

.img-shodow {
    box-shadow: 12px 12px 0 hsla(32, 30%, 83%, 0.9);
}

.img-border {
    box-shadow: 10px 10px 0 hsla(0, 0%, 0%, 0.2);
}

.svg-icn {
    padding: 0;
    max-width: 36px !important;
    width: 100% !important;
    height: auto;
}

.svg-icn.svg-icn_before {
    padding-right: 1rem;
}

.svg-icn.svg-icn_after {
    padding-left: 1rem;
}

/* ------------------------------------
// layout
------------------------------------ */
main {
    margin: 0;
}

main#pages {
    text-align: left;
}

article {
    margin: 0;
}

article#top {
    z-index: 88888 !important;
}

main#page article {
    min-height: 400px !important;
}

section {
    margin: 0 0;
    padding: 3rem 0 4rem;
}

article section {
    padding: 3rem 0 3rem;
    background-color: #FFF;
}

main#page article section {
    padding: 5rem 0 5rem;
}

article section.wave {
    margin: -30px 0 0 !important;
    position: relative;
    background-color: #fff3c1 !important;
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px;
    z-index: 1;
}

article section.wave .container {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}

article section.wave-top {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    height: 30px;
    position: relative;
    background-image: url('common/background/wave-top.svg');
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: transparent !important;
    z-index: 2;
}

article section.wave-bottom {
    margin: -30px 0 0 !important;
    padding: 0 !important;
    width: 100%;
    height: 30px;
    position: relative;
    background-image: url('common/background/wave-bottom.svg');
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: transparent !important;
    z-index: 3;
}

article section.symbol {
    margin: 0 0 3rem !important;
    padding: 4rem 0 0 !important;
    border-bottom: 10px solid #22446C;
}

article section.symbol .symbol-inner {
    position: relative;
}

article section.symbol .container .btn {
    margin-bottom: 75px !important;
    position: relative;
}

article section.symbol .footer-symbol {
    position: relative;
    border-bottom: 10px solid #22446C;
}

article section.symbol .footer-symbol .footer-svg {
    width: 100px;
    height: auto;
    position: relative;
}

main#post article section {
    padding: 3rem 0 3rem;
    background-color: #FFF !important;
}

#page article section:nth-child(even) {
    height: 100%;
    position: relative;
    background-color: #F5F5F5;
}

article section .container_innner {
    margin-bottom: 5rem;
    background-color: #FFF;
}

aside {
    padding: 3rem 0 2rem;
    margin: 0 0 1rem;
}

aside section {
    padding: 0;
}

footer {
    margin: 0 auto 0;
    padding: 0 0;
    text-align: center;
    color: #fff !important;
    font-weight: 400 !important;
    position: relative;
    background-color: transparent;
}

.clearfix,
.post_body {
    zoom: 1;
}

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

@media (min-width: 768px) {
    .pc-center {
        text-align: center !important;
    }
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
#top-header {
    margin-top: 30px;
    padding: 0 !important;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#top-header .mask-img {
    width: 100%;
    aspect-ratio: 16 / 8;
    background-image: url('/wp-content/themes/marugoto/common/images/mv_pc.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width:767px) {
    #top-header .mask-img {
        aspect-ratio: 9 / 10;
        background-image: url('/wp-content/themes/marugoto/common/images/mv_sp.jpg');
        width: 100%;
        height: auto;
    }
}


#top-header .header-element {
    margin: 0 auto;
    width: 100%;
    position: relative;
    opacity: 1;
}

/*#top-header .container {
position: absolute;
left: 50%;
top: 47%;
transform: translate(-50%,-50%);
text-align: center;
}*/
#top-header .container .img-svg {
    margin: 0 auto .5rem !important;
    width: 98%;
    height: auto;
}

#top-header .container {
    width: 100%;
    position: absolute;
    text-align: center;
}

.cards {
    padding-bottom: .5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/*-----------------------------------------------------
// top
-----------------------------------------------------*/
.box-text {
    padding: 1rem 0;
    display: block;
    color: #FFF;
    font-size: 1.8rem;
    border-radius: .35rem;
}

/*-----------------------------------------------------
// footer
-----------------------------------------------------*/
footer section {
    padding: 0 !important;
    position: relative;
    text-align: left;
}

.footermask-img {
    width: 100%;
    height: 300px;
    background-color: #fb5d1c;
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px;
    mask-size: cover;
    -webkit-mask-size: cover;
    mask-position: center bottom;
    -webkit-mask-position: center bottom;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
}

footer section .container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
}

footer h6 {
    margin: 0 0 .5rem;
    letter-spacing: .1rem;
    text-align: center;
}

footer h6 small {
    display: block;
    text-align: center;
    font-weight: 700 !important;
}

footer p {
    margin: 0 0 .5rem;
    letter-spacing: 0;
}

footer ul.footer-nav {
    margin: 0 0 1.5rem !important;
}

footer ul.footer-nav li {
    margin-top: 0;
    margin-bottom: .5rem;
    display: block;
    text-align: center;
    font-weight: 700 !important;
    font-size: .9em !important;
}

footer ul.footer-nav li a {
    color: #22446C !important;
    text-decoration: none !important;
}

footer ul.footer-nav li a::before {
    margin-right: .3rem;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0da";
    opacity: 0.7;
}

footer ul.footer-nav li ul li a::before {
    opacity: 0.4;
}

footer ul.footer-list {
    margin: 0 0 1.5rem !important;
}

footer ul.footer-list li {
    font-size: 1.35rem !important;
}

.copyright {
    margin: 3.5rem 0 0 !important;
    padding: 0;
    display: block;
    text-align: center;
    color: #404040;
    font-size: 1.2rem !important;
    letter-spacing: 0 !important;
}

@media (min-width: 768px) {
    footer ul.footer-nav {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    footer ul.footer-nav li {
        width: calc(100%/4);
        height: auto;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        text-align: left;
    }
}

/* ------------------------------------
// pages post
------------------------------------ */
#page h1,
#page h2,
#page h3,
#page h4,
#page h5,
#page h6,
#page p {
    text-align: left;
}

#page h1 {
    margin: 0 0 2rem !important;
    letter-spacing: .1rem;
}

#page h2.title {
    margin: 2rem 0 5rem;
}

.col-text {
    line-height: 1.6 !important;
    font-size: 1.5rem;
}

/*-----------------------------------------------------
// pages
-----------------------------------------------------*/
.page-title {
    padding: 0 !important;
    border: none !important;
    font-weight: 700 !important;
    background-color: transparent !important;
}

/* ------------------------------------
// post
------------------------------------ */
#post h1,
#post h2,
#post h3,
#post h4,
#post h5,
#post h6,
#post p {
    text-align: left;
}

#post h1 {
    margin: 0 0 2rem;
    letter-spacing: .1rem;
}

/*-----------------------------------------------------
// contents
-----------------------------------------------------*/
@media (min-width: 768px) {
    .row-stack {
        position: relative !important;
    }

    .stack-left {
        padding: 2rem !important;
        position: absolute !important;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        z-index: 888;
    }

    .stack-right {
        padding: 2rem !important;
        position: absolute !important;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        z-index: 888;
    }
}

.area {
    margin: 1rem 0 5rem;
}

details {
    margin: 0 0 1.5rem;
}

summary {
    padding: 0;
    position: relative;
    display: block;
    /* 矢印を消す */
    list-style: none !important;
    padding-left: 0;
    /* アイコン分の余白 */
    cursor: pointer;
    font-weight: 400 !important;
    letter-spacing: .1rem !important;
}

details .details-inner {
    padding: 2rem 1.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: left;
}

details .details-inner dl {
    margin-bottom: .75rem !important;
    padding: 0 .5rem;
    width: calc(100%/2);
    height: auto;
    display: inline-block;
    flex-direction: column;
    box-sizing: border-box;
    text-align: left;
}

details .details-inner dl dt {
    margin-bottom: .5rem !important;
    padding: .5rem;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 1em !important;
    background-color: rgba(255, 247, 0, 0.3);
}

details .details-inner dl dt a.online-link {
    color: #C33;
    font-size: .8em !important;
    letter-spacing: 0 !important;
    text-decoration: none;
}

details .details-inner dl dd {
    margin-bottom: .75rem !important;
    padding: 0 .5rem;
    font-size: .9em !important;
}

summary::-webkit-details-marker {
    display: none !important;
    /* 矢印を消す */
}

/* オープン時 */
details[open] summary:after {
    margin: auto;
    display: block;
    text-align: center;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 2.2rem;
    content: "\f077";
    color: rgba(0, 0, 0, 0.3);
    right: 1.5rem;
}

/*-----------------------------------------------------
// table
-----------------------------------------------------*/
table {
    table-layout: auto !important;
    word-break: break-all;
    word-wrap: break-word;
}

.table-auto {
    table-layout: auto !important;
}

.text-nowrap {
    white-space: nowrap !;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: hsl(204deg 15.15% 93.53% / 55%) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.table-striped tbody tr:nth-of-type(even) {
    background-color: hsla(0, 0%, 100%, 0.7) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.table th,
.table td {
    padding: 1rem 1rem !important;
    line-height: 1.4;
    vertical-align: middle;
    font-weight: 400 !important;
    border-top: none !important;
}

.table th {
    text-align: center;
    vertical-align: middle !important;
}

.table td {
    text-align: left;
    vertical-align: middle !important;
}

.table thead th {
    padding: 1rem .75rem;
    color: #FFF;
    font-weight: 700 !important;
    background-color: #61BD62;
    border-bottom: 1px solid #61BD62 !important;
}

.table thead td {
    padding: 1rem .75rem;
    color: #FFF;
    background-color: #61BD62;
    border-bottom: 1px solid #61BD62 !important;
}

.table-sm th,
.table-sm td {
    padding: .5rem 1rem !important;
    font-size: 1.4rem;
    text-align: left !important;
    letter-spacing: 0.5px !important;
}

.table-sm th {
    font-weight: 700 !important;
}

.table-xs th,
.table-xs td {
    padding: .75rem 1.5rem !important;
    font-size: 1.3rem !important;
    text-align: left !important;
    letter-spacing: 0.5px !important;
}

table.tbl {
    margin: 0 0 2rem;
    padding: 0;
    width: 100%;
    font-size: 1.6rem;
    border-collapse: collapse;
    border: none;
}

table.tbl tr {
    margin: 0;
    padding: 0;
    border: none;
}

table.tbl th {
    padding: 1rem 3.5rem 1rem 1.5rem !important;
    position: relative;
    text-align: left;
    line-height: 1.5;
    color: #FFF;
    white-space: nowrap;
    vertical-align: middle;
    border: none;
    background-color: #177464 !important;
}

table.tbl th>span.tbl-arrow {
    position: absolute;
    right: 1rem;
}

table.tbl td {
    margin: 0;
    padding: 1rem 1.5rem !important;
    text-align: left;
    line-height: 1.5;
    vertical-align: middle;
    border: none;
    background: #F5F5F5 !important;
}

table.tbl td small {
    font-size: 80% !important;
}

table.tbl,
table.tbl th,
table.tbl td {
    border: 5px solid #FFF;
}

input {
    padding: .5rem;
}

/*-----------------------------------------------------
// form
-----------------------------------------------------*/
input,
button,
select,
optgroup,
textarea {
    letter-spacing: 0 !important;
}

.check01 {
    padding: 2rem 1rem;
    width: 100%;
    display: block;
    text-align: center;
    border: 2px solid #17A2B8;
}

.check02 {
    padding: 2rem 1rem;
    width: 100%;
    display: block;
    text-align: center;
    border: 2px solid #CCC;
}

.wp-form {
    margin: 0 0 1rem;
}

.wp-form label.control-label {
    color: #FFF !important;
    font-weight: 700 !important;
}

.wp-form label.control-label small {
    margin-left: .5rem;
    padding: .1rem .5rem;
    color: rgba(0, 0, 0, 0.7);
    font-size: 60% !important;
    border: 1px solid rgba(0, 0, 0, 0.5);
    border-radius: .25rem;
}

.form-group small {
    display: block;
    text-align: left;
}

.hisuu {
    margin-left: .3rem;
    font-size: 70%;
    color: #C33;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
    width: 100%;
}

input,
textarea {
    padding: .5rem .75rem;
    border: 1px solid rgba(0, 0, 0, .2) !important;
}

input[type="submit"] {
    margin: 0 1rem 1rem;
    padding: 2rem 3rem;
    width: 40%;
    display: inline-block;
    position: relative;
    z-index: 0;
    outline: none;
    color: #FFF !important;
    text-decoration: none !important;
    text-align: center;
    line-height: 1;
    letter-spacing: .3rem;
    font-size: 1.8rem;
    text-shadow: initial;
    border: 2px solid #177464;
    border-radius: .3rem;
    background-color: #177464;
}

input[type="button"] {
    margin: 0 1rem 1rem;
    padding: 2rem 3rem;
    width: 40%;
    display: inline-block;
    position: relative;
    z-index: 0;
    outline: none;
    color: #555 !important;
    text-decoration: none !important;
    text-align: center;
    line-height: 1;
    letter-spacing: .3rem;
    font-size: 1.8rem;
    text-shadow: initial;
    border: 2px solid #CCC;
    border-radius: .3rem;
    background-color: #CCC;
}

input[type="reset"] {
    margin: 0 1rem 1rem;
    padding: 2rem 3rem;
    width: 40%;
    display: inline-block;
    position: relative;
    z-index: 0;
    outline: none;
    color: #555 !important;
    text-decoration: none !important;
    text-align: center;
    line-height: 1;
    letter-spacing: .3rem;
    font-size: 1.8rem;
    text-shadow: initial;
    border: 2px solid #CCC;
    border-radius: 3rem;
    background-color: #CCC;
}

.wpcf7-text,
.wpcf7-textarea {
    width: 100%;
}

div.wpcf7 input[type="file"] {
    font-size: 1.3rem !important;
    display: block;
    background-color: rgba(255, 255, 255, 0.3);
}

input.p-postal-code {
    width: auto !important;
}

span.wpcf7-list-item label {
    background-color: transparent !important;
}

.label-danger {
    margin-left: .5rem;
    padding: .35rem .3rem .25rem;
    font-size: 65%;
    color: #FFF !important;
    background-color: #C33;
    border-radius: .35rem;
}

.wpcf7-list-item-label {
    color: #232323 !important;
}

.acceptance-privacy label {
    color: #333;
}

.privacy {
    margin: 3rem auto 3rem;
    border: 1px solid #ccc;
    padding: 2rem;
    overflow: auto;
    height: 500px;
    font-size: 1.3rem;
}

#ModalPrivacy h6 {
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}

#ModalPrivacy p {
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
}

/*-----------------------------------------------------
// pankuzu
-----------------------------------------------------*/
.breadcrumbs {
    margin: .75rem 0 1rem;
    text-align: left;
    font-size: 1.2rem;
    color: #404040;
    letter-spacing: 0 !important;
}

.breadcrumbs .fas {
    margin-left: .25rem;
    margin-right: .25rem;
    color: #999;
}

.breadcrumbs a {
    color: #404040 !important;
}

.breadcrumbs span a:hover {
    color: #177464 !important;
    text-decoration: none !important;
}

.breadcrumb-area {
    margin: 0 auto 2rem;
    font-size: 1.2rem;
    text-align: left;
    color: #888;
}

.breadcrumb-area span {
    margin-right: .25rem;
}

.breadcrumb-area span.current-item {
    color: #333;
}

@media (max-width:768px) {
    .breadcrumb-area {
        font-size: 1rem;
    }
}

/* -- pager --*/
.pager {
    margin-top: 2rem;
    margin-bottom: 1rem;
    padding: 0 1rem;
    width: 100%;
    overflow: hidden;
    clear: both;
    list-style: none;
    font-size: 1.2rem;
    text-align: center;
}

ul.page-numbers {
    text-align: center;
}

ul.page-numbers li {
    display: inline-block;
}

.pager .pager-prev {
    margin: 0 2rem 1rem .5rem;
    display: inline-block;
    font-size: 1.3rem;
}

.pager .pager-next {
    margin: 0 .5rem 1rem 1rem;
    display: inline-block;
    font-size: 1.3rem;
}

.pager span {
    padding: .5rem 1.15rem;
    display: inline-block;
    overflow: hidden;
    text-align: center;
    color: #FFF !important;
    text-decoration: none !important;
    border: none;
    border-radius: .3rem;
    background: #bebebe;
}

.pager span.current {
    padding: .5rem 1.15rem;
    display: inline-block;
    overflow: hidden;
    text-align: center;
    color: #FFF !important;
    text-decoration: none !important;
    border: none;
    border-radius: .3rem;
    background: #177464 !important;
}

.pager span.dots {
    padding: .5rem 1.15rem;
    display: inline-block;
    overflow: hidden;
    text-align: center;
    color: #FFF !important;
    text-decoration: none !important;
    border: none;
    border-radius: .3rem;
    background: #bebebe;
}

.pager a {
    padding: .5rem 1.15rem;
    display: inline-block;
    overflow: hidden;
    text-align: center;
    color: #FFF !important;
    text-decoration: none !important;
    border: none;
    border-radius: .3rem;
    background: #76928D;
}

.pager .pager-prev a,
.pager .pager-next a {
    padding: 1rem 3rem;
    background: #76928D;
    color: #FFF;
}

.pager-number {
    margin-top: 3rem;
    padding: 0 1rem;
    margin-bottom: 1rem;
    overflow: hidden;
    list-style: none;
    font-size: .8rem;
    text-align: center;
    display: flex;
    justify-content: center;
}

.pager-number span.current {
    margin: 0 .5rem;
    padding: .5rem 1rem;
    text-align: center;
    color: #FFF !important;
    text-decoration: none !important;
    border: none;
    border-radius: .3rem;
    background: #177464;
}

.pager-number a {
    margin: 0 .5rem;
    padding: .5rem 1rem;
    text-align: center;
    color: #FFF !important;
    text-decoration: none !important;
    border: none;
    border-radius: .3rem;
    background: #76928D;
}

.pager a:hover,
.pager-number a:hover {
    color: #FFF !important;
    text-decoration: none !important;
    background-color: #177464 !important;
}

#sb_instagram .sbi_photo img {
    width: 100%;
    height: auto;
    object-fit: cover;
    scale: 1;
    transition: -webkit-transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out;
    vertical-align: middle;
    aspect-ratio: 1 / 1 !important;
}

/* ------------------------------------
// display selector
------------------------------------ */
.hidden-pc {
    display: none !important;
}

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

/* ------------------------------------
// @Media Queries
------------------------------------ */
@media (min-width: 1600px) {
    article#pages section {
        padding: 8rem 0;
    }
}

@media (max-width: 1140px) {
    header#main-head .btn {
        max-width: 210px;
    }
}

@media (max-width: 991.98px) {
    .navbar-dark .navbar-nav .nav-link {
        letter-spacing: .1rem !important;
    }

    header#main-head .btn {
        margin-left: .5rem;
        max-width: 190px;
    }

    article#pages section {
        padding: 5rem 0;
    }
}

/*--under 768px--*/
@media (max-width: 767.98px) {
    header#main-head {
        padding: 0 !important;
    }

    header#main-head .site-title {
        margin: .3rem 0 .5rem !important;
        font-size: 1.1rem !important;
        text-align: center;
        letter-spacing: 0 !important;
    }

    .mask-img {
        width: 100%;
        height: 35vh;
    }

    #top-header {
        margin-top: 15px;
    }

    #top-header .container {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .navbar {
        padding: 1rem;
    }

    .header-nav .bg-db {
        background-color: #FFF !important;
    }

    .navbar-nav {
        font-size: 1.5rem;
    }

    nav.navbar-sub .collapse:not(.show) {
        display: block !important;
    }

    nav.navbar-sub ul.sub-menu {
        background-color: transparent !important;
    }

    nav.navbar-sub ul.sub-menu li {
        margin: 0 0 1.5rem !important;
        padding: 0 !important;
        font-size: 1.7rem !important;
        border: none !important;
    }

    nav.navbar-sub ul.sub-menu li a {
        padding: 0 0 0 1rem !important;
        text-align: left !important;
    }

    nav.navbar-sub ul.sub-menu li a::before {
        content: '- ';
    }

    section {
        margin-bottom: 0;
        padding: 2.5rem 0 1rem;
    }

    article section {
        padding: 2rem 0 !important;
    }

    article#pages section {
        padding: 2rem 0 1rem !important;
    }

    main#page article section {
        padding: 2rem 0 1rem !important;
    }

    main#post article section {
        padding: .5rem 0 1.5rem !important;
    }

    article#pages section {
        min-height: 400px;
    }

    .details-inner ul.arrow li {
        width: calc(100%/2);
        height: auto;
        display: inline-block;
        flex-direction: column;
        box-sizing: border-box;
        text-align: left;
    }

    footer {
        margin: 0 auto 0;
        padding: 2.5rem 0 50px !important;
        text-align: center;
    }

    footer section {
        margin-bottom: 0 !important;
        padding-bottom: .25rem !important;
    }

    footer #copy {
        margin-bottom: 0 !important;
        padding: 1rem 1rem !important;
    }

    .copyright {
        margin: 2rem 0 0 !important;
        font-size: 8px !important;
        text-align: center !important;
    }

    footer .footer-info {
        text-align: center;
    }

    footer h5 {
        text-align: left;
    }

    footer h6 {
        letter-spacing: 0 !important;
    }

    footer p {
        font-size: 1.2rem !important;
        text-align: left;
    }

    footer .lead {
        font-weight: 900 !important;
        font-size: 1.8rem !important;
        letter-spacing: 0 !important;
    }

    footer .text-right {
        text-align: left !important;
    }

    footer ul.footer-list {
        margin: 0 0 2rem;
        display: flex;
        flex-wrap: wrap;
    }

    footer ul.footer-list li {
        margin: 0 0 .5rem !important;
        padding: 0 1px;
        width: calc(100% - 2px);
        font-size: 1.1rem !important;
    }

    .title {
        margin: 2rem 0 1rem !important;
        padding-bottom: .5rem;
        letter-spacing: .05rem !important;
    }

    h1.title {
        margin: 0 0 2.5rem !important;
        letter-spacing: .1rem !important;
        font-size: 2.1rem !important;
    }

    h1.page-title {
        font-size: 2.1rem !important;
        letter-spacing: .1rem !important;
    }

    h2,
    .h2 {
        margin: 1rem 0 2rem !important;
        font-size: 2.3rem !important;
        letter-spacing: 0.5px !important;
    }

    h2.title {
        margin: .5rem 0 3.5rem !important;
        font-size: 2.3rem !important;
        letter-spacing: 0.5px !important;
    }

    h2.text-min {
        font-size: 2.3rem !important;
    }

    h2.ls-0 {
        letter-spacing: 0 !important;
    }

    h2.title>small {
        font-size: 1.4rem;
    }

    .feed h2 {
        margin: .5rem 0 !important;
        font-size: 2rem !important;
        letter-spacing: 1px !important;
    }

    h3,
    .h3 {
        font-size: 1.8rem !important;
        letter-spacing: 0.5px !important;
    }

    h3.title {
        font-size: 1.8rem !important;
    }

    h3.title small {
        margin-bottom: .2rem;
        display: block;
        text-align: left;
    }

    h3.title>span {
        padding: .75rem 1rem;
    }

    h4,
    .h4 {
        font-size: 1.6rem !important;
    }

    h5,
    .h5 {
        font-size: 1.5rem !important;
    }

    h6,
    .h6 {
        font-size: 1.5rem !important;
    }

    p {
        font-size: 1.4rem !important;
    }

    .lh-3 {
        line-height: 2.4 !important;
    }

    .small {
        font-size: 90% !important;
        letter-spacing: 0 !important;
    }

    .pc-contents {
        text-align: center !important;
    }

    summary {
        padding: 0;
    }

    details .details-inner {
        padding: 1rem .35rem !important;
    }

    details .details-inner dl {
        margin-bottom: .75rem !important;
        padding: 0 .5rem;
        width: 100%;
        height: auto;
        display: inline-block;
        flex-direction: column;
        box-sizing: border-box;
        text-align: left;
    }

    details .details-inner p {
        font-size: 1.3rem !important;
    }

    .news-list li span {
        margin: 0 0 .1rem !important;
        display: block;
    }

    .table th {
        width: 30% !important;
    }

    .table th,
    .table td {
        padding: 1rem .5rem !important;
        font-size: 1.3rem !important;
        letter-spacing: 0 !important;
    }

    .table td a {
        display: block;
        text-align: left;
    }

    .table-xs th,
    .table-xs td {
        padding: .5rem 1.5rem !important;
        font-size: 1.3rem !important;
        text-align: left !important;
        letter-spacing: 0.5px !important;
    }

    .post-date {
        margin: 0 0 .25rem !important;
        display: block;
        text-align: left;
        font-size: 1.3rem !important;
    }

    .card-title {
        font-size: 1.6rem !important;
    }

    .img-svg {
        margin-left: auto;
        margin-right: auto;
        padding-left: 10%;
        padding-right: 10%;
    }

    .logo-svg {
        margin-left: auto;
        margin-right: auto;
        padding-left: 10%;
        padding-right: 10%;
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .img-shodow {
        box-shadow: 10px 10px 0 hsl(32deg 30% 83% / 90%);
    }

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

    img.check-point {
        margin: 0 auto;
        width: 50% !important;
        height: auto;
    }

    dt {
        font-size: 1.4rem !important;
    }

    dd,
    li {
        font-size: 1.3rem !important;
    }

    dl.faq dt {
        font-size: 1.5rem !important;
    }

    dl.faq dd {
        font-size: 1.4rem !important;
    }

    .btn,
    .button {
        font-size: 1.5rem !important;
    }

    .page-nav {
        margin-top: 1.5rem;
        text-align: center;
    }

    .align-items-center p {
        margin-top: 1rem !important;
    }

    article section.symbol .container .btn {
        margin-bottom: 30px !important;
    }

    article section.symbol .container::after {
        content: '';
        width: 75px;
        height: 110px;
        display: inline-block;
        position: absolute;
        bottom: -35px;
        left: 2px;
        right: auto;
    }

    footer ul.footer-nav {
        margin: 0 0 1.5rem !important;
        display: flex;
        justify-content: space-between;
    }

    footer ul.footer-nav li {
        margin-bottom: 1rem;
        width: 100%;
        font-size: 1.2rem !important;
    }

    .footermask-img {
        height: 20vh;
    }

    .sp-nav {
        margin: 0 !important;
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        left: 0;
        background-color: #FFF;
        z-index: 888;
    }

    .sp-nav li {
        margin: 0;
        padding: 1.5rem 1rem;
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        text-align: center;
        background-color: #00B1FB;
        border: 3px solid #4DC9FC !important;
    }

    .sp-nav li a {
        display: block;
        text-align: center;
        font-size: 1.8rem;
        font-weight: 700;
        font-family: "M PLUS Rounded 1c", sans-serif;
        color: #FFF !important;
        text-align: center;
        letter-spacing: .2rem !important;
    }

    .sp-nav li a>span {
        display: block;
        text-align: center;
        color: #101010 !important;
        letter-spacing: 0 !important;
        font-size: 1.1rem !important;
    }

    .label-title {
        display: none !important;
    }

    .txt-c {
        text-align: left !important;
    }

    .img-border {
        border: none !important;
    }

    .hidden-pc {
        display: block !important;
    }

    .hidden-sp {
        display: none !important;
    }

    .wp-form {
        padding: 0 15px !important;
    }

    .col-form {
        padding: 0 !important;
    }

    .privacy {
        margin: 2rem auto 2rem;
        border: 1px solid #ccc;
        padding: 1rem;
        overflow: auto;
        height: 350px;
        font-size: 1.2rem;
    }

    .privacy p {
        font-size: 1.2rem !important;
    }

    table a.btn {
        margin-top: .3rem;
    }

    table.tbl th,
    table.tbl td {
        padding: .5rem;
        text-align: left !important;
    }

    table.tbl th,
    table.tbl td {
        padding: 5px;
        width: 100% !important;
        display: block !important;
    }

    table.tbl,
    table.tbl th,
    table.tbl td {
        border: none;
        border-bottom: 5px solid #FFF !important;
    }

    input[type="submit"],
    input[type="button"],
    input[type="reset"] {
        margin: 0 auto 1.5rem;
        width: 90%;
        display: block;
    }

    #ModalPrivacy h6 {
        font-weight: 700 !important;
        font-size: 1.35rem !important;
        letter-spacing: 0 !important;
    }

    #ModalPrivacy p {
        font-size: 1.25rem !important;
        line-height: 1.5 !important;
    }

    #wpfront-scroll-top-container {
        width: 42px;
        bottom: 75px !important;
    }

    br.sp-space {
        display: none !important;
    }
}

h2.text-primary_instagram::before {
    margin-right: 2rem;
    width: 2.2rem;
    position: relative;
    top: 3px;
    content: url(svg/h2title_instagram-before.svg);
}

h2.text-primary_instagram::after {
    margin-left: 2rem;
    width: 2.2rem;
    position: relative;
    top: 3px;
    content: url(svg/h2title_instagram-after.svg);
}

#wpfront-scroll-top-container i {
    color: #00b1fb !important;
}

.margin-top {
    margin-top: 5%;
}


@media screen and (min-width:767px) {
    br.sp_only {
        display: none;
    }
}

@media screen and (max-width:767px) {
    body {
        font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI",
            "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    }

    br.sp_only {
        display: block;
    }

    main article section+section div.container h5 {
        text-align: center !important;
    }
}

.bg-yellow {
    background-color: #ffd8d9 !important;
    background-position: 0 0, 15px 15px;
    background-size: 30px 30px;
}

.card .col-9 {
    flex: 0 0 100%;
    max-width: 100%;
}

.img-responsive {
    margin: 0 !important;
    max-width: 100%;
    height: auto;
    display: block;
    text-align: center;
    width: 100%;
}

.campaign .container .col-12:nth-child(2) {
    margin-top: 3%;
}



@media screen and (max-width:767px) {
    footer section {
        padding: 70px !important;
        position: relative;
        text-align: left;
        background: #fb5d1c;
    }
}

.left {
    justify-content: flex-start !important;
}

a[href^="tel"] {
    color: inherit;
    text-decoration: none;
    pointer-events: none;
}

.workshop_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.workshop_flex .row {
    width: 49%;
    display: block;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1%;
}

@media screen and (max-width:767px) {
    .workshop_flex .row {
        margin-bottom: 0%;
    }

    .workshop_flex {
        display: block;
        flex-wrap: no-wrap;
        width: 100%;
    }

    .workshop_flex .row {
        width: 100%;
    }

}

.workshop_flex .row img {
    width: 100%;
}

.workshop_flex .row .col-md-6 {
    max-width: 100%;
}

/*▼▼▼追記▼▼▼*/

.area_sec {
    width: 100%;
    display: flex;
    padding: 2.5%;
    justify-content: space-between;
}

.area_sec .area_tit {
    padding: 2.5%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 10%;
}

.area_sec .area_tit+p {
    width: 48%;
    font-size: 16px;
    font-weight: 500;
}

.area_sec .city_tit {
    padding: 2%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35%;
    margin-right:5%;
}

.area_tit,
.city_tit div p {
    color: #fff;
    font-weight: 700;
}

.area_sec .module {
    width: 50%;
}

.area_tit,
.module {
    color: #fff;
    font-weight: 500;
}

.area_sec {
    border-radius: 25px;
}

.izu_area {
    border: solid 2px #009DE1;
}

.izu_area .area_tit,
.izu_area .city_tit {
    background: #009DE1;
}

.east_area {
    border: solid 2px #009DE1;
}

.east_area .area_tit,
.east_area .city_tit {
    background: #35B597;
}

.central_area {
    border: solid 2px #EA5550;
}

.central_area .area_tit,
.central_area .city_tit {
    background: #EA5550;
}

.west_area {
    border: solid 2px #B963A4;
}

.west_area .area_tit,
.west_area .city_tit {
    background: #B963A4;
}

.work_area {
    border: solid 2px #6FBA2C;
}

.work_area .area_tit,
.work_area .city_tit {
    background: #6FBA2C;
}

.sumai_area {
    border: solid 2px #F6AB00;
}

.sumai_area .area_tit,
.sumai_area .city_tit {
    background: #F6AB00;
}

.life_area {
    border: solid 2px #EC7AAC;
}

.life_area .area_tit,
.life_area .city_tit {
    background: #EC7AAC;
}

.module img {
    width: 100%;
}

.flex_container {display:flex;}

.area_tit {font-weight:700;}

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

.area_sec {display: block;}

.area_tit {width:100%!important;
font-size:20px;}

.area_tit + p {width:100%!important;
margin:5% 0;}

.flex_container {
    display: flex;
    justify-content: space-between;
}

}

@media screen and (min-width:767px) {
.pc_only {display:block;}
}

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

.campaign02 {background:#8CC63F;
position:relative;
width:100%;
padding:5%;
border-radius: 25px;
font-weight:700;}

.campaign02 img {margin-top:5%;}

.campaign02 p {text-align:center;}

.campaign02 img:first-child {margin-top:0%;}

.cam02_tit {text-align:center;}

.campaign02 {color:#fff;}

.campaign02 ul li {list-style: disc;}

.cam02_tit {font-size:36px;}

.cam02_hash {font-size:32px;
color:#fff000;}

.mt-5 {margin-top:5%;}

@media screen and (min-width:767px) {
.sp_only {display:none;}
}

@media screen and (max-width:767px) {
.cam02_tit {font-size:22px!important;}

.cam02_hash {font-size:18px!important;}

.campaign02 {border-radius: 10px;}

.sp_only {display:block;}

}

.city_tit div {text-align:center!important;}

.city_tit small {color:#fff;
font-weight:700;}

@media screen and (max-width:767px) {
.city_tit small {font-size:1.4rem;}

}

.limited {font-size:3.2rem;
color:#ff0000;
margin: -1% 0;
-webkit-text-stroke: 1px #FFF;
  text-stroke: 1px #FFF;}

.limited strong {font-size:4.8rem;}

@media screen and (max-width:767px) {
.limited {font-size:2.4rem!important;}

.limited strong {font-size:3.2rem!important;}

}

/* ==========================
  体験・ワークショップ
========================== */

.workshop {
  background: #fff4c4;
  padding: 60px 20px 80px;
}

/* タイトル */
.workshop-title {
  max-width: 1140px;
  margin: 0 auto 40px;
  padding: 12px 32px;
  background: #7fbf3f;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  border-radius: 30px;
}

/* グリッド */
.workshop-grid {
  max-width: 1140px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* カード */
.workshop-card {
  background: #fff;
  border: 2px solid #7fbf3f;
  border-radius: 12px;
  padding: 18px;
  display: flex;
  flex-direction: column;
}

/* 種別タグ */
.workshop-tag {
  display: inline-block;
  margin-bottom: 8px;
  padding: 4px 14px;
  font-weight: 700;
  color: #fff;
  background: #7fbf3f;
  border-radius: 20px;
  width: fit-content;
}

/* 見出し */
.workshop-card h3 {
  font-weight: 700;
  color: #333;
  margin-bottom: 8px;
  line-height: 1.5;
}

/* 説明文 */
.workshop-card p {
  line-height: 1.7;
  color: #555;
  margin-bottom: 12px;
}

/* coming soon */
.workshop-card .coming-soon {
  font-weight: 700;
  color: #7fbf3f;
  text-align: center;
  letter-spacing: 0.08em;
  margin: 20px 0;
}

/* 画像 */
.workshop-card figure {
  margin-top: auto;
}

.workshop-card img {
  width: 100%;
  border-radius: 8px;
  display: block;
}

/* キャプション */
.workshop-card figcaption {
  margin-top: 6px;
  color: #7fbf3f;
  text-align: right;
}

/* SP */
@media (max-width: 768px) {
  .workshop {
    padding: 40px 16px 60px;
  }

  .workshop-title {
    font-size: 18px;
    padding: 10px 24px;
  }

  .workshop-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .workshop-card {
    padding: 16px;
  }
}

/* ==========================
  フォトブースSNSキャンペーン
========================== */

.photo-booth {
  padding: 60px 20px;
  background: #fff;
}

.photo-booth-inner {
  max-width: 1140px;
  margin: 0 auto;
  background: #4f9a43;
  border-radius: 20px;
  padding: 48px 40px 40px;
  color: #fff;
}

/* タイトル */
.photo-booth-title {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 32px;
	color:#fff;
}

/* イメージ枠 */
.photo-booth-image {
  max-width: 640px;
  height: 360px;
  margin: 0 auto 32px;
  background: #e6e6e6;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  border-radius: 6px;
}

/* 説明文 */
.photo-booth-text {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 32px;
}

/* 注意書き */
.photo-booth-notes {
  line-height: 1.7;
  list-style: none;
  padding: 0;
  margin: 0;
}

.photo-booth-notes li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 6px;
}

.photo-booth-notes li::before {
  content: "・";
  position: absolute;
  left: 0;
}

/* SP */
@media (max-width: 768px) {
  .photo-booth-inner {
    padding: 32px 20px 28px;
    border-radius: 16px;
  }

  .photo-booth-title {
    font-size: 20px;
  }

  .photo-booth-image {
    height: 220px;
  }

  .photo-booth-text {
    font-size: 16px;
  }
}

