@charset "UTF-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
 margin: 0;
 padding: 0;
 border: 0;
 font-size: 100%;
 font-style: normal;
 /*font: inherit;*/
 vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
 display: block;
}

body {
 line-height: 1;
}

ol,
ul,
li {
 list-style: none;
 list-style-type: none;
}

blockquote,
q {
 quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
 content: '';
 content: none;
}

table {
 border-collapse: collapse;
 border-spacing: 0;
}

input[type="text"],
input[type="password"],
textarea,
select,
*:focus {
 outline: none;
}


/*====================================================
////id common
====================================================*/
@font-face {
 font-display: swap;
 font-family: 'Noto Sans JP';
 font-style: normal;
 font-weight: 400;
 src: url('../fonts/noto-sans-jp-v56-japanese-regular.woff2') format('woff2');
}

@font-face {
 font-display: swap;
 font-family: 'Noto Sans JP';
 font-style: normal;
 font-weight: 500;
 src: url('../fonts/noto-sans-jp-v56-japanese-500.woff2') format('woff2');
}

@font-face {
 font-display: swap;
 font-family: 'Noto Sans JP';
 font-style: normal;
 font-weight: 700;
 src: url('../fonts/noto-sans-jp-v56-japanese-700.woff2') format('woff2');
}

@font-face {
 font-display: swap;
 font-family: 'Noto Sans JP';
 font-style: normal;
 font-weight: 900;
 src: url('../fonts/noto-sans-jp-v56-japanese-900.woff2') format('woff2');
}

