@charset "utf-8";
/* 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; vertical-align:baseline; background:transparent;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;} ol, ul {list-style: none;} blockquote, q {quotes:none;} blockquote:before, blockquote:after,q:before, q:after {content:''; content:none;} table {border-collapse:collapse; border-spacing:0;} hr {display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0;} input, select {vertical-align:middle;}

/* Base
******************************/
html {
  font-family: 'Noto Sans JP', sans-serif;
  font-optical-sizing: auto;
  font-weight:normal;
  font-style: normal;
  font-size: 62.5%;
  line-height: 1.7;
  color: #444;
}
body {font-size: 1.6rem;}
a {background:transparent; margin:0; padding:0; vertical-align:baseline; text-decoration: none; color: #212529;}
a:hover {text-decoration: underline;}
a.link_icon{margin: 0 0.5rem 0; text-decoration: none; color: #DC143C;}
a.link_icon:visited{color: #212529;}
a.link_icon:hover{color: #862e9c;}
p.txt_c{text-align: center;}

@media only screen and (max-width:640px){
  .sp-br:before{content: "\A"; white-space: pre;}
}
@media only screen and (max-width:800px){
  .sp-none{display: none;}
}

* {box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box;}
header, div.frame, footer{width: 100%!important;}
section{width: 100%; padding: 0 2% 0;}
section.plus{width: 100%; padding: 0 2% 7rem;}
section.plus_s{width: 100%; padding: 0 2% 4rem;}
p.object{width: 100%; padding: 0 0 4rem; text-align: center;}

@media only screen and (min-width:1200px){
  section{width: 1200px; margin: 0 auto;}
  section.plus{width: 1200px; margin: 0 auto 12rem;}
  section.plus_s{width: 1200px; margin: 0 auto 0rem;}
}

table{width: 100%; margin: 0; border: 1px solid #ddd; letter-spacing: 0.3rem;}
table th, table td{padding: 2rem 1rem; border-bottom: 1px solid #ddd;}
table th{background: #fafafa; width: 30%; text-align: left; vertical-align: middle; font-weight: normal;}
@media only screen and (max-width:800px){
  table th, table td{width: 100%; display: block; padding: 0.75rem 1rem; border: none;}
  table th{border: none;}
}


/* Header
******************************/
#header_logo{padding: 1rem 0 0 1rem;}
#header_logo_link{border: none;}
#header_logo_img{width: 240px;}

@media only screen and (max-width: 1023px) {
  .nav {position: fixed; right: -320px; top: 0; width: 300px; height: 100vh; padding: 6rem 0 0; background-color: #fff; transition: all .6s; z-index: 200; overflow-y: auto;}
  .hamburger {position: absolute; right: 15px; top: 16px; width: 48px; height: 48px; cursor: pointer; z-index: 300;}
  .nav_list {margin: 0; padding: 0;}
  .nav_item {padding: 0 14px;}
  .nav_item a {display: block; padding: 8px 0; border-bottom: 1px solid #eee; text-decoration: none;}
  .nav_item a:hover{background: #eee;}
  .hamburger_border {position: absolute; left: 11px; width: 22px; height: 2px; background-color: #333; transition: all .6s;}
  .hamburger_border_top {top: 12px;}
  .hamburger_border_center {top: 22px;}
  .hamburger_border_bottom {top: 32px;}
  .black_bg {position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 100; background-color: #333; opacity: 0; visibility: hidden; transition: all .6s; cursor: pointer;}
  .nav-open .nav {right: 0;}
  .nav-open .black_bg {opacity: .8; visibility: visible;}
  .nav-open .hamburger_border_top {transform: rotate(45deg); top: 20px;}
  .nav-open .hamburger_border_center {width: 0; left: 50%;}
  .nav-open .hamburger_border_bottom {transform: rotate(-45deg); top: 20px;}
}
@media only screen and (min-width: 1024px) {
  #header_inner{display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1600px; margin: 0 auto;}
  #header_logo_img{width: 348px;}
  .nav_list{display: flex; align-items: center; gap: 0.3rem; padding-right: 0.5rem;}
  .nav_list li a{border: 1px solid #DC143C; border-radius: 4rem; margin-left: 2rem; padding: 0.75rem 1.6rem; color: #DC143C;}
  .nav_list li a:hover{background: #DC143C; color: #fff!important; text-decoration: none;}
}
@media only screen and (min-width: 1440px) {
  #header_logo_img{width: 240px;}
  .nav_list{gap: 1.6rem; letter-spacing: 0.15rem;}
  .nav_list li a{padding: 0.75rem 2.4rem;}
  
}

/* Footer
******************************/
footer{background: #212529; width: 100%!important; color: #fff;}
#footer_logo{padding: 3.2rem 0 1.6rem; text-align: center;}
#footer_menu_sns{display: flex; justify-content: center; gap: 1.6rem; padding: 0 0 1.5rem; }
#footer_menu_sns li a{display: block; font-size: 2.4rem; color: #fff;}
#footer_menu {padding: 0 0.5rem 1.5rem;}
#footer_menu li a{display: block; padding: 0.75rem 0 0.75rem 1rem; border-bottom: 0.1rem solid #444; text-decoration: none; color: #fff;}
#footer_copyright{background: #191919; width: 100%; padding: 1.6rem 0; text-align: center; font-size: 1.2rem; letter-spacing: 0;}

@media only screen and (min-width:960px){
  #footer_menu{display: flex; justify-content: center; padding: 0 0 1.6rem;}
  #footer_menu li a{border: none;}
  #footer_menu li a:hover{text-decoration: underline;}
}

/* Title
******************************/
h1,h2,h3,h4,h5,h6{z-index: -1;}

h1{font-size: 3.2rem; font-weight: bold;}
h2{font-size: 2.8rem; font-weight: bold;}

h2.left_ttl{position: relative; margin-bottom: 1.6rem; font-size: 2.4rem; font-weight: bold;}
h2.left_ttl:after{width: 12rem; content: ""; border-bottom: 0.7rem solid #DC143C; position: absolute; top:0; left: 0; right: 0; bottom: -10px;}


h2.center_ttl{position: relative; margin-bottom: 4rem; text-align: center; font-size: 2.4rem; font-weight: bold;}
h2.center_ttl:after{position: absolute; top:0; left: 0; right: 0; bottom: -10px; width: 7rem; content: ""; border-bottom: 0.7rem solid #DC143C; margin: auto;}


h3.left_ttl{position: relative; margin-bottom: 1.6rem; font-size: 2.8rem; font-weight: bold;}
h3.left_ttl:after{width: 12rem; content: ""; border-bottom: 0.7rem solid #DC143C; position: absolute; top:0; left: 0; right: 0; bottom: -7px;}
h3.center_ttl{position: relative; margin-bottom: 4rem; text-align: center; font-size: 2.8rem; font-weight: bold;}
h3.center_ttl:after{position: absolute; top:0; left: 0; right: 0; bottom: -10px; width: 7rem; content: ""; border-bottom: 0.7rem solid #DC143C; margin: auto;}
h3.center_ttl_w{position: relative; margin-bottom: 4rem; text-align: center; font-size: 2.8rem; font-weight: bold; color: #fff;}
h3.center_ttl_w:after{position: absolute; top:0; left: 0; right: 0; bottom: -10px; width: 70px; content: ""; border-bottom: 7px solid #fff; margin: auto;}

h3{font-size: 2.4rem; font-weight: bold;}
h3.info_ttl{margin: 0 0 1.4rem; font-size: 2.4rem; font-weight: bold;}
h3.normal{font-size: 3.6rem; font-weight: bold; color: #DC143C;}



@media only screen and (min-width:960px){
  h2.left_ttl{font-size: 2.8rem;}
  h2.center_ttl{margin-bottom: 7rem; font-size: 2.8rem;}
}




/* Btn
******************************/
.btn_cover{clear: both; margin: 1.5rem 0 1.5rem; text-align: center;}
.btn_detail{display: inline-block; background: #DC143C; padding: 1.2rem 3.4rem; border-radius: 0.5rem; text-align: center; text-decoration: none; color: #fff;}
.btn_detail:hover{background: #fff; border: 1px solid #DC143C; color: #DC143C; text-decoration: none;}

/* Parts
******************************/

/* intro */
article.intro{clear: both; display: inline-block; width: 100%; margin: 0 0 7rem 0;}
p.left-ttl_sub{margin: 0 0 2rem 0;}

img.intro_img_r,
img.intro_img_l{width: 100%;}
@media only screen and (min-width:641px){
  img.intro_img_r{float: right; width: 280px; padding: 0 0 1rem 2rem;}
  img.intro_img_l{float: left; width: 280px; padding: 0 2rem 1rem 0;}
}

@media only screen and (min-width:960px){
  article.intro{margin: 0 0 12rem 0;}
  p.left-ttl_sub{margin: 0 0 40px 0;}
  img.intro_img_r{float: right; width: 420px; padding: 0 0 2rem 4rem;}
  img.intro_img_l{float: left; width: 420px; padding: 0 4rem 2rem 0;}
}

/* info */
a.info_click{display: inline-block; text-decoration: none;}
a.info_click:hover{background: #f1f3f5;}
article.info{clear: both; margin: 0 0 4rem 0;}
.info_img{width: 100%;}

@media only screen and (min-width:601px){
  .info_img{float: left; width: 200px; padding: 0 3rem 1.5rem 0;}
}

/* table */
table.inq_table{width: 90%; margin: 4rem auto 4rem;}

@media screen and (max-width: 767px) {
  table.inq_table{width: 98%; margin: 4rem auto 4rem;}
}
/* 必須・任意 */
span.dan{background: #DC143C; margin: 0 0.75rem 0 0; padding: 0 0.5rem 0 0.75rem; font-size: 1.4rem; color: #fff;}
span.opt{background: #999999; margin: 0 0.75rem 0 0; padding: 0 0.5rem 0 0.75rem; font-size: 1.4rem; color: #fff;}

/* form */
.sbox {display: inline-flex; align-items: center; position: relative;}
.sbox::after {position: absolute; right: 15px; width: 10px; height: 7px; background-color: #535353; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ''; pointer-events: none;}
.sbox select {appearance: none; min-width: 280px; /*height: 2.8em;*/ padding: .4em calc(.8em + 30px) .4em .8em; border: 1px solid #d0d0d0; border-radius: 3px; background-color: #fff; color: #333333; font-size: 1.6rem; cursor: pointer;}
.tbox-label, .tbox { color: #333;}
.tbox-label {display: block; margin-bottom: 5px; font-size: .9em;}
.tbox {width: 100%; padding: 8px 10px; border: 1px solid #d0d0d0; border-radius: 3px; font-size: 1.6rem; line-height: 1.5;}
.tbox::placeholder {color: #999;}
textarea{width: 100%; border: 1px solid #d0d0d0;}
button.submit_btn, button.return_btn{text-decoration: none; border: none!important; border-radius: 3px; padding: 1.2rem 2.4rem; font-weight: bold; text-align: center; font-size: 1.6rem; letter-spacing: 0.15rem;}
button.submit_btn{background-color: #DC143C!important; color: #fff;}
button.return_btn{background-color: #212529!important; margin-right: 2rem; color: #fff;}
button.submit_btn::after{font-family: "Font Awesome 6 Free"; content:'\f105'; font-weight: 900; padding-left: 1.2rem;}
button.return_btn::before{font-family: "Font Awesome 6 Free"; content:'\f104'; font-weight: 900; padding-right: 1.2rem;}
button.submit_btn::hover{opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";}
a.return_top{background-color: #DC143C!important; text-decoration: none; border: none!important; border-radius: 3px; padding: 1.2rem 2.4rem; font-weight: bold; text-align: center; font-size: 1.6rem; letter-spacing: 0.15rem; color: #fff;}
a.return_top::after{font-family: "Font Awesome 6 Free"; content:'\f105'; font-weight: 900; padding-left: 1.2rem;}
a.return_top::hover{opacity: 0.7; filter: alpha(opacity=70); -ms-filter: "alpha(opacity=70)";}

/* Maker List
******************************/
.member_area{
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

.member_area_ob{
  width: 100%;
  margin-bottom: 5rem;
  font-weight: bold;
}

ul.member_list_1, ul.member_list_2, ul.member_list_3{margin: 1.5rem 0 0;}
ul.member_list_1, ul.member_list_2{display: flex; justify-content: space-between;}

ul.member_list_1 a{
  display: block;
  width: 48%;
  background: #fd7e14;
  padding: 1.25rem 0;
  border-radius: 0.75rem;
  color: #fff;
}

ul.member_list_2 a{
  display: block;
  width: 48%;
  background: #339af0;
  padding: 1.25rem 0;
  border-radius: 0.75rem;
  color: #fff;
}

ul.member_list_3{display: flex;}

ul.member_list_3 a{
  display: block;
  width:100%;
  background: #f06595;
  padding: 1.25rem 0;
  border-radius: 0.75rem;
  color: #fff;
}



@media only screen and (min-width:641px){
  .member_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
  }

  .member_area_ob{width: 30%;}
}


/* Maker List
******************************/
ul.maker-list{margin: 0 0 3rem;}
ul.maker-list li{display: inline-block; margin:0 3rem 0 0; line-height: 1.7;}
ul.maker-list li:before{content: '>'; margin-right: 0.5rem; color: #DC143C;}

/*
ul.maker-list li:before{content: '>'; margin-right: 0.5rem; color: #DC143C;}
*/

/* QA List
******************************/
div.qa_list_box{padding: 20px 0;}
dl.qa_list dt{font-weight: bold;}
dl.qa_list dt::first-letter{font-size: 2.8rem; color: #0000CD; letter-spacing: 0.25rem;}
dl.qa_list dd::first-letter{font-size: 2.8rem; font-weight: bold; color: #DC143C; letter-spacing: 0.25rem;}

/* コース
******************************/
.tbl-r05 th {
  width: 25%;
}
@media screen and (max-width: 640px) {
  .tbl-r05 {
    width: 100%;
  }
  .tbl-r05 .thead {
    display: none;
  }
  .tbl-r05 tr {
    width: 100%;
  }
  .tbl-r05 td {
    display: block;
    text-align: right;
    width: 100%;
  }
  .tbl-r05 td:first-child {
    background: #EEE;
    color: #fff!important;
    font-weight: bold;
    text-align: center;
  }
  .tbl-r05 td:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 10px;
  }
}


/* メインビジュアル
******************************/
#hero_back{
  background: #DC143C;
  margin: 0 0 12rem;
  padding: 5rem 0;
}
div.hero_v{
  background: #fff;
  padding: 2rem 0;
  text-align: center;
  font-weight: bold;
}

.hero_target{
  background: #DC143C;;
  padding: 0.5rem 2.4rem;
  border-radius: 2rem;
  line-height: 2.4;
  font-size: 1.6rem;
  color: #fff;;
  letter-spacing: 0.15rem;

}
.hero_h1{font-size: 1.8rem;}
.hiro_now{font-size: 3.6rem; line-height: 1.2; color: #DC143C; }
.hero_img{width: 240px; padding-top: 1.5rem;}

@media screen and (min-width: 640px) {
  .hero_h1{font-size: 2.4rem;}
  .hiro_now{font-size: 4.8rem;}
  .hero_img{width: 320px; padding-top: 1.5rem;}
}


.sns_icon{margin-top: 2rem;}
.sns_icon li{display: inline-block;}
.sns_icon li a{
  display: block;
  padding: 0.75rem 4.2rem 0.5rem; 
  border-radius: 2rem;
  color: #FFF;
}

.sns_icon li a i{font-size: 2.4rem;}

.sns_x{
  background: #000;
}
.sns_i{  background: #CF2E92;
}









article.terms{
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}

article.terms ul li{line-height: 2;
}

article.terms ul li:before{
  font-family: "Font Awesome 6 Free";
  content:'\f00c'; 
  font-weight: 900; 
  padding-right: 1.2rem;
  color: #DC143C;
}


