@charset "UTF-8";
:root{
  --color01:#0A0A0A;
  --color02:#F63B66;
  --color03:#0082D7;
  --color04:#fff951;
  --color05:#F5F5F5;
  --color06:#309da4;
  --color07:#0f1388;
}

:root{
  --font-family01:"Noto Sans JP", sans-serif;
  --font-family02:"Oswald", sans-serif;
}

:root{
  --width01:1280px;
  --width02:1080px;
}

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,
main,
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;
}

html{
  -webkit-text-size-adjust:100%;
  margin-top:0 !important;
  scroll-behavior:smooth;
  scroll-padding-top:13.3333333333vw;
}

body{
  line-height:1;
  padding-top:13.3333333333vw;
}
body.--unscrollable{
  overflow:hidden;
}

main{
  display:block;
}

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

ul,
ol{
  list-style:none;
}

blockquote,
q{
  quotes:none;
}

blockquote:before,
blockquote:after,
q:before,
q:after{
  content:"";
  content:none;
}

a{
  text-decoration:none;
  color:inherit;
  outline:0;
  cursor:pointer;
}

table{
  border-collapse:collapse;
  border-spacing:0;
  width:100%;
}

input,
textarea,
select,
button{
  color:inherit;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  border-radius:0;
  border:none;
  -webkit-appearance:none;
  appearance:none;
  background:none;
  outline:0;
}

textarea{
  resize:vertical;
  display:block;
}

button{
  padding:0;
  border:none;
  background:none;
  outline:0;
  cursor:pointer;
}

img{
  max-width:100%;
  vertical-align:bottom;
}

svg{
  vertical-align:bottom;
}

h1,
h2,
h3,
h4,
h5,
h6{
  font-weight:normal;
}

address,
caption,
cite,
code,
dfn,
em,
th,
td,
var{
  font-style:normal;
  font-weight:normal;
}

strong{
  font-weight:bold;
}

*{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  box-sizing:border-box;
}

*::before,
*::after{
  box-sizing:border-box;
}

*{
  box-sizing:border-box;
}

html{
  font-size:min(2.6666666667vw, 12.8px);
}
body{
  position:relative;
  min-width:320px;
  color:var(--color01);
  font-family:var(--font-family01);
  font-size:1.6rem;
  font-weight:400;
  line-height:1.2;
  font-feature-settings:"palt";
  -webkit-text-size-adjust:100%;
}

main{
  overflow:hidden;
}

picture,
img{
  display:block;
}

img{
  width:auto;
  height:auto;
}

sup{
  font-size:70%;
  vertical-align:super;
}

*:focus{
  outline:none;
}
.pc_only{
  display:none;
}
.sp_only{
  display:block;
}
.font02{
  font-family:var(--font-family02);
}

.text_red{
  color:var(--color02);
}

.text_blue{
  color:var(--color03);
}

.line_yellow{
  background:var(--color04);
}

.double_circle{
  font-size:150%;
}

.inner01{
  width:100%;
  max-width:calc(1100px + 5.6rem);
  margin:0 auto;
  padding:0 2.8rem;
}

.inner02{
  width:100%;
  max-width:calc(800px + 5.6rem);
  margin:0 auto;
  padding:0 2.8rem;
}

.section01{
  position:relative;
  z-index:0;
  padding:4rem 0;
}
.background01{
  background:var(--color05);
}

.section_title01{
  position:relative;
  width:calc(100% + 5.6rem);
  margin-bottom:3rem;
  margin-left:-2.8rem;
  padding-bottom:1rem;
  font-size:1.9rem;
  font-weight:bold;
  line-height:1.5;
  text-align:center;
}
.section_title01::after{
  content:"";
  position:absolute;
  display:block;
  width:5rem;
  height:2px;
  top:auto;
  right:auto;
  bottom:0;
  left:50%;
  background:var(--color03);
  transform:translateX(-50%);
}
.section_title01 .number{
  margin:0 0.2rem;
  font-size:3.6rem;
  font-weight:500;
  line-height:1;
}
.section_title01:has(+ .section_textWrap01){
  margin-bottom:1.5rem;
}

.section_textWrap01{
  margin-bottom:2rem;
}
.section_text01{
  font-size:1.4rem;
  line-height:1.6;
  text-align:center;
}
.section_text02{
  font-size:1.6rem;
  line-height:1.6;
}
@keyframes telop{
  0%{
    background-position:0 0;
  }
  100%{
    background-position:-10000px 0;
  }
}
.cta_text{
  margin-bottom:0.8rem;
  font-size:1.6rem;
  font-weight:bold;
  text-align:center;
}
.cta_buttonWrap:has(.cta_button_top){
  padding-top:2.2rem;
}
.cta_button{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:31rem;
  min-height:4.5rem;
  margin:0 auto;
  border-radius:4.5rem;
  background:rgb(255, 244, 116);
  background:linear-gradient(90deg, rgb(255, 244, 116) 0%, rgb(255, 244, 116) 30%, rgb(255, 235, 0) 80%, rgb(255, 235, 0) 100%);
  font-size:1.6rem;
  font-weight:bold;
  line-height:1.4;
  box-shadow:0px 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
  cursor:pointer;
  transition:opacity 0.3s;
}
.cta_button::before{
  content:"";
  position:absolute;
  display:block;
  width:2rem;
  height:2rem;
  top:50%;
  right:1.8rem;
  bottom:auto;
  left:auto;
  border-radius:50%;
  background:#fff;
  transform:translateY(-50%);
}
.cta_button::after{
  content:"";
  position:absolute;
  display:block;
  width:0.7rem;
  height:1rem;
  top:50%;
  right:2.3rem;
  bottom:auto;
  left:auto;
  background:var(--color01);
  -webkit-clip-path:polygon(0 0, 0% 100%, 100% 50%);
  clip-path:polygon(0 0, 0% 100%, 100% 50%);
  transform:translateY(-50%);
}
.cta_button_top{
  position:absolute;
  display:block;
  width:auto;
  height:auto;
  top:0.5rem;
  right:auto;
  bottom:auto;
  left:50%;
  padding:0.5rem 1.2rem;
  border-radius:3rem;
  background:#fff;
  font-size:1.2rem;
  font-weight:bold;
  box-shadow:0px 0.3rem 1rem rgba(0, 0, 0, 0.16);
  transform:translate(-50%, -100%);
}
.cta_button_top::before{
  content:"";
  position:absolute;
  display:block;
  width:1rem;
  height:0.5rem;
  top:calc(100% - 1px);
  right:auto;
  bottom:auto;
  left:50%;
  background:#fff;
  -webkit-clip-path:polygon(0 0, 50% 100%, 100% 0);
  clip-path:polygon(0 0, 50% 100%, 100% 0);
  transform:translateX(-50%);
}
.header{
  position:fixed;
  top:0;
  left:0;
  z-index:10;
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
  width:100%;
  height:4.8rem;
  background:#fff;
  box-shadow:0px 0.3rem 0.6rem rgba(0, 0, 0, 0.1);
}
.header_logo{
  display:block;
  width:18.8rem;
  height:1.7rem;
  cursor:pointer;
  transition:opacity 0.3s;
}
.header_nav{
  position:absolute;
  display:block;
  width:auto;
  height:100%;
  top:0;
  right:0;
  bottom:auto;
  left:auto;
}
.header_nav ul{
  display:flex;
  height:100%;
}
.header_button{
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  height:100%;
  padding:0.85rem;
  cursor:pointer;
  transition:opacity 0.3s;
}
.header_button .text{
  font-size:1.3rem;
  font-weight:bold;
}
.header_button .text_tel{
  color:#fff;
  font-size:1.9rem;
  font-weight:600;
}