:root {
 --red: #E60013;
 --blue: #143FA6;
 --s_blue: #005BAC;
 --l_blue: #00A0E9;
 --navy: #003A8C;
 --yellow: #FFF100;
 --l_gray: #efefef;
 --gray: #e6e0e0;
 --d_gray: #4c4948;
 --black: #2A2A2A;

 --line: #2EB941;

 --font_family: 'Noto Sans JP', "Yu Gothic", "游ゴシック Medium", "YuGothic", "游ゴシック体", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

html {
 font-size: 10px;
 font-size: 62.5%;
 overflow-x: hidden;
 width: 100%;
 max-width: 100vw;
}

body,
button,
input,
select,
optgroup,
textarea {
 color: var(--black);
 font-family: var(--font_family);
 font-size: 16px;
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.6;
}

body {
 background: linear-gradient(185deg, #BEC0C1 10%, #9BA1A3 19%, #BEC0C1 29%, #BEC0C1 49%, #9BA1A3 60%, #C6C8CA 69%, #C6C8CA 89%, #9BA1A3 92%, #C6C8CA 100%) no-repeat top / cover;
}

button,
input,
select,
optgroup,
textarea {
 color: inherit;
 font-family: inherit;
 font-size: inherit;
}

body {
 position: relative;
 width: 100%;
 max-width: 100vw;
 height: auto;
}

* {
 min-height: 0;
 min-width: 0;
}

body * {
 box-sizing: border-box;
}

.body-inner {
 background: #F7F8FC;
 margin: auto;
 width: min(100%, 500px);
}

section {
 position: relative;
 max-width: 100vw;
}

a {
 display: inline-block;
 transition: 0.2s ease-in-out;
 color: inherit;
 cursor: pointer;
 -webkit-backface-visibility: hidden;
 backface-visibility: hidden;
 outline: none;
 text-decoration: none;
 /* vertical-align: middle; */
}

a[href^="tel:"] {
 text-decoration: none !important;
}

@media print,
screen and (min-width: 769px) {
 a[href^="tel:"] {
  pointer-events: none;
 }
}

a img {
 transition: .1s ease-in-out;
}

.underline {
 color: var(--mainColor);
 -webkit-text-decoration: underline solid 1px currentColor;
 text-decoration: underline solid 1px currentColor;
 text-underline-position: under;
 text-underline-offset: 0.05em;
}

img {
 width: auto;
 height: auto;
 max-width: 100%;
 max-height: 100%;
 display: block;
 /* margin: auto; */
}

body figure {
 margin: 0;
 position: relative;
}

figure img {
 position: relative;
}

.coverImg {
 overflow: hidden;
 padding-top: 75%;
 width: 100%;
}

.coverImg img {
 -o-object-fit: cover;
 object-fit: cover;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 max-width: none;
 height: 100%;
 max-height: none;
}

.coverImg.contain img {
 -o-object-fit: contain;
 object-fit: contain;
}

.scaleUpImg {
 overflow: hidden;
}

.scaleUpImg img {
 transition: .4s;
}

.scaleUpImg:hover img {
 transform: scale(1.05);
}


.round {
 border-radius: 14px;
 overflow: hidden;
}

hr {
 border-top: solid 1px #CECECE;
 margin: 0;
 width: 100%;
 height: 0;
}

::before,
::after {
 pointer-events: none;
}


#contents {
 width: 100%;
 position: relative;
 z-index: 1;
}

.innerBox {
 margin: 0 auto;
 position: relative;
 width: 92.3%;
 z-index: 1;
}


/*====================================================
//NOTE テキスト
====================================================*/
small,
.small {
 font-size: .8em;
}

big,
.big {
 font-size: 1.2em;
}

strong,
.bold {
 font-weight: 700;
}

sup {
 font-size: .5em;
 vertical-align: .5em;
}

.lh-10 {
 line-height: 1.0;
}

.lh-12 {
 line-height: 1.2;
}

.lh-14 {
 line-height: 1.4;
}

.lh-15 {
 line-height: 1.5;
}

.lh-16 {
 line-height: 1.6;
}

.lh-18 {
 line-height: 1.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
 line-height: 1.4;
}

h1 {
 font-size: 3.3rem;
}

h2 {
 font-size: 3.0rem;
}

h3 {
 font-size: 2.8rem;
}

h4 {
 font-size: 2.4rem;
}

h5 {
 font-size: 2.2rem;
}


/*====================================================
//NOTE 装飾系
====================================================*/
.arrow {
 background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 33 33" preserveAspectRatio="none"><path fill="%23ff846e" d="M16.5,33c-2.28,0-4.43-.43-6.44-1.3-2.01-.87-3.75-2.04-5.24-3.53s-2.66-3.23-3.53-5.24C.43,20.93,0,18.78,0,16.5c0-2.28.43-4.43,1.3-6.44.87-2.01,2.04-3.75,3.53-5.24s3.23-2.66,5.24-3.53c2.01-.87,4.15-1.3,6.44-1.3s4.43.43,6.43,1.3c2.01.87,3.76,2.04,5.24,3.53s2.66,3.23,3.53,5.24c.87,2.01,1.3,4.15,1.3,6.44,0,2.28-.44,4.43-1.3,6.43s-2.04,3.75-3.53,5.24-3.23,2.66-5.24,3.53c-2.01.87-4.15,1.3-6.43,1.3ZM16.83,18.15l-1.48,1.49c-.3.3-.45.69-.45,1.16s.15.85.45,1.15c.3.3.69.45,1.15.45s.85-.15,1.16-.45l4.29-4.29c.33-.33.5-.72.5-1.16s-.17-.82-.5-1.15l-4.29-4.29c-.3-.3-.69-.45-1.16-.45s-.85.15-1.15.45c-.3.3-.45.69-.45,1.15s.15.85.45,1.15l1.48,1.49h-5.28c-.47,0-.86.16-1.17.48-.32.32-.47.71-.48,1.17,0,.47.16.86.48,1.18.32.32.71.48,1.17.47h5.28Z" /></svg>') no-repeat center;
 display: inline-block;
 margin-left: .5em;
 transition: transform .2s ease-in-out;
 vertical-align: middle;
 width: 1.5em;
 height: 1.5em;
}

@media (hover: hover) {
 a:hover .arrow {
  transform: translateX(.3em);
 }
}

dl.accordion dt,
dl.menu-accordion dt {
 cursor: pointer;
 transition: .2s ease-in-out;
}

dl.accordion dd,
dl.menu-accordion dd {
 overflow: hidden;
 transition: .2s ease-in-out;
}

ul.markList li {
 line-height: 1.4;
 position: relative;
 padding-left: 1em;
 margin: .3em 0;
}

ul.markList.dot li {
 padding-left: 1em;
}

ul.markList.dot li::before {
 background: currentColor;
 border-radius: 100%;
 content: '';
 margin: auto;
 position: absolute;
 left: .3em;
 top: .5em;
 width: .3em;
 height: .3em;
}

ul.markList>li:first-child {
 margin-top: 0;
}

ul.markList>li:last-child {
 margin-bottom: 0;
}

ul.markList li:before {
 position: absolute;
 display: block;
 left: 0;
 top: .05em;
}

ul.markList li:after {
 display: none !important;
}

ul.markList.attentionMark {
 line-height: 1.4;
}

ul.markList.attentionMark li:before {
 content: '\203B';
}

ol {
 counter-reset: number;
 /* 名前を付けたカウンターをリセット */
 list-style: none;
 /* olが数字を付けることをキャンセル */
 margin: 0;
 padding: 0;
}

ol>li {
 padding-left: 1.7em;
 margin: .5em 0;
 position: relative;
}

ol>li:first-child {
 margin-top: 0;
}

ol>li:last-child {
 margin-bottom: 0;
}

ol>li::before {
 counter-increment: number;
 content: counter(number)'.';
 position: absolute;
 top: .3em;
 left: 0;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 1.7em;
 height: 1.2em;
 line-height: 1;
}

ol.brackets>li {
 padding-left: 2em;
}

ol.brackets>li::before {
 content: '（' counter(number)'）';
 top: .25em;
}

.squareMark {
 border-radius: 10px;
 display: inline-block;
 line-height: 1;
 padding: .4em 1em;
 vertical-align: .1em;
}

/*====================================================
//class .sa
====================================================*/
.sa {
 opacity: 0;
}

.sa.show {
 animation: .5s ease-in-out forwards sa-show;
}

.sa.slow.show {
 animation: 1s ease-in-out forwards sa-show;
}

@keyframes sa-show {
 to {
  opacity: 1;
  transform: none;
 }
}

.sa.show_after {
 opacity: 1;
 transform: none;
 transition: 0s;
}

.sa-lr {
 transform: translate(-30px, 0);
}

.sa-rl {
 transform: translate(30px, 0);
}

.sa-up {
 transform: translate(0, 30px);
}

.sa-down {
 transform: translate(0, -30px);
}

.sa-scaleUp {
 transform: scale(.9);
}

.sa-scaleDown {
 transform: scale(1.1);
}

.sa-rotateL {
 transform: rotate(180deg);
}

.sa-rotateR {
 transform: rotate(-180deg);
}

/*====================================================
////NOTE カラー
====================================================*/
.bg-white {
 background: #fff;
 color: var(--black);
}

.bg-red {
 background: var(--red);
 color: #fff;
}

.bg-blue {
 background: var(--blue);
 color: #fff;
}

.bg-navy {
 background: var(--navy);
 color: #fff;
}

.bg-l_gray {
 background: var(--l_gray);
}

.bg-gray {
 background: var(--gray);
 color: #fff;
}

.bg-black {
 background: var(--black);
 color: #fff;
}

.white {
 color: #fff;
}

.red {
 color: var(--red);
}

.blue {
 color: var(--blue);
}

.navy {
 color: var(--navy);
}

.yellow {
 color: var(--yellow);
}

.gray {
 color: var(--gray);
}

.black {
 color: var(--black);
}

.l_blue {
 color: var(--l_blue);
}

.line {
 color: var(--line);
}

@media print,
screen and (min-width: 769px) {}


/*====================================================
////id 【header】
====================================================*/
header {
 position: relative;
 z-index: 999999;
 height: 75px;
}

header .headerBox {
 background: var(--navy);
 display: grid;
 align-items: center;
 grid-template-columns: 1fr auto;
 margin: auto;
 overflow: hidden;
 /* position: fixed;
    top: 0;
    left: 0;
    right: 0; */
 width: min(100%, 500px);
 height: 75px;
}

.header-logo,
.header-logo img {
 height: 100%;
}

header img {
 margin: 0;
}

.header-line_link {
 color: #fff;
 font-size: 10px;
 line-height: 1.5;
 margin-right: 12px;
 text-align: center;
 background: #2EB941;
 height: 58px;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: flex-end;
 gap: 6px;
 width: 58px;
 padding-bottom: 4px;
 border-radius: 4px;
 position: relative;
}

.header-line_link::before {
 content: '';
 display: block;
 width: 22px;
 height: 22px;
 background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 44 42"><path fill="%23ffffff" d="M22,.04C9.86.04,0,8.07,0,17.89s7.83,16.26,18.39,17.63c.7.18,1.67.48,1.94,1.1.22.57.13,1.41.09,1.98,0,0-.26,1.54-.31,1.9-.09.57-.44,2.16,1.89,1.19,2.33-.97,12.67-7.49,17.29-12.78h0c3.17-3.48,4.71-7.05,4.71-11.02C44,8.02,34.14,0,22,0h0v.04ZM14.26,23.18c0,.22-.18.44-.44.44h-6.16c-.13,0-.22,0-.31-.13h0c-.09-.09-.13-.18-.13-.31h0v-9.61c0-.22.18-.44.44-.44h1.54c.22,0,.44.18.44.44v7.62h4.18c.22,0,.44.18.44.44v1.54ZM17.95,23.18c0,.22-.18.44-.44.44h-1.54c-.22,0-.44-.18-.44-.44v-9.61c0-.22.18-.44.44-.44h1.54c.22,0,.44.18.44.44v9.61ZM28.6,23.18c0,.22-.18.44-.44.44h-1.63s-.09,0-.09-.09l-4.4-5.95v5.69c0,.22-.18.44-.44.44h-1.54c-.22,0-.44-.18-.44-.44v-9.61c0-.22.18-.44.44-.44h1.54l4.4,5.99v-5.69c0-.22.18-.44.44-.44h1.54c.22,0,.44.18.44.44v9.61h.18v.04ZM37.09,15.12c0,.22-.18.44-.44.44h-4.18v1.63h4.18c.22,0,.44.18.44.44v1.54c0,.22-.18.44-.44.44h-4.18v1.63h4.18c.22,0,.44.18.44.44v1.54c0,.22-.18.44-.44.44h-6.16c-.13,0-.22,0-.31-.13h0c-.09-.09-.13-.18-.13-.31h0v-9.61h0c0-.13,0-.22.13-.31h0c.09-.09.18-.13.31-.13h6.16c.22,0,.44.18.44.44v1.54h0v-.04Z" /></svg>') no-repeat center / contain;
 flex-shrink: 0;
}

@media (hover: hover) {
 .header-line_link:hover {
  opacity: 1;
  transform: scale(1.05);
 }
}

/*====================================================
////id footer
====================================================*/
footer {
 background: var(--s_blue);
 color: #fff;
 padding: 40px 28px calc(50px + 70px + env(safe-area-inset-bottom));
}

.footer-main {
 letter-spacing: .05em;
 padding-bottom: 20px;
}

.footer-main .name {
 font-size: min(5.64vw, 2.86rem);
 font-weight: 700;
 letter-spacing: .08em;
}

.footer-main .name_sub {
 font-size: min(2.82vw, 1.43rem);
}

.footer-detail {
 border: solid rgba(255, 255, 255, .18);
 border-width: 1px 0;
 display: grid;
 grid-gap: 1em;
 grid-template-columns: auto 1fr;
 font-size: min(3.077vw, 1.56rem);
 font-weight: 400;
 padding: 1.1em 0;
}

.footer-detail dl {
 display: grid;
 grid-gap: 0 1.5em;
 grid-template-columns: subgrid;
 grid-column: span 2;
}

.footer-detail dt {
 font-weight: 700;
}

footer .copyright {
 font-size: 1.0rem;
}

.footer-link_area {
 display: grid;
 grid-gap: 12px;
 font-size: min(3.333vw, 1.7rem);
 padding: 15px 0;
}

.footer-link_area-btn {
 border: solid 1px rgba(255, 255, 255, .35);
 border-radius: 6px;
 display: flex;
 align-items: center;
 height: 3.3846em;
 padding: .2em 2em .2em 1em;
 position: relative;
}

.footer-link_area-btn::after {
 background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 9 11"><path fill="%23ffffff" d="M1.01,11l-.87-1.2,6.15-4.3L.14,1.2l.87-1.2,7.85,5.5L1.01,11Z" /></svg>') no-repeat center / contain;
 content: '';
 display: block;
 margin: auto;
 position: absolute;
 top: 0;
 bottom: 0;
 right: 10px;
 width: .6em;
 height: 1em;
}

.copyright {
 font-size: min(2.564vw, 1.3rem);
 opacity: .6;
 padding-top: .5em;
 text-align: center;
}

@media (hover: hover) {
 .footer-link_area-btn:hover {
  background: rgba(255, 255, 255, .1);
 }
}

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769.0px) {}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 769.1px) {}

