@charset "UTF-8";

/* ---------------------------------------------
  reset
--------------------------------------------- */
body {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

/* 解析タグの隙間対策 */
body>img {
    display: none;
}

.lp_main div,
.lp_main span,
.lp_main iframe,
.lp_main h1,
.lp_main h2,
.lp_main h3,
.lp_main h4,
.lp_main h5,
.lp_main h6,
.lp_main p,
.lp_main address,
.lp_main img,
.lp_main small,
.lp_main strong,
.lp_main sub,
.lp_main sup,
.lp_main dl,
.lp_main dt,
.lp_main dd,
.lp_main ol,
.lp_main ul,
.lp_main form,
.lp_main label,
.lp_main table,
.lp_main caption,
.lp_main tbody,
.lp_main tfoot,
.lp_main thead,
.lp_main tr,
.lp_main th,
.lp_main td,
.lp_main article,
.lp_main aside,
.lp_main footer,
.lp_main header,
.lp_main menu,
.lp_main nav,
.lp_main section,
.lp_main video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 0;
    line-height: 0;
    vertical-align: baseline;
    background: transparent;
}

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

.lp_main ol,
.lp_main ul {
    list-style: none;
}

.lp_main :focus {
    outline: 0;
}

.lp_main table {
    border-collapse: collapse;
    border-spacing: 0;
}

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

.lp_main img {
    display: block;
    height: auto;
    vertical-align: bottom;
    width: 100%;
    max-width: 100%;
}

.lp_main svg,
.lp_main video {
    width: 100%;
    height: auto;
}


/* ---------------------------------------------
  common
--------------------------------------------- */
/* スムーススクロール */
html {
    scroll-behavior: smooth;
}

.lp_main {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    overflow: hidden;
}

.lp_main .box {
    position: relative;
}

/* ---------------------------------------------
  btn
--------------------------------------------- */
/*================
  btn_entry
================*/
/* 共通 */

.lp_main .btn_entry a{
    position: absolute;
    width: min(450 / 750 * 100vw, 450px);
    bottom: min(48 / 750 * 100vw, 48px);
    left: 0;
    right: 0;
    margin-inline: auto;
    display: block;
}

/*================
  btn_more-large
================*/

.lp_main .btn_more-large a{
    width: calc(624 / 750 * 100%);
    margin-inline: auto;
    display: block;
    padding: calc(40 / 750 * 100%) 0 calc(30 / 750 * 100%);
}

.lp_main .btn_02 a{
    width: calc(624 / 750 * 100%);
    margin-inline: auto;
    display: block;
    padding: calc(10 / 750 * 100%) 0 calc(30 / 750 * 100%);
}
/* ---------------------------------------------
  
--------------------------------------------- */
/*================
  fv
================*/

.lp_main .header{	
    background-color: #3d3b3c;
		padding: calc(10 / 750 * 100%) 0 calc(5 / 750 * 100%) calc(20 / 750 * 100%);
}

.lp_main .fv .header_logo{
    width: calc(164 / 750 * 100%);
}

/*================
  applicable
================*/
.lp_main .applicable{
	  background: #3d3b3c;
}

.lp_main .applicable h2{
		padding: calc(24 / 750 * 100%) 0 calc(32 / 750 * 100%);
}

.lp_main .applicable div.center{
  	width: calc(686 / 750 * 100%);
	  margin-inline: auto;
}

.lp_main .applicable dl{
	  padding-bottom: calc(48 / 750 * 100%);
}

.lp_main .applicable dl.box_last{
	  padding-bottom: calc(64 / 750 * 100%);
}

.lp_main .applicable dt {
		padding: calc(33 / 750 * 100%) 0;
	  background: #000000;
}

.lp_main .applicable dt p{
	  color: #fff;
	  font-size: min(36 / 750 * 100vw, 36px);
    font-weight: bold;
	  text-align: center;
    line-height: 1;
}

.lp_main .applicable dt p span{
	  font-size: min(28 / 750 * 100vw, 28px);
}

