@charset "utf-8";
/* CSS Document */
/* -----------------------------------------
 Reset
------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
/*vertical-align: baseline;*/
background: transparent;
scroll-behavior: smooth;

}
body {
line-height: 1.5;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

ul {
list-style: none;
}

em {
font-style: normal;
}

a {
margin: 0;
padding: 0;
vertical-align: baseline;
color: inherit;
background: transparent;
-webkit-tap-highlight-color: rgba(0,0,0,.1);
text-decoration: none;
}

a:hover {
transition: 0.5s;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

/* -----------------------------------------
 基本
------------------------------------------- */
*{
box-sizing: border-box;
}

html {
font-size: 62.5%;
font-size: calc(1em*.625);
}

body {
line-height: 1.5;
color: #333333;
font-family: 'Poppins', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif !important;
background-color: #ffffff;
font-weight: 400;
}

img {
vertical-align: top;
max-width: 100%;
}

p {
line-height: 1.7;
font-size: 1.8rem;
}

/* -----------------------------------------
 余白
------------------------------------------- */
.inner {
width: 110rem;
margin: auto;
padding: 5rem 1rem;
align-items: center;
}
.mt0 {
margin-top: 0 !important;
}
.mt10 {
margin-top: 1rem !important;
}
.mt15 {
margin-top: 1.5rem !important;
}
.mt20 {
margin-top: 2rem !important;
}
.mt25 {
margin-top: 2.5rem !important;
}
.mt30 {
margin-top: 3rem !important;
}
.mt40 {
margin-top: 4rem !important;
}
.mt50 {
margin-top: 5rem !important;
}
.mt60 {
margin-top: 6rem !important;
}
.mt70 {
margin-top: 7rem !important;
}
.mt80 {
margin-top: 8rem !important;
}
.mt90 {
margin-top: 9rem !important;
}
.mt110 {
margin-top: 11rem !important;
}
.mb0 {
margin-bottom: 0 !important;
}
.mb10 {
margin-bottom: 1rem !important;
}
.mb15 {
margin-bottom: 1.5rem !important;
}
.mb20 {
margin-bottom: 2rem !important;
}
.mb25 {
margin-bottom: 2.5rem !important;
}
.mb30 {
margin-bottom: 3rem !important;
}
.mb40 {
margin-bottom: 4rem !important;
}
.mb50 {
margin-bottom: 5rem !important;
}
.mb60 {
margin-bottom: 6rem !important;
}
.mb70 {
margin-bottom: 7rem !important;
}
.mb80 {
margin-bottom: 8rem !important;
}
.mb90 {
margin-bottom: 9rem !important;
}
/* -----------------------------------------
 見出し・文字装飾
------------------------------------------- */
h1 {
font-size: 4.8rem;
font-weight: bold;
line-height: 1.3;
}

h2 {
font-size: 2.8rem;
font-weight: 600;
margin-bottom: 2rem ;
padding: 0;
color:#2d0094;
}

h3 {
font-size: 2.4rem;
margin-bottom: 2rem ;
font-weight: bold;
color:#2d0094;
}

h4 {
font-size: 2.2rem;
font-weight: bold;
margin-bottom: 4rem;
}

.txt-center {
text-align: center;
}

.txt-right {
text-align: right;
}

.txt-left {
text-align: left;
}

.txt-white {
color: #ffffff;
}

.txt-gray {
color: #333;
}

.txt-red {
color: #f85853;
}

.txt-blue {
color: #4291a7;
font-weight: bold;
}

.txt-jus {
text-align: justify;
}

.txt-shadow{
text-shadow:0 0 10px rgba(0, 0, 0), 
4px 4px 18px rgba(0, 0, 0), 
8px 4px 10px rgba(0, 0, 0);
}

.fs-14{
font-size: 1.4rem;
}

.fs-24{
font-size: 2.4rem;
}

.notes {
margin: 4rem 0 3rem 0;
font-size: 1.2rem;
line-height: 1.4;
text-align: right;
font-weight: 300;
}

.notes a {
color: #ffffff;
}

.w-normal {
font-weight: normal;
}

.w-medium {
font-weight: 500;
}

/* -----------------------------------------
 utility
------------------------------------------- */
.flex {
display: flex;
}
.spOnly {
display: none;
}
.Only480 {
display: none;
}
.display__default {
display: block;
}
@media screen and (max-width: 768px) {
.responsive-inner {
padding: 0 2rem;
}}

/* -----------------------------------------
header
-----------------------------------------*/
.header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 100;
background-color:#2d0094;
}

.header__inner {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 1.5rem 1rem 0;
}

/* logo */
.header__logo img {
width: 30rem;
display: block;
}

.header__logo a:hover {
transition: 0.5s;
opacity: 0.7;
}

/* cta */
.header__ctaWrap {
display: flex;
gap: 1rem;
}

.header__btn {
height: 5rem;
padding: 0 2rem 0 1rem;
border-radius: 0.6rem;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.8rem;
background: #4dbaa9;
color: #fff;
font-weight: 700;
font-size: 1.4rem;
transition: 0.3s;
}

.header__btn:hover {
opacity: 0.7;
}

.header__btn::before {
content: "";
width: 4rem;
height: 4rem;
background:
url("../img/icon01.png")
no-repeat center / contain;
}

/* 白ボタン */
.header__btn--white {
background: #fff;
color: #2d0094;
}

.header__btn--white::before {
background:
url("../img/icon02.png")
no-repeat center / contain;
}

/* ハンバーガー */
.hamburger {
display: none;
width: 4rem;
height: 4rem;
position: relative;
z-index: 200;
background: none;
border: none;
cursor: pointer;
}

.hamburger span {
position: absolute;
left: 50%;
width: 2.4rem;
height: 2px;
background: #fff;
transform: translateX(-50%);
transition: 0.3s;
}

.hamburger span:nth-child(1) {
top: 1.1rem;
}

.hamburger span:nth-child(2) {
top: 1.9rem;
}

.hamburger span:nth-child(3) {
top: 2.7rem;
}

/* active */
.hamburger.active span:nth-child(1) {
top: 1.9rem;
transform: translateX(-50%) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
opacity: 0;
}

.hamburger.active span:nth-child(3) {
top: 1.9rem;
transform: translateX(-50%) rotate(-45deg);
}

/* -----------------------------------------
SP
----------------------------------------- */
@media screen and (max-width: 950px) {
.header__logo img {
width: 25rem;
}
.hamburger {
display: block;
}
.header__drawer {
position: fixed;
top: 0;
right: -100%;
width: 32rem;
height: 100vh;
padding: 10rem 2rem;
background: url(../img/band.jpg) no-repeat center center / cover;
transition: 0.4s;
}
.header__drawer.active {
right: 0;
}
.header__ctaWrap {
flex-direction: column;
}
.header__btn {
width: 100%;
}
}

/* -----------------------------------------
 section fv
------------------------------------------- */
.fv {
width: 100%;
max-width: 128rem;
padding-top: 8rem;
margin: 0 auto;
}
.fv img {
display: block;
width: 100%;
height: auto;
}

/* -----------------------------------------
section about
----------------------------------------- */
.about {
padding: 4rem 2rem;
position: relative;
margin: 0 auto 6rem;
max-width: 128rem;
}

.about-frame {
display: flex;
gap: 1rem;
margin-bottom: 4rem !important;
}

.about-frame > .box {
flex: 1 1 0;
min-width: 0;
padding: 2rem 1rem;
border: 2px solid #2d0094;
border-radius: 2rem;
background: #ffffff;
}

.box {
text-align: center;
}

.box img {
margin-bottom: 1rem;
}

.box-title {
color: #2d0094;
font-weight: bold;
}

.box-text {
line-height: 1.8;
padding: 2rem;
}

/* -----------------------------------------
 section scs
------------------------------------------- */
.bg {
width: 100%;
background-color: #def4ff;
}

.scs {
width: 100%;
max-width: 128rem;
margin: 0 auto;
padding: 4rem 2rem;
}

.star-table {
border: 2px solid #2d0094;
overflow: hidden;
width: 100%;
border-collapse: collapse;
margin-bottom: 4rem !important;
}

.star-table th,
.star-table td {
padding: 2rem;
border: 2px solid #2d0094;
background-color:#ffffff;
font-size: 1.8rem;
ine-height: 1.8;
}

.star-table td.bold {
font-size: 3rem;
font-weight: bold;
color: #2d0094;
}

.scs-frame {
display: flex;
flex-wrap: wrap;
gap: 1rem;
margin-bottom: 4rem !important;
}

.scs-frame > .box {
flex: 0 0 calc(50% - 0.5rem);
max-width: calc(50% - 0.5rem);
padding: 2rem 1rem;
border: 2px solid #2d0094;
border-radius: 2rem;
background: #ffffff;
}

.box {
text-align: center;
}

.box img {
margin-bottom: 1rem;
}

.box-title {
color: #2d0094;
font-weight: bold;
}

.box-text {
line-height: 1.8;
padding: 2rem;
}

.scr-after {
padding: 2rem;
border: 2px solid #2d0094;
border-radius: 2rem;
background: #ffffff;
margin-bottom: 4rem !important;
font-size: 1.8rem;
line-height: 1.8;
}



/* -----------------------------------------
section menu
----------------------------------------- */
.menu {
padding: 4rem 2rem;
position: relative;
margin: 0 auto 6rem;
max-width: 128rem;
}

.menu-frame {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}

.menu-frame > .box {
flex: 0 0 calc(33.333% - 0.667rem);
max-width: calc(33.333% - 0.667rem);
padding: 2rem 1rem;
border: 2px solid #2d0094;
border-radius: 2rem;
background: #ffffff;
}

.box {
text-align: center;
}

.box img {
margin-bottom: 1rem;
}

.box-title {
color: #2d0094;
font-weight: bold;
}

.box-text {
line-height: 1.8;
padding: 2rem;
}

/* -----------------------------------------
 section line
------------------------------------------- */
.line {
width: 100%;
background-color: #2d0094;
}

.message {
width: 100%;
max-width: 128rem;
margin: 0 auto;
color: #ffffff;
padding: 4rem ;
font-size: 3.0rem;
font-weight: bold;
line-height: 1.8;
text-align: center;
}



































/* -----------------------------------------
 footer
------------------------------------------- */

footer{
padding: 2rem 1rem 1rem 1rem;
text-align: center;
background-color: #2d0094;
}
.ft-link{
margin-bottom: 2rem;
padding: 0;
font-size: 1.5em;
}
.ft-link li{
display: inline;
line-height: 2;
}
.ft-link li+li{
margin-left: 2em;
}
.ft-link li a{
white-space: nowrap;
color: #ffffff;
}
.ft-logo{
margin-top: 1.5rem;
margin-bottom: 10px;
}
.ft-logo a{
display: inline-block;
}
.ft-logo img{
width: 13rem;
height: auto;
}
.copyright {
margin-top: 1rem;
font-size: 1.4rem;
color: #ffffff;
}


/* -----------------------------------------
 cookie
------------------------------------------- */
.lftracking-popup {
z-index: 50;
}



@media screen and (max-width: 1099px) {
/* -----------------------------------------
 余白
------------------------------------------- */
.inner {
width: 100%;
padding: 7.5rem 2rem;
}
}


/* -----------------------------------------
 form
------------------------------------------- */
td{box-sizing: border-box;}
table.items td.label {
display: block;
float: none;
width: 100%;
height: auto;
padding: 0.7em;
border-top: 1px solid #ccc;
border-bottom: none;
}
span.required {
float: right;
}
p.required_msg {
font-size:90%;
}
table.items td.value {
display: block;
float: none;
width: 100%;
padding: 1em;
font-size: 1.2rem;
border-bottom: none;
}
table.items td.comment {
display: block;
float: none;
width: 100%;
padding: 0 1em 1em;
font-size: 1.2rem;
border-bottom: none;
}
table.items tr:first-child td {
border-top: none;
}
table.items tr:first-child td.label {
border-top: 1px solid #ccc;
}
.form_box input[type="text"]{
font-size: 16px;
width: 100% !important;
box-sizing: border-box;
}
.form_box span.label_name + input[type="text"] {
width: 35% !important;
}
.form_box textarea {
width: 100%;
height: 10rem;
box-sizing: border-box;
}
.form_box div.button_area {
width: 100%;
margin-top: 4rem;
}
.form_box div.message {
margin: 0 0 3rem;
font-size: 1.4rem;
}
.form_box input[type=button] {
min-width: 14rem;
margin: 0 .5rem;
letter-spacing: .1rem;
}
.form_box span.label_name {
padding-right: .8em;
font-size: 1.5em;
}
.form_box span.label_name {
padding-right: .5rem;
color: inherit;
font-size: 1.5rem;
font-weight:normal;
}
.form_box .privacy_policy {
margin: 1rem 0;
text-align: left;
}
.privacy-text-master{ line-height: 1.5 !important;
}
.form_box div.container {
width: auto;
border: none;
font-size: 1.5rem;
background: #ffffff;
}