@media (hover: hover) {}

/*====================================================
////id | fixed-bottom-bar
====================================================*/
.fixed-content-wrapper {
 background: rgba(0, 20, 60, 0.92);
 bottom: 0;
 left: 0;
 padding: 10px 16px;
 padding-bottom: calc(10px + env(safe-area-inset-bottom));
 position: fixed;
 right: 0;
 z-index: 9999;
}

.fixed-content-inner {
 display: flex;
 gap: 10px;
 margin: 0 auto;
 max-width: 468px;
}

.fixed-btn {
 align-items: center;
 border-radius: 6px;
 color: #fff;
 display: flex;
 flex: 1;
 font-size: 1.4rem;
 font-weight: bold;
 gap: 8px;
 justify-content: center;
 padding: 6px;
 line-height: 1.4;
 text-decoration: none;
}

.fixed-btn::before {
 background: no-repeat center / contain;
 content: '';
 display: block;
 flex-shrink: 0;
 width: 1.6em;
 height: 1.6em;
}

.fixed-btn--line {
 background: #06C755;
}

.fixed-btn--line::before {
 background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 44 42"><path fill="%23ffffff" d="M22,.04C9.86.04,0,8.07,0,17.89s7.83,16.26,18.39,17.63c.7.18,1.67.48,1.94,1.1.22.57.13,1.41.09,1.98,0,0-.26,1.54-.31,1.9-.09.57-.44,2.16,1.89,1.19,2.33-.97,12.67-7.49,17.29-12.78h0c3.17-3.48,4.71-7.05,4.71-11.02C44,8.02,34.14,0,22,0h0v.04ZM14.26,23.18c0,.22-.18.44-.44.44h-6.16c-.13,0-.22,0-.31-.13h0c-.09-.09-.13-.18-.13-.31h0v-9.61c0-.22.18-.44.44-.44h1.54c.22,0,.44.18.44.44v7.62h4.18c.22,0,.44.18.44.44v1.54ZM17.95,23.18c0,.22-.18.44-.44.44h-1.54c-.22,0-.44-.18-.44-.44v-9.61c0-.22.18-.44.44-.44h1.54c.22,0,.44.18.44.44v9.61ZM28.6,23.18c0,.22-.18.44-.44.44h-1.63s-.09,0-.09-.09l-4.4-5.95v5.69c0,.22-.18.44-.44.44h-1.54c-.22,0-.44-.18-.44-.44v-9.61c0-.22.18-.44.44-.44h1.54l4.4,5.99v-5.69c0-.22.18-.44.44-.44h1.54c.22,0,.44.18.44.44v9.61h.18v.04ZM37.09,15.12c0,.22-.18.44-.44.44h-4.18v1.63h4.18c.22,0,.44.18.44.44v1.54c0,.22-.18.44-.44.44h-4.18v1.63h4.18c.22,0,.44.18.44.44v1.54c0,.22-.18.44-.44.44h-6.16c-.13,0-.22,0-.31-.13h0c-.09-.09-.13-.18-.13-.31h0v-9.61h0c0-.13,0-.22.13-.31h0c.09-.09.18-.13.31-.13h6.16c.22,0,.44.18.44.44v1.54h0v-.04Z" /></svg>');
}