.header_button .text_tel > span{
  margin-right:0.8rem;
  font-size:1.7rem;
}

.header_button .image{
  width:2rem;
  height:2rem;
}

.header_button--tel{
  min-width:4.6rem;
  background:rgb(101, 173, 245);
  background:linear-gradient(90deg, rgb(101, 173, 245) 0%, rgb(44, 109, 213) 100%);
}

.header_button--contact{
  background:rgb(245, 255, 131);
  background:linear-gradient(90deg, rgb(255, 244, 116) 0%, rgb(255, 244, 116) 30%, rgb(255, 235, 0) 80%, rgb(255, 235, 0) 100%);
}

.footer{
  background-color:#f7f7f7;
}

.footer_inner1{
  align-items:center;
  display:flex;
  height:60px;
  justify-content:center;
  padding-bottom:unset;
  padding-top:unset;
  width:unset;
}
.footer_inner1 ul{
  align-items:center;
  display:flex;
  gap:70px;
  justify-content:center;
}
.footer_inner1 li{
  line-height:1;
  white-space:nowrap;
}

.footer_inner1 li a{
  font-size:14px;
}
.footer_inner2{
  align-items:center;
  background-color:#1a1a1a;
  display:flex;
  height:47px;
  justify-content:center;
  padding-bottom:unset;
  padding-top:unset;
}
.footer_inner2 small{
  color:#fff;
  font-size:12px;
}
.fv{
  position:relative;
  background:rgb(142, 199, 255);
  background:linear-gradient(120deg, rgb(142, 199, 255) 0%, rgb(142, 199, 255) 20%, rgb(33, 109, 186) 80%, rgb(33, 109, 186) 100%);
  font-weight:bold;
  text-align:center;
}
.fv_cont{
  margin-top:-1.5rem;
  padding-bottom:3rem;
}
.fv_image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.fv_title{
  display:inline-block;
  width:auto;
  padding:0.4rem 0.7rem 0.5rem;
  background:#1b489a;
  color:#fff;
  font-size:1.8rem;
  font-weight:bold;
}
.fv_text01{
  margin-bottom:0.5rem;
  color:#fff;
  font-size:1.6rem;
  line-height:1.5;
  letter-spacing:-0.015em;
  text-shadow:0px 0.1rem 0.5rem var(--color03);
}
.fv_text02{
  display:inline-block;
  width:auto;
  margin-bottom:0.3rem;
  padding:0.3rem 0.3rem 0.3rem 1rem;
  background:var(--color02);
  color:#fff;
  font-size:1.3rem;
}
.fv_text02 .number{
  margin:0 0.5rem;
  font-family:var(--font-family02);
  font-size:3.1rem;
  font-weight:500;
}
.fv_text03{
  margin-bottom:0.5rem;
  color:#fff;
  font-size:2.3rem;
  text-shadow:0px 0.1rem 0.6rem rgba(16, 60, 139, 0.5);
}
.fv_text03 .number{
  margin-left:0.2rem;
  font-family:var(--font-family02);
  font-size:3.2rem;
  font-weight:500;
}
.fv_point{
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  gap:1.4rem;
  margin-bottom:0.5rem;
}
.fv_point > li{
  min-width:9rem;
  padding:1rem 1.6rem 0;
  background:url(../top-img/fv_deco01.svg) no-repeat center/contain;
  color:#fff;
  font-size:1.3rem;
}
.about{
  position:relative;
  z-index:0;
  padding:4.5rem 0 6rem;
  text-align:center;
}
.about_inner{
  padding:0 2rem;
}

.about_title{
  margin-bottom:2.4rem;
  font-size:1.8rem;
  font-weight:bold;
}
.about_text01{
  margin-bottom:1rem;
  font-size:2.1rem;
  font-weight:bold;
  line-height:1.6;
}
.about_text01 .large{
  font-size:2.8rem;
}

.about_text02{
  font-size:1.6rem;
  font-weight:bold;
  line-height:1.6;
}
.about_text02 .large{
  font-size:1.8rem;
}
.point_cont{
  display:flex;
  flex-wrap:wrap;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:2.8rem;
  max-width:480px;
  margin:0 auto;
}
.point_card{
  border-radius:1rem;
  box-shadow:0px 0.8rem 1.5rem rgba(0, 0, 0, 0.1);
  overflow:hidden;
}
.point_card_item{
  padding:1.5rem 1.8rem;
}
.point_card_title{
  margin-bottom:1rem;
  font-size:1.8rem;
  font-weight:bold;
  line-height:1.4;
  text-align:center;
}
.point_card_text{
  font-size:1.4rem;
  line-height:1.6;
}
.outline_cont{
  display:flex;
  flex-wrap:wrap;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:3rem;
  max-width:480px;
  margin:0 auto;
}
.outline_card{
  position:relative;
  padding:3rem 2rem;
  border-radius:1rem;
  background:#fff;
  text-align:center;
  box-shadow:0px 0.8rem 1.5rem rgba(0, 0, 0, 0.1);
}
.outline_card_main{
  padding-bottom:1rem;
}
.outline_card_image{
  margin:0 auto 1rem;
}
.outline_card_image--01 img{
  width:19rem;
  height:11.7rem;
  margin:0 auto;
}

.outline_card_image--02 img{
  width:20.5rem;
  height:10.2rem;
  margin:0 auto;
}

.outline_card_image--03 img{
  width:17.2rem;
  height:11.9rem;
  margin:0 auto;
}

.outline_card_title{
  margin-bottom:1.5rem;
  font-size:2.2rem;
  font-weight:bold;
  white-space:nowrap;
}

.outline_card_list{
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:center;
  align-items:stretch;
  gap:1rem;
  margin-bottom:2rem;
}