.lp_main .applicable dd{
		padding: calc(40 / 750 * 100%) calc(32 / 750 * 100%) 0;
	  background: #fff;
}

.lp_main .applicable dd p{
	  color: #000;
	  font-size: min(28 / 750 * 100vw, 28px);		
	  font-weight: 500;
    line-height: 1.4;
}

.lp_main .applicable dd p.pink{
		padding-bottom: calc(23 / 750 * 100%);
	  color: #ff65e2;
	  font-size: min(36 / 750 * 100vw, 36px);		
    font-weight: bold;	
	  text-align: center ;
    line-height: 1.2;
}

.lp_main .applicable dd p.pink span{	  
	  font-size: min(32 / 750 * 100vw, 32px);	
    font-weight: 500;	
    line-height: 1.4;	
}

.lp_main .applicable dd p.fee{
		padding-bottom: calc(23 / 750 * 100%);
	  color: #000;
	  font-size: min(24 / 750 * 100vw, 24px);		
	  font-weight: 500;
    line-height: 1.4;
}

/*================
  program
================*/

.lp_main .program div{
		margin-bottom: calc(60 / 750 * 100%);
}

.lp_main .program div.center{
		width: calc(686 / 750 * 100%);
		margin-inline: auto;
}

.lp_main .program dl{
		margin-bottom: calc(48 / 750 * 100%);
}

.lp_main .program dt {
		padding: calc(33 / 750 * 100%) 0;
	  background: #000000;
}

.lp_main .program dt p{
	  color: #fff;
	  font-size: min(36 / 750 * 100vw, 36px);
    font-weight: bold;
	  text-align: center ;
    line-height: 1;
}

.lp_main .program dd{
		padding: calc(41 / 750 * 100%) calc(33 / 750 * 100%) calc(38 / 750 * 100%);
		border: 2px solid #000000;
		background: #fff;
}

.lp_main .program dd p{
	  color: #000;
	  font-size: min(32 / 750 * 100vw, 32px);	
	  font-weight: 500;
    line-height: 1.4;
}

.lp_main .program dd p + p{
		margin-top: calc(50 / 750 * 100%);
}

.lp_main .program dd p .pink{
	  color: #ff65e2;
	  font-size: min(32 / 750 * 100vw, 32px);
    line-height: 1.4;
}

/* ---------------------------------------------
  footer
--------------------------------------------- */

.lp_main .footer {
    padding-bottom: calc(78 / 750 * 100%);
}

.lp_main .footer_logo {
    width: calc(330 / 750* 100%);
    margin: 0 auto calc(20 / 750 * 100%);
}

.lp_main .footer_text {
    text-align: center;
}

.lp_main .footer_text>p {
    margin-bottom: calc(28 / 750 * 100%);
    font-size: min(30 / 750 * 100vw, 30px);
    line-height: 1;
}

.lp_main .footer_text .footer_tel_wrap {
    margin-bottom: calc(28 / 750 * 100%);
}

.lp_main .footer_text .footer_tel {
    color: #0b56ac;
    font-size: min(40 / 750 * 100vw, 40px);
    line-height: 1;
}

.lp_main .footer_text .footer_link_list {
    display: flex;
    justify-content: center;
    margin-bottom: calc(28 / 750 * 100%);
}

.lp_main .footer_text .footer_link_list_text {
    color: #0b56ac;
    font-size: min(30 / 750 * 100vw, 30px);
    line-height: 1;
}

.lp_main .footer_text .footer_link_list_item:first-of-type {
    border-right: 2px solid #000;
    padding-right: calc(40 / 750 * 100%);
}
.lp_main .footer_text .footer_link_list_item:last-of-type {
    padding-left: calc(40 / 750 * 100%);
}
.lp_main .footer_text .footer_copyright {
    font-size: min(25 / 750 * 100vw, 25px);
    line-height: 1;
    letter-spacing: 0.05em;
}