.fixed-btn--tel {
 background: var(--red);
}

.fixed-btn--tel::before {
 background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 42 42"><path fill="%23ffffff" d="M21,0C9.4,0,0,9.4,0,21s9.4,21,21,21,21-9.4,21-21S32.6,0,21,0ZM14.8,9.78c.56-.41,1.34-.29,1.75.27l2.81,3.84c.41.56.29,1.34-.27,1.75l-1.27.93-4.29-5.86c1.13-.83,1.26-.92,1.27-.93ZM28.37,33.19c-2.46,1.8-8.54-2.02-12.54-7.49-4-5.47-5.8-12.42-3.35-14.22.13-.09.24-.18.35-.26l4.31,5.89c-.34.39-.41.96-.15,1.43,0,0,.73,1.59,2.72,4.32,1.99,2.73,3.29,3.9,3.29,3.9.37.39.93.49,1.41.28l4.31,5.89c-.11.08-.23.17-.35.26ZM30.69,31.49s-.14.1-1.27.93l-4.29-5.86,1.27-.93c.56-.41,1.34-.29,1.75.27l2.81,3.84c.41.56.29,1.34-.27,1.75Z" /></svg>');
}

.fixed-btn--tel span {
 display: flex;
 align-items: center;
 justify-content: center;
 flex-direction: column;

}

.fixed-btn--small {
 font-size: 1.2rem;
 text-align: center;
}

@media (hover: hover) {

 .fixed-btn--line:hover,
 .fixed-btn--tel:hover {
  opacity: .85;
 }
}