.outline_card_list > li{
  display:inline-flex;
  align-items:center;
  padding:0.8rem 1.5rem;
  border-radius:0.6rem;
  background:#EDF7FC;
  font-size:1.3rem;
}

.outline_card_list > li:nth-child(2){
  background:#EDF7FC;
}

.outline_card_catch{
  text-align:left;
  min-height:10.5rem;
  line-height:1.4;
  padding:0 1rem;
  margin-bottom:1rem;
}
.outline_card_textWrap{
  border-top:1px solid #d3d3d3;
  padding-top:15px;
}
.outline_card_text01{
  display:flex;
  line-height:1.5;
  gap:10px;
  padding:0;
}
.outline_card_text01 .title{
  white-space:nowrap;
  font-size:1.4rem;
}

.outline_card_text01 ul{
  display:flex;
  gap:1rem;
  flex-flow:wrap;
}

.outline_card_text01 ul li{
  padding:2px 9px;
  background:#FCECEC;
  font-size:1.3rem;
  height:24px;
  border-radius:0.2rem;
}
.outline_card_text01_content > li:nth-child(1),
.outline_card_text01_content > li:nth-child(2),
.outline_card_text01_content > li:nth-child(3){
  width:calc(33.3333333333% - 7px);
}

.outline_card_text01_content > li:nth-child(4),
.outline_card_text01_content > li:nth-child(5),
.outline_card_text01_content > li:nth-child(6){
  width:100%;
}

.outline_card_text02{
  font-size:1.5rem;
  line-height:1.5;
  display:flex;
  text-align:left;
  gap:15px;
  padding:0;
  align-items:center;
}
.outline_card_text02 .title{
  width:8.5rem;
  font-size:1.4rem;
}
.outline_card_text02 .text{
  font-size:1.3rem;
}

.outline_card_text02 .text p{
  border-radius:0.2rem;
  display:block;
  text-align:center;
  background:rgb(246, 244, 217);
  margin-top:5px;
  padding:7px 9px;
}

.outline_card_arrow{
  position:absolute;
  display:block;
  width:11.2rem;
  height:7.5rem;
  top:calc(100% - 1.2rem);
  right:auto;
  bottom:auto;
  left:50%;
  z-index:1;
  padding-top:1.2rem;
  background:url(../top-img/outline_arrow_under01.svg) no-repeat center/contain;
  font-size:1.5rem;
  font-weight:bold;
  transform:translateX(-50%);
}
.type_tab{
  position:relative;
  z-index:-3;
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:center;
  align-items:stretch;
  gap:1.3rem;
}
.type_tab_item{
  width:16rem;
  padding:1rem 1.5rem;
  border-radius:1rem 1rem 0 0;
  font-size:1.7rem;
  font-weight:bold;
  text-align:center;
  cursor:pointer;
}
.type_tab_item::after{
  content:"";
  position:absolute;
  display:block;
  width:100%;
  height:2px;
  top:auto;
  right:auto;
  bottom:0;
  left:0;
  z-index:-1;
  opacity:0;
}
.type_tab_item:nth-child(1){
  border-bottom:2px solid #EDF7FC;
  background:#EDF7FC;
  color:var(--color03);
}
.type_tab_item.is-current:nth-child(1){
  background:var(--color03);
  color:#fff;
  border-bottom:2px solid var(--color03);
}

.type_tab_item.is-current:nth-child(2){
  background:var(--color02);
  color:#fff;
  border-bottom:2px solid var(--color02);
}

.type_tab_item:nth-child(1)::after{
}

.type_tab_item:nth-child(2){
  border-bottom:none;
  background:#FFEAEC;
  color:var(--color02);
}
.type_tab_item:nth-child(2)::after{
}

.type_tab_item.is-current::after{
  opacity:1;
}

.type_tab_item:not(.is-current){
  position:relative;
  z-index:-2;
}

.type_tab_cont:first-child{
  border:3px solid var(--color03);
}

.type_tab_cont:nth-child(2){
  border:3px solid var(--color02);
}

.type_tab_cont{
  display:none;
  max-width:calc(480px + 5.6rem);
  margin:0 auto;
  padding:2rem 0;
}
.type_tab_cont.is-active{
  display:block;
}

.type_recommend{
  margin-bottom:2rem;
  padding-left:2.5rem;
}
.type_recommend_item01{
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
  gap:1.6rem;
  margin-bottom:0.5rem;
}
.type_recommend_item01 img{
  width:7rem;
  height:7rem;
}
.type_recommend_text{
  font-size:1.6rem;
  font-weight:bold;
}
.type_recommend_list{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:0.8rem;
}
.type_recommend_list > li{
  position:relative;
  padding-left:3rem;
  font-size:1.8rem;
  font-weight:bold;
  line-height:1.6;
}
.type_recommend_list > li::before{
  content:"";
  position:absolute;
  display:block;
  width:2.1rem;
  height:1.6em;
  top:0;
  right:auto;
  bottom:auto;
  left:0;
  background:url(../top-img/icon_check01.svg) no-repeat center/contain;
}
.type_flow{
  margin-bottom:2rem;
}
.type_flow_head{
  padding:1.2rem 2rem;
  background:#467BDB;
  color:#fff;
}
.type_flow_main{
  padding:1.6rem 0.8rem 1.6rem 1.2rem;
  background:#E7ECF5;
}
.type_flow_text01{
  margin-bottom:0.5rem;
  font-size:2rem;
  font-weight:bold;
  text-align:center;
}
.type_flow_text02{
  font-size:1.2rem;
  line-height:1.5;
}
.type_price{
  margin-bottom:2rem;
  padding:2rem 1.5rem;
  background:#FCECEC;
}

.type_price_blue{
  background:#EDF7FC;
}
.type_price_item01{
  margin-bottom:2rem;
  text-align:center;
}

.type_price_text01{
  padding-top:1.5rem;
  font-size:1.3rem;
  font-weight:bold;
}
.type_price_text01 .number{
  position:relative;
  top:0.2rem;
  margin:0 0.2rem;
  color:var(--color02);
  font-family:var(--font-family02);
  font-size:5rem;
  font-weight:500;
  line-height:1;
}
.type_price_text01 .number .top{
  position:absolute;
  display:block;
  width:auto;
  height:auto;
  top:0;
  right:auto;
  bottom:auto;
  left:0;
  color:var(--color01);
  font-family:var(--font-family01);
  font-size:1.5rem;
  font-weight:bold;
  transform:translateY(-0.3rem);
}
.type_price_icon{
  display:table;
  position:relative;
  padding:0.85rem 2rem;
  min-width:15em;
  border:2px solid currentColor;
  color:#fff;
  font-size:16px;
  font-weight:bold;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
  transition:0.5s;
  background:var(--color02);
  width:38rem;
  line-height:1;
  margin:2rem auto 0;
}
.type_price_icon::after{
  position:absolute;
  top:50%;
  right:1em;
  width:0.5em;
  height:0.5em;
  transform:translateY(-50%) rotate(45deg);
  border-right:2px solid currentColor;
  border-top:2px solid currentColor;
  content:"";
}

.type_price_icon:hover{
  border:2px solid var(--color03);
  background-color:var(--color03);
  color:#fff;
}

.type_price_text02{
  margin-bottom:1rem;
  font-size:1.5rem;
  font-weight:bold;
}
.type_price_list{
  margin-bottom:1rem;
}

.type_price_list > li{
  font-size:1.2rem;
  line-height:1.6;
}
.type_price_button{
  color:var(--color03);
  font-size:1.2rem;
  text-decoration:underline;
  cursor:pointer;
  cursor:pointer;
  transition:opacity 0.3s;
}
.comparison{
  background:#EDF7FC;
}

.course_set_inner{
  padding:0 1.6rem;
  margin-bottom:7rem;
}

.comparison_note{
  font-size:1.1rem;
  text-align:center;
}
.comparison_table{
  table-layout:fixed;
  max-width:480px;
  margin:0 auto 2rem;
  border-radius:0.5rem;
  background:#fff;
  font-size:1.35rem;
  box-shadow:0px 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}
.comparison_table tr:last-child td:nth-child(2){
  border-bottom:3px solid var(--color02);
}

.comparison_table th,
.comparison_table td{
  vertical-align:middle;
}

.comparison_table th:nth-child(2),
.comparison_table td:nth-child(2){
  border-right:3px solid var(--color02);
  border-left:3px solid var(--color02);
}

.comparison_table th:nth-child(4),
.comparison_table td:nth-child(4){
  border-left:1px solid #d1d1d1;
}

.comparison_table th{
  font-weight:bold;
}

.comparison_table thead th{
  background:none;
}
.comparison_table thead th:nth-child(2){
  position:relative;
  z-index:0;
  width:9.8rem;
  padding:0.6rem;
  background:var(--color02);
  color:#fff;
  font-size:1.2rem;
}
.comparison_table thead th:nth-child(2)::before{
  content:"";
  position:absolute;
  display:block;
  width:calc(100% + 6px);
  height:1rem;
  top:auto;
  right:auto;
  bottom:calc(100% - 0.6rem);
  left:-3px;
  z-index:-1;
  border-radius:0.5rem 0.5rem 0 0;
  background:var(--color02);
}
.comparison_table tbody tr:nth-child(odd) th,
.comparison_table tbody tr:nth-child(odd) td{
  background:#f7f7f7;
}

.comparison_table tbody th,
.comparison_table tbody td{
  padding:0.6rem;
}
.comparison_table tbody th{
  text-align:left;
}
.comparison_table tbody td{
  text-align:center;
}

.comparison_table tbody td .mark{
  display:block;
  font-family:monospace;
  font-weight:bold;
}
.support_cont{
  display:flex;
  flex-wrap:wrap;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:3.5rem;
  max-width:480px;
  margin:0 auto;
}
.support_item01{
  position:relative;
}
.support_item01::after{
  content:"";
  position:absolute;
  display:block;
  width:4rem;
  height:1.6rem;
  top:calc(100% + 0.9rem);
  right:auto;
  bottom:auto;
  left:50%;
  -webkit-clip-path:polygon(50% 100%, 0 0, 100% 0);
  clip-path:polygon(50% 100%, 0 0, 100% 0);
  background:var(--color01);
  transform:translateX(-50%);
}
.support_box{
  border-radius:1rem;
  box-shadow:0px 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
  overflow:hidden;
}

.support_box_head{
  padding:1.4rem 0 1.5rem;
  background:var(--color01);
  color:#fff;
  font-size:1.7rem;
  font-weight:bold;
  text-align:center;
}

.support_box_head .number{
  margin-right:1rem;
  font-size:2.2rem;
}

.support_box_main{
  padding:2.5rem 2.5rem 2rem;
}
.support_box_column + .support_box_column{
  margin-top:3rem;
}
.support_box_image{
  margin-bottom:1.5rem;
}
.support_box_title{
  margin-bottom:1rem;
  font-size:1.7rem;
  font-weight:bold;
}

.support_box_list > li{
  font-size:1.6rem;
  line-height:1.6;
}

.voice_cont{
  display:flex;
  flex-wrap:wrap;
  flex-direction:row;
  justify-content:flex-start;
  align-items:flex-start;
  gap:4rem;
  max-width:480px;
  margin:0 auto;
}
.voice_card{
  position:relative;
  padding:3rem 3rem 2rem;
  border-radius:1.6rem;
  background:#fff;
  box-shadow:0px 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.voice_card_number{
  position:absolute;
  top:0;
  left:-1.2rem;
  display:inline-flex;
  align-items:center;
  width:auto;
  padding:0.6rem 1.5rem 0.6rem 2rem;
  background:var(--color01);
  color:#fff;
  font-size:1.2rem;
  font-weight:500;
  transform:translateY(-50%);
}

.voice_card_number .number{
  position:relative;
  top:-0.2rem;
  margin-left:0.8rem;
  font-size:1.8rem;
  font-weight:400;
}
.voice_card_number::after{
  content:"";
  position:absolute;
  display:block;
  width:1.2rem;
  height:0.8rem;
  top:100%;
  right:auto;
  bottom:auto;
  left:0;
  background:#000;
  -webkit-clip-path:polygon(100% 100%, 0 0, 100% 0);
  clip-path:polygon(100% 100%, 0 0, 100% 0);
}

.voice_card_image{
  margin-bottom:2rem;
}

.voice_card_title{
  margin-bottom:1rem;
  font-size:2rem;
  font-weight:bold;
  text-align:center;
}
.voice_card_title > span{
  font-size:1.6rem;
}

.voice_card_text{
  font-size:1.5rem;
  line-height:1.6;
}
.faq_define > div{
  padding:3rem 0 2rem;
}
.faq_define > div:first-child{
  padding-top:0;
}

.faq_define > div:last-child{
  padding-bottom:0;
}

.faq_define > div + div{
  border-top:1px solid #d3d3d3;
}

.faq_define > div dt{
  position:relative;
  margin-bottom:1rem;
  padding-left:3rem;
  font-size:1.5rem;
  font-weight:bold;
  line-height:1.6;
}
.faq_define > div dt::before{
  content:"Q：";
  position:absolute;
  display:block;
  width:auto;
  height:auto;
  top:-0.3rem;
  right:auto;
  bottom:auto;
  left:0;
  color:var(--color03);
  font-family:var(--font-family01);
  font-size:1.8rem;
  font-weight:bold;
}
.faq_define > div dd{
  position:relative;
  padding-left:3rem;
  font-size:1.5rem;
  line-height:1.6;
}
.faq_define > div dd::before{
  content:"A：";
  position:absolute;
  display:block;
  width:auto;
  height:auto;
  top:-0.3rem;
  right:auto;
  bottom:auto;
  left:0;
  color:var(--color02);
  font-family:var(--font-family01);
  font-size:1.8rem;
  font-weight:bold;
}
.contact{
  padding-top:5rem;
  background:#2b63c7;
}
.contact_title{
  margin-bottom:1rem;
  color:#fff;
  font-size:2rem;
  font-weight:bold;
  line-height:1.5;
  letter-spacing:0.025em;
  text-align:center;
}
.contact_text{
  color:#fff;
  font-size:1.2rem;
}
.contact_cont{
  padding:4rem 2rem 3rem;
  background:#fff;
}
.contact .form_wrapper{
  margin-bottom:2rem;
}
.contact .form_wrapper .label{
  position:relative;
  display:inline-block;
  margin-bottom:0.8rem;
  font-size:1.5rem;
  font-weight:bold;
}
.contact .form_wrapper .label::before{
  content:"任意";
  position:relative;
  top:-0.1rem;
  display:inline-block;
  margin-right:0.6rem;
  padding:0.3rem 0.4rem;
  border:1px solid #4a4a4a;
  border-radius:0.4rem;
  color:#4a4a4a;
  font-size:1rem;
}
.contact .form_wrapper .label--necessary::before{
  content:"必須";
  border:1px solid var(--color02);
  color:var(--color02);
}

.contact .form_wrapper input,
.contact .form_wrapper textarea{
  width:100%;
  padding:1.1rem 1.6rem;
  border-radius:0.8rem;
  background:#f0f0f0;
  font-size:1.8rem;
  line-height:1.6;
}

.contact .form_wrapper input::placeholder,
.contact .form_wrapper textarea::placeholder{
  color:#989898;
}

.contact .form_wrapper textarea{
  height:12rem;
}
.contact .form_submit{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin-bottom:1.5rem;
  font-size:1.2rem;
  text-align:center;
}
.contact .form_submit input{
  width:1.8rem;
  height:1.8rem;
  margin:0 1rem 0 0;
  -webkit-appearance:auto;
  appearance:auto;
}

.contact .form_submit a{
  position:relative;
  color:var(--color03);
  text-decoration:underline;
  cursor:pointer;
  transition:opacity 0.3s;
}
.contact .form_submit a::after{
  content:"";
  display:inline-block;
  width:1.3rem;
  height:1em;
  margin:0 0.4rem 0 0.4rem;
  background:url(../top-img/icon_blank01.svg) no-repeat center/contain;
}

.course_set_warp h2{
  text-align:center;
  font-weight:bold;
  font-size:2rem;
  padding-bottom:1rem;
}
.course_set_warp{
  background:#e6f2f5;
  padding:15px 10px;
  margin-bottom:2rem;
}

.course_set{
  background:#fff;
  border-radius:10px;
  padding:20px 10px;
  margin-bottom:1rem;
}
.course_set h3{
  font-size:1.8rem;
  line-height:1.2;
  margin-bottom:8px;
  font-weight:bold;
  color:var(--color06);
}
.course_set h3 p{
  font-size:1.4rem;
  text-align:left;
  color:#333;
  font-weight:normal;
  margin-top:5px;
  line-height:1.2;
}
.set_02 .course_set_title h3{
  color:var(--color03);
}

.set_03 .course_set_title h3{
  color:var(--color07);
}

.course_set .course_set_title{
  max-width:900px;
  text-align:left;
  margin:0 auto;
  padding-bottom:5px;
}
.course_set .price span{
  font-size:60%;
  font-weight:bold;
}
.price_table_wrap table{
  border-collapse:collapse;
  margin:0 auto;
  padding:0;
  max-width:900px;
  table-layout:fixed;
}

.price_table_wrap table tr{
  background-color:#e6f2f5;
  padding:0.35em;
  border-bottom:2px solid #fff;
}

.price_table_wrap table th,
.price_table_wrap table td{
  padding:10px 3px;
  border-right:2px solid #fff;
}
.price_table_wrap table th{
  font-size:12px;
  font-weight:bold;
}
.price_table_wrap table thead tr{
  background:var(--color06);
  color:#fff;
}

.set_02 .price_table_wrap table thead tr{
  background:var(--color03);
}

.set_03 .price_table_wrap table thead tr{
  background:var(--color07);
}

.price_table_wrap table tbody th{
  background:var(--color06);
  color:#fff;
  vertical-align:middle;
  text-align:left;
}

.set_02 .price_table_wrap table tbody th{
  background:var(--color03);
}

.set_02 .price_table_wrap .txt{
  color:var(--color03);
}

.set_03 .price_table_wrap table tbody th{
  background:var(--color07);
}

.set_03 .price_table_wrap .txt{
  color:var(--color07);
}

.price_table_wrap .txt{
  text-align:center;
  font-size:16px;
  color:var(--color06);
  font-weight:500;
}

.price_table_wrap .txt span{
  font-size:70%;
  font-weight:bold;
}
.price_table_wrap .price{
  text-align:center;
  color:#c9133c;
  font-weight:500;
  font-family:var(--font-family02);
  font-size:17px;
  vertical-align:middle;
}
.price_table_wrap .non{
  background:#fff;
}

.price_table_attntion{
  font-size:10px;
  text-align:center;
  padding:5px 0 0;
}
.price_support_content{
  display:flex;
  flex-wrap:wrap;
  line-height:1;
  gap:10px;
  text-align:left;
  width:100%;
  padding:0 5px;
  font-size:12px;
}

.extension-charge{
  border:1px solid #acc5d1;
  background-color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.6rem;
  margin-bottom:6rem;
  gap:1.6rem;
}

.price > div{
  display:flex;
  align-items:center;
  gap:1rem;
}

.price p{
  font-size:1.6rem;
  font-weight:700;
  color:var(--color03);
  margin-bottom:0.15em;
}

.price span{
  display:inline-block;
}

.pricelabel{
  font-size:1.2rem;
  color:var(--color03);
  border:1px solid var(--color03);
  padding:0.2em 0.6em;
}

.pricedetail{
  font-family:din-2014, sans-serif;
  font-weight:700;
  font-size:2.8rem;
  color:#242533;
  font-weight:500;
  font-family:var(--font-family02);
}

.pricedetail small{
  font-size:0.5em;
}

.pricedetail small span{
  font-size:0.7em;
}

.extension-charge .notes{
  font-size:1.2rem;
  display:flex;
  flex-direction:column;
  gap:0.6em;
  color:#242533;
}

.extension-charge .notes li::before{
  content:"●";
  margin-right:0.6em;
}
.price_support_content dt{
  width:calc(60% - 20px);
  text-align:right;
  font-weight:bold;
}

.price_support_content dd{
  text-align:left;
  width:40%;
}

.price_support_content dd span{
  font-size:60%;
}

.access .table{
  width:100%;
  border-collapse:collapse;
  border-spacing:0px;
  border-top:1px solid #e5e5e5;
  border-left:1px solid #e5e5e5;
}

.access .table tr{
  border-bottom:1px solid #e5e5e5;
}

.access .table th,
.access .table td{
  padding:15px 21px;
  font-size:1.6rem;
  font-weight:normal;
  line-height:1.6;
  text-align:left;
  border-right:1px solid #e5e5e5;
}

.access .table th{
  background:#f9f7f7;
  width:27.5%;
}

.access .table td{
  width:72.5%;
}

.l-contents__main .access .table th{
  width:23%;
}

.l-contents__main .access .table td{
  width:77%;
}

.access_map{
  margin-top:6rem;
}
.fv_banner{
  position:relative;
}
.fv_banner a{
  display:block;
  transition:opacity 0.3s;
}
.fv_banner_pic{
  display:block;
  width:100%;
  height:auto;
}
.fv_banner_pic img{
  display:block;
  width:100%;
  height:auto;
  max-width:auto;
}
.fv_banner_title{
  width:1px;
  height:1px;
  position:absolute;
  left:0;
  top:0;
  visibility:hidden;
}

.about_title img{
  display:inline-block;
  height:1.2em;
  width:auto;
  margin-right:0.3em;
  transform:translateY(-0.2em);
}

.about_text02 .large{
  font-weight:700;
  background:linear-gradient(transparent 50%, #fff 0);
}

.cta{
  background-image:url(../top-img/cta_bg.webp);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  text-align:center;
  padding:4rem 0;
}
.cta_title{
  font-weight:bold;
  color:#fff;
  line-height:1.5;
  margin-bottom:1rem;
  font-size:1.9rem;
}
.cta_msg{
  color:#fff;
  line-height:1.6;
  margin-bottom:3rem;
}

.outline_card_btn{
  width:100%;
  margin-top:2.5rem;
}
.outline_card_btn a{
  transition:opacity 0.3s;
  border-radius:0.5em;
  display:block;
  width:100%;
  font-weight:bold;
  padding:0.5em 2em;
  color:#fff;
  background-color:var(--color01);
}

.price_table_attntion a{
  color:var(--color03);
  text-decoration:underline;
  transition:opacity 0.3s;
}
.price_table_attntion a:hover{
  opacity:0.8;
}
@media screen and (min-width: 751px){
  html{
    scroll-padding-top:70px;
  }
  body{
    padding-top:70px;
  }
  body.admin-bar{
    padding-top:38px;
  }
}
@media (min-width: 769px){
  .-course p br{
    display:none;
  }
}
@media screen and (min-width: 811px){
  html{
    font-size:min(0.9090909091vw, 10px);
  }
  .pc_only{
    display:block;
  }
  .sp_only{
    display:none;
  }
  .section01{
    padding:7rem 0;
  }
  .section_title01{
    margin-bottom:4rem;
    padding-bottom:1.5rem;
    font-size:3rem;
  }
  .section_title01::after{
    width:6rem;
    height:4px;
  }
  .section_title01 .number{
    font-size:5.6rem;
  }
  .section_textWrap01{
    margin-bottom:3rem;
  }
  .section_text01{
    font-size:max(1.6rem, 14px);
  }
  .section_text02{
    font-size:max(1.6rem, 14px);
    text-align:center;
  }
  .cta_text{
    margin-bottom:2rem;
    font-size:1.8rem;
  }
  .cta_buttonWrap:has(.cta_button_top){
    padding-top:2.7rem;
  }
  .cta_button{
    max-width:43.5rem;
    min-height:6.4rem;
    font-size:2rem;
  }
  .cta_button::before{
    right:2.4rem;
    width:2.8rem;
    height:2.8rem;
  }
  .cta_button::after{
    right:3.1rem;
    width:0.9rem;
    height:1.2rem;
  }
  .cta_button_top{
    top:0.8rem;
    padding:0.7rem 2.2rem;
    font-size:1.6rem;
  }
  .cta_button_top::before{
    width:1.4rem;
    height:0.7rem;
  }
  .header{
    height:7rem;
  }
  .header_logo{
    width:27.9rem;
    height:2.6rem;
    margin-left:max((100% - 1100px) / 2, 0px);
  }
  .header_nav{
    padding:1.5rem 1.8rem 1.5rem 0;
  }
  .header_nav ul{
    gap:1rem;
  }
  .header_button{
    padding:0.5rem 2.5rem;
    border-radius:4rem;
    box-shadow:0px 0.3rem 0.9rem rgba(0, 0, 0, 0.1);
  }
  .header_button .text{
    font-size:1.4rem;
  }
  .fv{
  }
  .fv_inner{
    position:absolute;
    display:block;
    width:100%;
    height:100%;
    top:0;
    right:auto;
    bottom:auto;
    left:0;
  }
  .fv_cont{
    margin-top:0;
    padding:7rem 0 6rem;
  }
  .fv_image{
    height:64.4rem;
  }
  .fv_title{
    margin-bottom:1.5rem;
    padding:0.6rem 1.2rem 0.7rem;
    font-size:2.6rem;
  }
  .fv_text01{
    margin-bottom:1.5rem;
    font-size:2.1rem;
  }
  .fv_text02{
    margin-bottom:0.8rem;
    padding:0.3rem 0.2rem 0.3rem 1.5rem;
    font-size:2.8rem;
  }
  .fv_text02 .number{
    font-size:5.7rem;
  }
  .fv_text03{
    margin-bottom:1rem;
    font-size:4.9rem;
  }
  .fv_text03 .number{
    margin-left:0.4rem;
    font-size:6.7rem;
  }
  .fv_point{
    gap:2rem;
    margin-bottom:2.5rem;
  }
  .fv_point > li{
    min-width:14rem;
    padding:1rem 2.6rem 0;
    font-size:2.1rem;
  }
  .about{
    padding:9rem 0;
  }
  .about_title{
    margin-bottom:2rem;
    font-size:3.2rem;
  }
  .about_text01{
    font-size:2rem;
  }
  .about_text02{
    font-size:2.1rem;
  }
  .about_text02 .large{
    font-size:2.4rem;
  }
  .point_cont{
    flex-direction:row;
    align-items:stretch;
    gap:5rem;
    max-width:95rem;
  }
  .point_card{
    width:calc(50% - 2.5rem);
    box-shadow:0px 0.3rem 2rem rgba(0, 0, 0, 0.18);
  }
  .point_card_item{
    padding:2rem 3.5rem 3rem;
  }
  .point_card_title{
    margin-bottom:1.5rem;
    font-size:2rem;
  }
  .point_card_text{
    font-size:1.6rem;
  }
  .outline_cont{
    flex-direction:row;
    justify-content:space-between;
    align-items:stretch;
    gap:3rem;
    max-width:initial;
  }
  .outline_card{
    width:calc(33.33% - 2rem);
    padding:3rem 1.5rem 8rem;
    box-shadow:0px 0.3rem 2rem rgba(0, 0, 0, 0.18);
  }
  .outline_card_main{
    margin-bottom:0.5rem;
  }
  .outline_card_image{
    display:inline-flex;
    align-items:center;
    min-height:11.9rem;
  }
  .outline_card_text01{
    padding:0 1rem;
  }
  .outline_card_text02{
    font-size:1.6rem;
    padding:0 1rem;
  }
  .outline_card_arrow{
    top:50%;
    left:calc(100% - 2rem);
    display:inline-flex;
    align-items:center;
    width:9rem;
    height:11.4rem;
    padding:0 0 0 1.5rem;
    background-image:url(../top-img/outline_arrow_right01.svg);
    text-align:left;
    transform:translate(0, -50%);
  }
  .type_tab{
    gap:4rem;
    padding:0 2.8rem;
  }
  .type_tab_item{
    width:calc(50% - 2rem);
    max-width:53rem;
    padding:2.4rem 3rem;
    border-radius:1.5rem 1.5rem 0 0;
    font-size:2.2rem;
  }
  .type_tab_item::after{
    height:3px;
  }
  section.type.section01{
    width:100%;
    max-width:calc(1100px + 5.6rem);
    margin:0 auto;
    padding:9rem 1.6rem 0;
  }
  .type_tab_item:nth-child(1){
    border-width:3px;
  }
  .type_tab_item:nth-child(2){
    border-width:3px;
  }
  .type_tab_cont{
    max-width:initial;
    margin-bottom:5rem;
    padding:3rem 0 5rem;
  }
  .type_recommend{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:3.5rem;
    max-width:950px;
    margin:0 auto 2.5rem;
    padding:0;
  }
  .type_recommend_item01{
    gap:5rem;
  }
  .type_recommend_item01 img{
    width:14rem;
    height:14rem;
  }
  .type_recommend_text{
    position:relative;
    color:var(--color01);
    font-size:2rem;
  }
  .type_recommend_text::after{
    content:"";
    display:inline-block;
    width:0.8em;
    height:1.2em;
    margin-left:1rem;
    background:var(--color01);
    -webkit-clip-path:polygon(0 0, 0% 100%, 100% 50%);
    clip-path:polygon(0 0, 0% 100%, 100% 50%);
    vertical-align:bottom;
  }
  .type_recommend_list{
    flex-direction:column;
    gap:1.6rem 4rem;
    width:calc(100% - 40rem - 3.5rem);
    height:calc(3.2em + 1.6rem);
    font-size:2rem;
  }
  .type_recommend_list > li{
    font-size:2rem;
  }
  .type_recommend_list > li::before{
    width:2.2rem;
  }
  .type_flow{
    margin-bottom:4.5rem;
  }
  .type_flow_head{
    padding:2rem;
  }
  .type_flow_main{
    position:relative;
    padding:2rem 3rem 3rem;
  }
  .type_flow_main::after{
    content:"";
    position:absolute;
    display:block;
    width:5.4rem;
    height:1.5rem;
    top:calc(100% - 1px);
    right:auto;
    bottom:auto;
    left:50%;
    background:#E7ECF5;
    -webkit-clip-path:polygon(0 0, 50% 100%, 100% 0);
    clip-path:polygon(0 0, 50% 100%, 100% 0);
    transform:translateX(-50%);
  }
  .type_flow_text01{
    margin-bottom:0.8rem;
    font-size:2.4rem;
  }
  .type_flow_text02{
    font-size:1.6rem;
    text-align:center;
  }
  .type_price{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:9rem;
    margin-bottom:4.5rem;
    padding:3rem;
  }
  .type_price_text01{
    padding-top:4rem;
    font-size:2.4rem;
  }
  .type_price_text01 .number{
    margin:0 0.4rem;
    font-size:7.4rem;
  }
  .type_price_text01 .number .top{
    font-size:1.9rem;
  }
  .type_price_text02{
    font-size:1.6rem;
  }
  .type_price_list > li{
    font-size:1.6rem;
  }
  .type_price_button{
    font-size:1.6rem;
  }
  .comparison_note{
    font-size:12px;
    color:#888;
  }
  .comparison_table{
    max-width:88.5rem;
    border-radius:1rem;
    font-size:1.4rem;
  }
  .comparison_table thead th{
    font-size:1.9rem;
  }
  .comparison_table thead th:nth-child(2){
    width:30rem;
    padding:1rem 1.5rem 2rem;
    font-size:1.7rem;
  }
  .comparison_table thead th:nth-child(2)::before{
    bottom:calc(100% - 1rem);
    height:2rem;
    border-radius:1rem 1rem 0 0;
  }
  .comparison_table tbody th,
  .comparison_table tbody td{
    padding:1.1rem 2.8rem;
  }
  .comparison_table tbody th{
    font-size:1.7rem;
  }
  .comparison_table tbody td .mark{
    font-size:2.8rem;
  }
  .support_cont{
    flex-direction:row;
    justify-content:space-between;
    align-items:stretch;
    max-width:98.5rem;
  }
  .support_item01{
    max-width:31.5%;
  }
  .support_item01::after{
    top:calc(50% + 2.9rem);
    left:109.7%;
    width:6.5%;
    height:15.2%;
    -webkit-clip-path:polygon(0 100%, 0 0, 100% 50%);
    clip-path:polygon(0 100%, 0 0, 100% 50%);
    transform:translate(0, -50%);
  }
  .support_item02{
    width:60.9%;
  }
  .support_box_main{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    justify-content:space-between;
    align-items:stretch;
    padding:3rem 4.5rem;
  }
  .support_box_column{
    max-width:22.5rem;
  }
  .support_box_column + .support_box_column{
    margin:0;
  }
  .support_box_image{
    margin-bottom:2rem;
  }
  .voice_cont{
    align-items:stretch;
    gap:3rem;
    max-width:initial;
  }
  .voice_card{
    width:calc(33.33% - 2rem);
    padding:3.5rem 3.3rem 3rem;
    border-radius:1rem;
    box-shadow:0px 0.3rem 1rem rgba(0, 0, 0, 0.2);
  }
  .voice_card_number .number{
    top:0;
    margin-left:0.4rem;
    font-size:1.6rem;
  }
  .voice_card_title{
    margin-bottom:1.2rem;
  }
  .voice_card_text{
    font-size:1.6rem;
  }
  .faq_define > div{
    padding:2.4rem 0;
  }
  .faq_define > div dt{
    font-size:1.7rem;
  }
  .faq_define > div dt::before{
    top:-0.4rem;
    font-size:2rem;
  }
  .faq_define > div dd{
    font-size:1.7rem;
  }
  .faq_define > div dd::before{
    font-size:2rem;
  }
  .contact{
    padding-top:7rem;
  }
  .contact_title{
    font-size:3rem;
  }
  .contact_text{
    font-size:1.4rem;
  }
  .contact_cont{
    padding:6rem 6rem 4rem;
    border-radius:0.8rem;
  }
  .contact .form_wrapper{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:2.5rem;
  }
  .contact .form_wrapper--textarea{
    margin-bottom:4rem;
  }
  .contact .form_wrapper .label{
    display:inline-flex;
    align-items:center;
    width:29.4%;
    min-height:5rem;
    margin:0;
    font-size:1.8rem;
  }
  .contact .form_wrapper .label::before{
    top:0;
    margin-right:1rem;
    font-size:1.1rem;
  }
  .contact .form_wrapper input,
  .contact .form_wrapper textarea{
    width:70.6%;
    border-radius:0;
  }
  .contact .form_wrapper textarea{
    height:17rem;
  }
  .contact .form_submit{
    font-size:1.3rem;
  }
  .course_set_warp h2{
    font-size:3rem;
    padding-bottom:4rem;
  }
  .course_set{
    margin-bottom:4rem;
  }
  .course_set_warp{
    padding:5rem 5rem 2rem;
    margin-bottom:4rem;
  }
  .course_set{
    padding:4rem;
  }
  .course_set h3{
    font-size:2.6rem;
    font-weight:bold;
    line-height:1.8;
  }
  .course_set h3 p{
    font-size:1.5rem;
  }
  .course_set .course_set_title{
    padding-bottom:10px;
  }
  .course_set h3 p{
    font-size:1.5rem;
    text-align:left;
    line-height:1.4;
  }
  .price_table_wrap table th,
  .price_table_wrap table td{
    padding:14px 20px;
    border-right:2px solid #fff;
  }
  .price_table_wrap table th{
    font-size:1.6rem;
    font-weight:bold;
  }
  .price_table_wrap .txt{
    text-align:center;
    font-size:2.2rem;
  }
  .price_table_wrap .price{
    font-size:28px;
  }
  .price_table_attntion{
    padding:10px 0 0;
    font-size:13px;
  }
  .price_support_content{
    font-size:1.7rem;
    padding:0 20px;
  }
  .fv_banner a:hover{
    opacity:0.9;
  }
  .about_title img{
    transform:translateY(0);
  }
  .cta{
    padding:7rem 0;
  }
  .cta_title{
    font-size:3rem;
  }
  .cta_title br{
    display:none;
  }
  .cta_msg br{
    display:none;
  }
  .outline_card_btn{
    position:absolute;
    margin-top:0;
    padding:0 2rem;
    left:0;
    bottom:2.5rem;
  }
  .outline_card_btn a:hover{
    opacity:0.8;
  }
}
@media (max-width: 810px){
  .outline_card_text02--sp-center{
    text-align:center;
  }
}
@media screen and (max-width: 810px){
  .footer_inner1{
    height:unset;
    padding-bottom:3rem;
    padding-top:3rem;
    width:100%;
  }
  .footer_inner1 .footer_nav{
    width:100%;
  }
  .footer_inner1 ul{
    align-items:flex-start;
    flex-direction:column;
    gap:2.5rem;
  }
  .footer_inner1 li a{
    font-size:1.5rem;
  }
  .footer_inner2{
    height:unset;
    padding-top:1.3rem;
    padding-bottom:1.3rem;
  }
  .footer_inner2 small{
    font-size:1.2rem;
  }
  .outline_card_catch{
    min-height:inherit;
    padding:0;
  }
  .outline_card_textWrap{
    min-height:inherit;
  }
  .outline_card_text01 ul li{
    font-size:1.2rem;
    padding:4px 9px;
    line-height:1;
  }
  .outline_card_text02 .title{
    width:8rem;
  }
  .type .inner01{
    padding:0px 0.8rem 1rem;
  }
  .type.section01{
    padding:5rem 1.6rem 0;
    margin-bottom:2rem;
  }
  .type_price_icon{
    width:100%;
  }
  .access_map{
    margin-top:3rem;
  }
  .access_map iframe{
    width:100%;
    height:80vw;
  }
  .access .table th,
  .access .table td{
    padding:5px;
  }
}
@media screen and (max-width: 782px){
  body.admin-bar{
    padding-top:24px;
  }
}
@media (max-width: 768px){
  .-course{
    padding:1.6rem;
    gap:1.6rem;
  }
  .-course p{
    text-align:center;
    font-size:1.2rem;
    line-height:1.6em;
  }
  h2{
    font-size:3.2rem;
    text-align:center;
    line-height:1.6em;
    margin-bottom:0;
  }
  h2 .is_sp{
    display:block;
  }
  .-caption{
    font-size:1rem;
    line-height:1.8em;
  }
  .-container ul{
    gap:0.3em;
  }
  .-container li{
    font-size:1.2rem;
    line-height:1.6em;
  }
  .-container ul li::before{
    margin-right:0.3em;
  }
  .extension-charge{
    border:1px solid #acc5d1;
    background-color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1.6rem;
    gap:1.6rem;
    flex-wrap:wrap;
    margin-bottom:3rem;
  }
  div.scroll{
    display:block;
    overflow-x:scroll;
  }
  .scroll img{
    width:150%;
    max-width:none;
  }
  .extension-charge p{
    text-align:center;
  }
  .notes li{
    line-height:1.4em;
  }
  .extension-charge .notes li::before{
    margin-right:0.3em;
  }
}
@media screen and (max-width: 750px){
  body.admin-bar{
    padding-top:calc(13.3333333333vw - 46px);
  }
}
@media (any-hover: hover){
  .cta_button:hover{
    opacity:0.7;
  }
  .header_logo:hover{
    opacity:0.7;
  }
  .header_button:hover{
    opacity:0.7;
  }
  .type_price_button:hover{
    opacity:0.7;
  }
  .contact .form_submit a:hover{
    opacity:0.7;
  }
}
