@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Murecho:wght@100..900&display=swap');

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

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

body {
	line-height: 1;
}

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

nav ul, ul {
	list-style: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}

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

html {
	overflow-y: scroll;
	height: 100%;
}

* {
	box-sizing: border-box;
}

.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt80 { margin-top: 80px !important; }
.mt90 { margin-top: 90px !important; }
.mt100 { margin-top: 100px !important; }

.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb100 { margin-bottom: 100px !important; }

@media only screen and (max-width: 640px) {
.mt10 { margin-top: 5px !important; }
.mt20 { margin-top: 10px !important; }
.mt30 { margin-top: 15px !important; }
.mt40 { margin-top: 20px !important; }
.mt50 { margin-top: 25px !important; }
.mt60 { margin-top: 30px !important; }
.mt70 { margin-top: 35px !important; }
.mt80 { margin-top: 40px !important; }
.mt90 { margin-top: 45px !important; }
.mt100 { margin-top: 50px !important; }

.mb10 { margin-bottom: 5px !important; }
.mb20 { margin-bottom: 10px !important; }
.mb30 { margin-bottom: 15px !important; }
.mb40 { margin-bottom: 20px !important; }
.mb50 { margin-bottom: 25px !important; }
.mb60 { margin-bottom: 30px !important; }
.mb70 { margin-bottom: 35px !important; }
.mb80 { margin-bottom: 40px !important; }
.mb90 { margin-bottom: 45px !important; }
.mb100 { margin-bottom: 50px !important; }
}

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

@media only screen and (max-width: 640px) {
.pc-only {display: none;}
.sp-only {display: block;}
}

/* -----------------------------------------------------
keyvisual
----------------------------------------------------- */

.sec1 {
	width: 100%;
	background-color: #e9e5e2;
}

.keyvisual_wrap {
	width: min(1200px, 100%);
	height: min(800px, 100vh);
	margin: 0 auto;
	position: relative;
	background-image: url(../images/kv_bg_a.webp);
	background-position: right;
	background-repeat: no-repeat;
	background-size: 960px;
}

.kv_logo {
	position: absolute;
	width: min(170px, 45%);
	top: 10px;
	left: 10px;
}

.kv_title {
	position: absolute;
	top: 108px;
	left: 40px;
	width: calc(100% - 80px);
  	animation: fadeIn 2s;
}

@keyframes fadeIn {
  0% { opacity: 0;}
  100% { opacity: 1;}
}

.kv_title img{
	max-width: 660px;
	width: 100%;
	opacity: .5;
}

.kv_title h1 {
	margin-top: 20px;
	display: inline-block;
	background-color: #ea5504;
	padding:13px;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 2.25em;
	font-weight: 600;
	line-height: 1;
	text-box: trim-both cap alphabetic;
}

.kv_title p {
	margin-top: 32px;
	font-family: "Murecho", sans-serif;
	font-size: 2em;
	font-weight: 300;
	line-height: 1.4;
	text-box: trim-both cap alphabetic;
}

.kv_menu {
	position: absolute;
	top: 462px;
	right: 78px;
	width: 120px;
	display: flex;
	flex-wrap: wrap;
}

.kv_menu div + div {
	margin-top: 16px;
}

.kv_menu_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120px;
	height: 120px;
	background-color: #e9e5e2;
	border: 1px solid #000;
	text-align: center;
	color: #000;
  	position: relative;
  	transition: color 0.5s ease;
}

.kv_menu_btn a:hover {
	border: 1px solid #ea5504;
  	color: #fff;
}

.kv_menu_btn a:hover:before {
	transform: scaleY(1);
}
.kv_menu_btn a:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #ea5504;
	transform: scaleY(0);
	transition: all 0.5s ease;
	transition-property: transform;
}

.kv_menu_btn span {
	position: relative;
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.5;
	text-box: trim-both cap alphabetic;
}

@media only screen and (max-height: 800px) {
.kv_menu { top: auto; bottom: 20px }
}

@media only screen and (max-height: 600px) {
.keyvisual_wrap { background-image: url(../images/kv_bg_d.webp); background-size: contain}
.kv_menu { right: 20px }
}

@media only screen and (max-height: 500px) {
.keyvisual_wrap { height:500px;}
}

@media only screen and (max-width: 950px) {
.keyvisual_wrap { background-image: url(../images/kv_bg_b.webp), url(../images/kv_bg_c.webp); background-position: bottom left, top right; background-repeat: no-repeat, no-repeat; background-size: 44.14%, 53.93%;}
.kv_menu { top: auto; bottom: 20px; right: 20px; width: 256px;}
.kv_menu div + div { margin-top: 0px; margin-left: 16px;}
}

@media only screen and (max-width: 640px) {
.keyvisual_wrap { height: 100vh; background-image: url(../images/kv_bg_sp.webp); background-position: top right; background-size: auto 84vh;}
.kv_title { top: 20%; left: 20px; width: calc(100% - 40px);}
.kv_title h1 { padding: 2vw; font-size: 5.5vw;}
.kv_title p { margin-top: 4vw; font-size: 5vw;}
.kv_menu { top: auto; bottom: 2vh; right: 20px; width: calc(100% - 40px);}
.kv_menu div + div { margin-top: 0; margin-left: 16px;}
.kv_menu div { width: calc(50% - 8px); height: 12vh;}
.kv_menu_btn a { width: 100%; height: 100%;}
}

/* -----------------------------------------------------
introduction
----------------------------------------------------- */

.introduction {
	width: 100%;
	height: min(800px, 100vh);
	background-image: url(../images/intro_bg.webp);
	background-size: cover;
	background-position: center;
	background-color:rgba(255,255,255,0.67);
	background-blend-mode:lighten;
  	display: flex;
  	justify-content: center;
  	align-items: center;
}

.introduction_wrap {
	text-align: center;
	width: min(800px, 90%);
	margin-bottom: 40px;
}

.introduction_wrap img {
	width: 100%;
}

.intro_midashi {
	margin-bottom: 20px;
}

.intro_midashi span {
	display: inline-block;
	border: 2px solid #000;
	padding: 10px 40px;
	font-family: "Murecho", sans-serif;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1;
	text-box: trim-both cap alphabetic;
}

.intro_honbun {
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.8;
}

.introduction_wrap.delighter {
    transition: all 1s ease-out;
    transform: translateY(20%);
    opacity: 0;
}
 
.introduction_wrap.delighter.started {
    transform: none;
    opacity: 1;
}

@media only screen and (max-width: 640px) {
.introduction_wrap { width: calc(100% - 80px);}
.intro_midashi { margin-top: 20px; margin-bottom: 20px;}
.intro_midashi span { padding: 10px 20px;}
.intro_honbun { text-align: left; text-align: justify; line-height: 1.8;}
}

/* -----------------------------------------------------
contents menu
----------------------------------------------------- */

.contentsmenu_wrap_bg1 {
	width: 100%;
	background-color: #ea5504;
}

.contentsmenu_wrap_1 {
	width: min(1200px, calc(100% - 80px));
 	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 60px 0;
}

.contentsmenu_wrap_1_r {
	width: 660px;
}

.contentsmenu_wrap_1_l p {
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 1.8em;
	font-weight: 400;
	line-height: 1.6;
	text-align: justify;
}

.contentsmenu_wrap_1_r p {
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.8;
	text-align: justify;
}

.contentsmenu_wrap_1_r p span {
	color: #fff100;
	font-weight: 500;
}

@media only screen and (max-width: 1220px) {
.contentsmenu_wrap_1_l { width: 420px;}
.contentsmenu_wrap_1_r { width: calc(100% - 420px);}
.contentsmenu_wrap_1_l p { font-size: 1.6em;}
.contentsmenu_wrap_1_r p { font-size: 0.9em;}
}

@media only screen and (max-width: 900px) {
.contentsmenu_wrap_1_l { width: 48%;}
.contentsmenu_wrap_1_r { width: 48%;}
.contentsmenu_br1 { display: none;}
}

@media only screen and (max-width: 640px) {
.contentsmenu_wrap_1_l { width: 100%; margin-bottom: 20px;}
.contentsmenu_wrap_1_r { width: 100%;}
.contentsmenu_wrap_1_l p { font-size: min(1.6em, 4.6vw);}
.contentsmenu_wrap_1_r p { font-size: 0.85em; line-height: 1.7;}
.contentsmenu_br1 { display: block;}
}

.contentsmenu_wrap_bg2 {
	width: 100%;
	background-color: #752a02;
}

.contentsmenu_wrap_2 {
	width: min(1200px, 100%);
 	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

.contentsmenu_item {
	width: 33.33%;
	height: auto;
	aspect-ratio: 5 / 6;
	position: relative;
}

.contentsmenu_link {
	display: block;
	width: 100%;
	height: 100%;
}

.contentsmenu_link_bg1 {
	background-image: url(../images/contentsmenu1.webp);
	background-size: cover;
	background-position: center;
}

.contentsmenu_link_bg2 {
	background-image: url(../images/contentsmenu2.webp);
	background-size: cover;
	background-position: center;
}

.contentsmenu_link_bg3 {
	background-image: url(../images/contentsmenu3.webp);
	background-size: cover;
	background-position: center;
}

.contentsmenu_txtbox {
	position: absolute;
	bottom: 20px;
	left: 0;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	padding: 8px 0 16px 0;
  	display: flex;
	flex-wrap: wrap;
  	justify-content: center;
  	align-items: center;
	align-content: center;
  	text-align: center;
}

.contentsmenu_txtbox_1 {
	width: 100%;
	height: 54px;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 400;
	line-height: 1.5;
}

.contentsmenu_txtbox_2 {
	width: 100%;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: min(2em, 3vw);
	font-weight: 500;
	line-height: 1.3;
}

.contentsmenu_link:hover {
	transition: .5s;	
	background-color:rgba(0,0,0,0.2);
	background-blend-mode:darken;
}

.contentsmenu_link:hover .contentsmenu_txtbox {
	transition: .5s;	
	background-color: rgba(0, 0, 0, 0.85);
}

.contentsmenu_link:hover .contentsmenu_txtbox_2 {
	transition: .5s;	
	color: #ea5504;
}

.page_nav {
	display: none;
	height: 110px;
}
.page_nav.fixed {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	background-color: #e9e5e2;
}

.nav_wrap_2 {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto;
	padding: 16px 0 0 0;
	display: flex;
	justify-content: space-between;
}

.navi_contain_2 {
	width: 30%;
	height: 94px;
	text-align: center;
}

.navi_contain_2 a {
	display: block;
	height: 94px;
	font-family: "Murecho", sans-serif;
	color: #000;
	font-size: min(1.4em, 2.5vw);
	font-weight: 400;
	line-height: 1.3;
	position: relative;
}

.navi_contain_2 a:after {
	position: absolute;
	bottom: 20px;
	right: calc(50% - 14px);
	content: url('../images/page_nav_mark.svg');
	display: block;
	width: 28px;
	height: 14px;
}

@media only screen and (max-width: 640px) {
.contentsmenu_item { width: 100%; aspect-ratio: 5 / 3; border-bottom: 6px solid #ea5504;}
.contentsmenu_link_bg1,.contentsmenu_link_bg2,.contentsmenu_link_bg3 { background-size: 50% auto; background-position: left; background-repeat: no-repeat;}
.contentsmenu_txtbox { bottom: 0; left: 50%; width: 50%; height: 100%; background-color: transparent; padding: 10px;}
.contentsmenu_txtbox_1 { height: auto; font-size: min(0.8em, 3.2vw); margin-bottom: 8px;}
.contentsmenu_txtbox_2 { font-size: min(2em, 5.5vw); line-height: 1.4;}
.page_nav { height: auto;}
.nav_wrap_2 { width: min(1200px, calc(100% - 40px));}
.navi_contain_2 { height: auto;}
.navi_contain_2 a { height: 100%; padding-bottom: 24px; font-size: 0.8em;}
.navi_contain_2 a:after { bottom: 10px; width: 20px; height: 10px;}
}

/* -----------------------------------------------------
contents main
----------------------------------------------------- */

.contains_main_wrap {
	width: 100%;
	min-height: 620px;
 	position: relative;
 	overflow: hidden;
}

.contains_main_img1 {
	position: absolute;
	top: 0;
	right: calc(50% - 600px);
	width: 570px;
	height: 620px;
	clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
	background-image: url(../images/contains_main_img1.webp);
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.contains_main_img1.delighter {
    transition: all .5s ease-out;
	clip-path: polygon(100% 0%, 100% 0%, 70% 100%, 70% 100%);
    opacity: 0;
}
 
.contains_main_img1.delighter.started {
	clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
    opacity: 1;
}

.contains_main_img2 {
	position: absolute;
	top: 0;
	right: calc(50% - 600px);
	width: 570px;
	height: 660px;
	clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
	background-image: url(../images/contains_main_img2.webp);
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.contains_main_img2.delighter {
    transition: all .5s ease-out;
	clip-path: polygon(100% 0%, 100% 0%, 70% 100%, 70% 100%);
    opacity: 0;
}
 
.contains_main_img2.delighter.started {
	clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
    opacity: 1;
}

.contains_main_img3 {
	position: absolute;
	top: 0;
	right: calc(50% - 600px);
	width: 570px;
	height: 620px;
	clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
	background-image: url(../images/contains_main_img3.webp);
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.contains_main_img3.delighter {
    transition: all .5s ease-out;
	clip-path: polygon(100% 0%, 100% 0%, 70% 100%, 70% 100%);
    opacity: 0;
}
 
.contains_main_img3.delighter.started {
	clip-path: polygon(30% 0%, 100% 0%, 70% 100%, 0% 100%);
    opacity: 1;
}

.contains_main_title1 {
	position: absolute;
	top: 440px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: min(1200px, calc(100% - 40px));
	height: 162px;
	background-image: url(../images/contains_main_title1.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom right;
	z-index: -1;
	opacity: .5;
}

.contains_main_title1.delighter {
    transition: all 0.5s ease-out;
    transform: translateX(10%);
    opacity: 0;
}
 
.contains_main_title1.delighter.started {
    transform: none;
    opacity: .5;
}

.contains_main_title2 {
	position: absolute;
	top: 490px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: min(1200px, calc(100% - 40px));
	height: 152px;
	background-image: url(../images/contains_main_title2.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom right;
	z-index: -1;
	opacity: .5;
}

.contains_main_title2.delighter {
    transition: all 0.5s ease-out;
    transform: translateX(10%);
    opacity: 0;
}
 
.contains_main_title2.delighter.started {
    transform: none;
    opacity: .5;
}

.contains_main_title3 {
	position: absolute;
	top: 450px;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: min(1200px, calc(100% - 40px));
	height: 152px;
	background-image: url(../images/contains_main_title3.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom right;
	z-index: -1;
	opacity: .5;
}

.contains_main_title3.delighter {
    transition: all 0.5s ease-out;
    transform: translateX(10%);
    opacity: 0;
}
 
.contains_main_title3.delighter.started {
    transform: none;
    opacity: .5;
}

.contains_main_txt {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto;
	padding: 60px 0 0 0;
}

.contains_main_txt h2 {
	color: #ea5504;
	font-family: "Murecho", sans-serif;
	font-size: 3em;
	font-weight: 400;
	line-height: 1.3em;
	margin-bottom: 30px;
}

.contains_main_txtbox {
	width: 570px;
	color: #000;
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.8;
	text-align: justify;
}

@media only screen and (max-width: 1200px) {
.contains_main_img1,.contains_main_img2,.contains_main_img3 { right: 0;}
.contains_main_title1 { right: 0px; left: auto; margin: 0 20px 0 0; width: min(472px, calc(55% - 40px));}
.contains_main_title2 { right: 0px; left: auto; margin: 0 20px 0 0; width: min(540px, calc(55% - 40px));}
.contains_main_title3 { right: 0px; left: auto; margin: 0 20px 0 0; width: min(824px, calc(100% - 40px));}
.contains_main_txtbox { width: 45%; font-size: 0.9em;}
}

@media only screen and (max-width: 1000px) {
.contains_main_img1,.contains_main_img2,.contains_main_img3 { right: auto; left: 43%;}
.contains_main_txt h2 { font-size: 4.8vw; margin-bottom: 3vw;}
}

@media only screen and (max-width: 640px) {
.contains_main_wrap { min-height: auto;}
.contains_main_img1 { left: auto; right: -68px; width: 340px; height: 300px;}
.contains_main_img2 { left: auto; right: -68px; width: 340px; height: 300px;}
.contains_main_img3 { left: auto; right: -68px; width: 340px; height: 300px;}
.contains_main_title1 { top: 130px; width: min(250px, calc(100% - 60px)); height: 160px;}
.contains_main_title2 { top: 130px; width: min(270px, calc(100% - 60px)); height: 160px;}
.contains_main_title3 { top: 130px; width: min(412px, calc(100% - 60px)); height: 160px;}
.contains_main_txt { padding: 40px 0 0 0;}
.contains_main_txt h2 { font-size: min(2.4em, 8vw); height: 260px; margin-bottom: 20px;}
.contains_main_txtbox { width: 100%;}
}

/* -----------------------------------------------------
contents sub
----------------------------------------------------- */

.contains_point {
	margin-top: 60px;
	width: min(440px, 45%);
  	display: flex;
	flex-wrap: wrap;
}

.contains_point_item {
	width: 47%;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
	background-color: #fdd000;
	padding: 9% 0 16px 0;
	border-radius: 12px;
	font-family: "Murecho", sans-serif;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.3em;
	position: relative;
}

.contains_point_icon1:before {
	content: url("../images/contains_point_icon1.svg");
	position: absolute;
	top: -40px;
	left: 30%;
	width: 40%;
}

.contains_point_icon2:before {
	content: url("../images/contains_point_icon2.svg");
	position: absolute;
	top: -40px;
	left: 30%;
	width: 40%;
}

.contains_point_item + .contains_point_item {
	margin-left: 6%;
}

.contains_h3 {
	color: #f39800;
	font-family: "Murecho", sans-serif;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1.4em;
	margin-bottom: 10px;
}

.contains_point2 {
	margin-top: 40px;
	margin-bottom: 40px;
	width: 570px;
	border: 1px solid #999;
	background-color: #fff;
	padding: 20px;
	position: relative;
}

.point_mark {
	position: absolute;
	top: -12px;
	left: -12px;
	width: 60px;
	height: 60px;
	border-radius: 9999px;
	background-color: #ea5504;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 500;
	line-height: 1;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
}

.contains_point2_img {
	width: min(215px, 70%);
	margin: 0 0 20px 30px;

}
.contains_point2_img img {
	width: 100%;
}

.contains_point2_txt1 {
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	line-height: 1.5;
	text-align: justify;
}

.contains_point2_note {
	margin-top: 10px;
	font-family: "Murecho", sans-serif;
	font-size: 0.8em;
	font-weight: 300;
	line-height: 1.5;
	text-align: justify;
}

.contains_point3 {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto;
	border: 1px solid #999;
  	display: flex;
	flex-wrap: wrap;
  	justify-content: center;
  	align-items: center;
	position: relative;
}

.contains_point3_left {
	width: 30%;
	padding: 20px 20px 20px 60px;
	font-family: "Murecho", sans-serif;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.3;
}

.contains_point3_right {
	width: 70%;
	padding: 20px;
	border-left: 1px solid #999;
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	line-height: 1.5;
}

@media only screen and (max-width: 1200px) {
.contains_point_icon1:before { top: -4vw;}
.contains_point_icon2:before { top: -4vw;}
.contains_point2 { width: min(570px, 45%);}
.contains_point2_txt1 { font-size: 0.8em;}
.contains_point2_note { font-size: 0.7em;}
.contains_point3_left { font-size: 1em;}
.contains_point3_right { font-size: 0.8em;}
}

@media only screen and (max-width: 800px) {
.contains_point { margin-top: 40px;}
.contains_point_item { font-size: 1em;}
}

@media only screen and (max-width: 640px) {
.contains_point { margin-top: 50px; margin-bottom: 40px; width: 100%;}
.contains_point_item { padding: 28px 0 10px 0;}
.contains_point_icon1:before { top: -30px; left: calc(50% - 30px); width: 60px;}
.contains_point_icon2:before { top: -30px; left: calc(50% - 30px); width: 60px;}
.contains_h3 { font-size: 1em;}
.contains_point2 { margin-top: 20px; margin-bottom: 30px; width: 100%;}
.point_mark { top: -8px; left: -8px; width: 48px; height: 48px; font-size: 0.8em;}
.contains_point3_left { width: 100%; padding: 20px 20px 12px 50px;}
.contains_point3_right { width: 100%; padding: 0 20px 20px 20px; border-left: none;}
}

.contains_sub_navlineup_wrap {
	width: min(1200px, calc(100% - 80px));
 	margin: 0 auto 60px auto;
	background-color: #fdd000;
	border-radius: 16px;
	padding: 24px 48px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.contains_sub_navlineup_item1 {
	width: 140px;
	margin-right: 30px;
  	display: flex;
  	justify-content: center;
  	align-items: center;
}

.contains_sub_navlineup_item1 img {
	width: 100%;
}

.contains_sub_navlineup_item2 {
	width: min(420px, calc(100% - 550px));
  	display: flex;
  	justify-content: center;
  	align-items: center;
	font-family: "Murecho", sans-serif;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1.5;
}

.contains_sub_navlineup_item3 {
	width: 60px;
	background-image: url(../images/contains_sub_navlineup_2.svg);
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: center;
}

.contains_sub_navlineup_item4 {
	width: 320px;
  	display: flex;
  	align-items: center;
}

.contains_sub_navlineup_item4 a {
	width: 320px;
	height: 90px;
	background-color: #ea5504;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
  	color: #fff;
  	position: relative;
  	transition: color 0.5s ease;
}

.contains_sub_navlineup_item4 a span {
	position: relative;
	font-family: "Murecho", sans-serif;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1.4;
	text-box: trim-both cap alphabetic;
}

.contains_sub_navlineup_item4 a:hover:before {
	transform: scaleY(1);
}
.contains_sub_navlineup_item4 a:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #000;
	transform: scaleY(0);
	transition: all 0.5s ease;
	transition-property: transform;
}

.contains_sub_course_wrap {
	margin-bottom: 80px;
}

.contains_sub_course_wrap .contains_h3 {
	width: min(1200px, calc(100% - 80px));
 	margin: 0 auto 34px auto;
}

.contains_sub_coursefeatures_bg {
	width: 100%;
	background-color: #e9e5e2;
	margin-bottom: 40px;
}

.contains_sub_coursefeatures_wrap {
	width: min(1200px, calc(100% - 80px));
 	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

.contains_sub_coursefeatures_item {
	width: 30%;
	position: relative;
	padding: 30px 0 24px 0;
}

.contains_sub_coursefeatures_item + .contains_sub_coursefeatures_item {
	margin-left: 5%;
}

.contains_sub_coursefeatures_item h4 {
	position: absolute;
	top: -14px;
	left: calc(50% - 90px);
	width: 180px;
	height: 28px;
	background-color: #000;
	border-radius: 14px;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1;
	text-box: trim-both cap alphabetic;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
}

.contains_sub_coursefeatures_img {
	margin-bottom: 16px;
	text-align: center;
}

.contains_sub_coursefeatures_img img {
	width: min(310px, 100%);
}

.contains_sub_coursefeatures_item p {
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.5;
}

.contains_sub_reemployment_wrap {
	width: min(1080px, calc(100% - 80px));
 	margin: 40px auto 80px auto;
}

.contains_sub_reemployment_item {
	width: 100%;
	height: 240px;
	position: relative;
}

.contains_sub_reemployment_img_a {
	position: absolute;
	top: -20px;
	left: 0;
	width: 280px;
	height: 280px;
}

.contains_sub_reemployment_img_b {
	position: absolute;
	top: -20px;
	left: 220px;
	width: 280px;
	height: 280px;
}

.contains_sub_reemployment_img_a img,.contains_sub_reemployment_img_b img {
	width: 100%;
}

.contains_sub_reemployment_txt {
	position: absolute;
	top: 0;
	right: 0;
	width: 560px;
	height: 240px;
	border-bottom: 1px dotted #666;
  	display: flex;
  	flex-direction: column;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
  	align-content: center;
}

.noboder {
	border: none;
}

.contains_sub_reemployment_txt1{
	color: #ea5504;
	font-family: "Murecho", sans-serif;
	font-size: 1.7em;
	font-weight: 400;
	line-height: 1.4;
	margin-bottom: 20px;
}

.contains_sub_reemployment_txt2{
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.5;
}

@media only screen and (max-width: 1200px) {
.contains_sub_coursefeatures_item h4 { left: calc(50% - 75px); width: 150px; font-size: 1em;}
.contains_sub_coursefeatures_item p { font-size: 0.9em;}
}

@media only screen and (max-width: 1120px) {
.contains_sub_reemployment_img_a { top: -20px; left: 0; width: 28%; height: auto;}
.contains_sub_reemployment_img_b { top: -20px; left: 20%; width: 28%; height: auto;}
.contains_sub_reemployment_txt { width: 50%; height: 240px;}
.contains_sub_reemployment_txt1{ font-size: 1.5em;}
.contains_sub_reemployment_txt2{ font-size: 0.9em;}
}

@media only screen and (max-width: 1000px) {
.contains_sub_navlineup_wrap { padding: 24px;}
.contains_sub_navlineup_item1 { width: 15%; margin-right: 3%;}
.contains_sub_navlineup_item2 { font-size: 1em; width: min(320px, calc(82% - 310px));}
.contains_sub_navlineup_item4 { width: 250px;}
}

@media only screen and (max-width: 880px) {
.contains_sub_reemployment_img_a { top: 20px; left: 0;}
.contains_sub_reemployment_img_b { top: 20px; left: 0;}
.contains_sub_reemployment_txt { width: 70%;}
}

@media only screen and (max-width: 640px) {
.contains_sub_navlineup_wrap { margin: 0 auto 40px auto; padding: 16px;}
.contains_sub_navlineup_item1 { width: 100%; margin-right: 0; margin-bottom: 16px;}
.contains_sub_navlineup_item1 img { width: min(120px, 40%);}
.contains_sub_navlineup_item2 { width: 100%; text-align: center; margin-bottom: 16px;}
.contains_sub_navlineup_item3 { display: none;}
.contains_sub_navlineup_item4 { width: 100%;}
.contains_sub_navlineup_item4 a { width: 100%; height: 72px;}
.contains_sub_navlineup_item4 a span { font-size: 1.2em;}
.contains_sub_course_wrap { margin-bottom: 60px; }
.contains_sub_course_wrap .contains_h3 { margin: 0 auto 20px auto;}
.contains_sub_coursefeatures_bg { margin-bottom: 30px;}
.contains_sub_coursefeatures_wrap { width: min(1200px, calc(100% - 80px));}
.contains_sub_coursefeatures_item { width: 100%; padding: 24px 0 24px 0;}
.contains_sub_coursefeatures_item + .contains_sub_coursefeatures_item { margin-left: 0; padding-top: 0;}
.contains_sub_coursefeatures_item h4 { position: relative; top: auto; left: auto; margin: 0 auto 16px auto;}
.contains_sub_coursefeatures_img img { width: min(220px, 100%);}
.contains_sub_reemployment_wrap { margin: 40px auto 30px auto;}
.contains_sub_reemployment_item { width: 100%; height: auto; position: static; margin-bottom: 30px;}
.contains_sub_reemployment_item:last-child { margin-bottom: 0;}
.contains_sub_reemployment_img_a { position: static; top: auto; left: auto; width: 100%; text-align: center;}
.contains_sub_reemployment_img_b { position: static; top: auto; left: auto; width: 100%; text-align: center;}
.contains_sub_reemployment_img_a img,.contains_sub_reemployment_img_b img { width: min(80%, 280px);}
.contains_sub_reemployment_txt { position: static; top: auto; right: auto; width: 100%; height: auto; margin-top: 20px}
.contains_sub_reemployment_txt2{ margin-bottom: 30px; }
}

/* -----------------------------------------------------
cta
----------------------------------------------------- */

.cta_wrap {
	width: 100%;
	background-color: #ea5504;
	padding: 60px 0;
	text-align: center;
}

.cta_wrap p {
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 1.2em;
	font-weight: 400;
	line-height: 1.5em;
}

.cta_btn {
	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
	margin: 30px auto 0 auto;
	width: 360px;
	height: 60px;
	background-color: #000;
	clip-path: inset(0px round 9999px);
	position: relative;
}

.cta_btn span {
	margin-right: 30px;
	position: relative;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1;
	text-box: trim-both cap alphabetic;
}

.cta_btn:hover:before {
	transform: scaleY(1);

}
.cta_btn:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #fdd000;
	transform: scaleY(0);
	transition: all 0.5s ease;
	transition-property: transform;
}

.cta_btn:hover span {
	color: #000;
}

.cta_btn:after {
	position: absolute;
	top: 15px;
	right: 15px;
	content: url('../images/cta_mark.svg');
	display: block;
	width: 30px;
	height: 30px;
}

@media only screen and (max-width: 1200px) {
.cta_wrap p { font-size: 1.1em;}
}

@media only screen and (max-width: 900px) {
.cta_wrap p { font-size: 1em;}
}

@media only screen and (max-width: 640px) {
.cta_wrap { padding: 30px 0;}
.cta_wrap p { font-size: 1em;}
.cta_text_b { margin: 0 auto; width:calc(100% - 80px); text-align: left;}
.cta_btn { margin: 25px auto 0 auto; width: 300px;}
.cta_btn span { font-size: 1.1em;}
}

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

.footertop {
	background-color: #e9e5e2;
	width: 100%;
	min-height: 80px;
	display: flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
}

.footertop p {
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.4;
  	padding: 16px 40px;
}

.footerbottom {
	width: min(1200px, calc(100% - 40px));
 	margin: 0 auto;
	min-height: 80px;
	display: flex;
	flex-wrap: wrap;
  	align-items: center;
}

.footerbottom_item1 {
	width: 170px;
	margin-right: 20px;
}

.footerbottom_item2 {
	width: 320px;
}

.footerbottom_item3 {
	width: calc(100% - 510px);
	text-align: right;
}

.fotter_btn {
	display: inline-flex;
  	justify-content: center;
  	align-items: center;
  	text-align: center;
	height: 30px;
	background-color: #ea5504;
	clip-path: inset(0px round 6px);
	position: relative;
}

.fotter_btn span {
	padding: 0 24px 0 12px;
	position: relative;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 400;
	line-height: 1;
	text-box: trim-both cap alphabetic;
}

.fotter_btn:hover:before {
	transform: scaleY(1);

}
.fotter_btn:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #000;
	transform: scaleY(0);
	transition: all 0.5s ease;
	transition-property: transform;
}

.fotter_btn:after {
	position: absolute;
	top: 8px;
	right: 10px;
	content: url('../images/fotter_btn_mark.svg');
	display: block;
	width: 8px;
	height: 14px;
}

.fotter_btn + .fotter_btn {
	margin-left: 10px;
}

.footerbottom_item3 a {
	font-family: "Murecho", sans-serif;
	color: #000;
	font-size: 0.9em;
	font-weight: 400;
	line-height: 1;
}

.footerbottom_item3 p {
	margin-top: 10px;
	font-family: "Murecho", sans-serif;
	font-size: 0.8em;
	font-weight: 300;
	line-height: 1.2;
}

.fixed_btn {
	position: fixed;
	right: 20px;
	bottom: 0;
	z-index: 98;
}

.fixed_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100px;
	height: 100px;
	border: 1px solid #333;
	background-color: #fff;
	font-family: "Murecho", sans-serif;
	color: #000;
	font-size: 1em;
	font-weight: 400;
	line-height: 1.3;
	transition: background-color 0.5s ease;
	margin-bottom: 20px;
}

.fixed_btn a:hover {
	border: 1px solid #fff;
	background-color: #ea5504;
	color: #fff;
}

@media only screen and (max-width: 900px) {
.footertop p { font-size: 0.9em;}
.footerbottom_item3 { width: 100%;}
}

@media only screen and (max-width: 640px) {
.footerbottom_item1 { width: 100%; text-align: center; margin: 16px 0;}
.footerbottom_item1 img{ width: 170px;}
.footerbottom_item2 { width: 100%; text-align: center; margin-bottom: 16px;}
.fixed_btn { right: 10px;}
.fixed_btn a { width: 70px; height: 70px; font-size: 0.7em; margin-bottom: 10px;}
}

/* -----------------------------------------------------
lineup
----------------------------------------------------- */

.lineup_header1 {
	width: 100%;
	background-color: #ea5504;
	overflow: hidden;
}

.lineup_header1_wrap {
	width: min(1200px, calc(100% - 40px));
	height: 80px;
 	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

.lineup_header1_logo {
	width: 170px;
	display: flex;
	align-items: center;
}

.lineup_header1_logo img {
	width: 100%;
}

.lineup_header1_title {
	width: calc(100% - 190px);
	text-align: right;
	margin-top: 10px;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.5em;
	font-weight: 500;
	line-height: 1;
	background-image: url(../images/headertitle.svg);
	background-repeat: no-repeat;
	background-size: min(530px, 98%);
	background-position: bottom right;
}

.lineup_header2 {
	width: 100%;
	background-color: #e9e5e2;
}

.lineup_header2_wrap {
	width: min(1200px, calc(100% - 80px));
	min-height: 40px;
 	margin: 0 auto;
 	padding: 10px 0;
 	display: flex;
	align-items: center;
}

.pankuzu li{
	display: inline;
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	line-height: 1.3;
}

.pankuzu li a{
	color: #000;
}

.pankuzu li a:hover{
	text-decoration: underline;
}

.pankuzu li + li{
	margin-left: 16px;
}

.pankuzu li + li:before{
	content: "＞";
	display: inline;
	margin-right: 16px;
}

@media only screen and (max-width: 640px) {
.lineup_header1_wrap { width: min(1200px, calc(100% - 20px)); height: 50px;}
.lineup_header1_logo { width: 120px;}
.lineup_header1_title { width: calc(100% - 120px); font-size: min(1.3em, 5vw); background-size: min(320px, 98%);}
.lineup_header2_wrap { width: min(1200px, calc(100% - 40px)); min-height: auto; padding: 6px 0;}
.pankuzu li{ font-size: 0.7em;}
.pankuzu li + li{ margin-left: 10px;}
.pankuzu li + li:before{ margin-right: 10px;}
}

.lineup_intro {
	width: 100%;
	margin-bottom: 40px;
	background-image: url(../images/lineup_intro.webp);
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: top right;
}

.lineup_intro_img img {
	width: 100%;
}

.lineup_intro_wrap {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto;
	padding: 40px 0;
}

.lineup_intro_wrap h2 {
	font-family: "Murecho", sans-serif;
	color: #ea5504;
	font-size: 3em;
	font-weight: 400;
	line-height: 1.3;
	margin-bottom: 30px;
}

.lineup_intro_main {
	width: min(600px, 60%);
}

.lineup_intro_midashi {
	color: #f39800;
	font-family: "Murecho", sans-serif;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1.4em;
	margin-bottom: 10px;
}

.lineup_intro_item {
	width: 100%;
	border: 1px solid #666;
	position: relative;
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
}

.lineup_intro_item:after {
	position: absolute;
	top: calc(100% + 8px);
	left: calc(50% - 15px);
	content: url('../images/lineup_intro_mark.svg');
	display: block;
	width: 30px;
	height: 15px;
}

.lineup_intro_left {
	width: 30%;
	background-color: #fff1b2;
	display: flex;
	align-items: center;
	padding: 8px 12px;
	font-family: "Murecho", sans-serif;
	font-size: min(1.1em, 1.8vw);
	font-weight: 500;
	line-height: 1.3;
}

.lineup_intro_right {
	width: 70%;
	display: flex;
	align-items: center;
	padding: 8px 12px;
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	line-height: 1.3;
	text-align: justify;
}

.lineup_intro_item2 {
	width: 100%;
	background-color: #fdd000;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 14px;
	font-family: "Murecho", sans-serif;
	font-size: 1.4em;
	font-weight: 500;
	line-height: 1;
}

.lineup_intro_column {
	border: 1px solid #666;
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto 60px auto;
	display: flex;
	flex-wrap: wrap;
}

.lineup_intro_column_left {
	width: 280px;
	padding: 16px 32px 16px 16px;
	display: flex;
	align-items: center;
	border-right: 1px solid #666;
}

.lineup_intro_column_left img {
	width: 100%;
}

.lineup_intro_column_right {
	width: calc(100% - 280px);
	padding: 16px 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
}

.lineup_intro_column_text {
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 300;
	line-height: 1.3;
	text-align: justify;
}

.lineup_intro_column_note {
	margin-top: 8px;
	font-family: "Murecho", sans-serif;
	font-size: 0.8em;
	font-weight: 300;
	line-height: 1.3;
	text-align: justify;
}

@media only screen and (max-width: 1200px) {
.lineup_intro { background-position: top right -20%;}
}

@media only screen and (max-width: 1000px) {
.lineup_intro { background-size: 50% auto; background-position: top right;}
}

@media only screen and (max-width: 640px) {
.lineup_intro { background-image: none;}
.lineup_intro_wrap { padding: 16px 0 0 0;}
.lineup_intro_wrap h2 { font-size: min(2em, 9vw); margin-bottom: 10px;}
.lineup_intro_main { width: 100%;}
.lineup_intro_left { width: 40%; font-size: min(0.9em);}
.lineup_intro_right { width: 60%; font-size: 0.8em;}
.lineup_intro_column { margin: 0 auto 40px auto;}
.lineup_intro_column_left { width: 100%; padding: 16px 16px 0 16px; border-right: none;}
.lineup_intro_column_left img { width: 200px; margin: 0 auto;}
.lineup_intro_column_right { width: 100%;}
.lineup_intro_column_text { font-size: 0.8em;}
.lineup_intro_column_note { font-size: 0.7em;}
}

.course_wrap {
	width: 100%;
	background-color: #e6e6d8;
}

.course_list {
	width: min(1200px, calc(100% - 40px));
	margin: 0 auto 0 auto;
}

.course_wrap[data-sticky='true'] {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99;
}

.course_list ul {
	display: flex;
	flex-wrap: wrap;
	padding: 4px 0;
}

.course_list li {
	width: calc(100% / 6);
	min-height: 40px;
	margin-bottom: 4px;
	border-left: 1px solid #666;
	padding: 0 4px;
	text-align: center;
}

.course_list li:nth-child(6n),
.course_list li:nth-child(15) {
	border-right: 1px solid #666;
}

.course_list li:nth-child(13),
.course_list li:nth-child(14),
.course_list li:nth-child(15) {
	margin-bottom: 0;
}

.course_list li a {
	color: #000;
	font-family: "Murecho", sans-serif;
	font-size: min(0.85em, 1.2vw);
	font-weight: 400;
	line-height: 1.2;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background-color 0.5s ease;
}

.course_list li a:hover {
	background-color: #333;
}

.course_list li a:hover {
	color: #fff;
}

@media only screen and (max-width: 768px) {
.course_list li { min-height: 30px; padding: 0 2px;}
.course_list li a { font-size: min(0.6em, 2vw);}
}

.lineup_basicsec {
	padding: 60px 0;
}

.lineup_basicsec h2 {
	color: #ea5504;
	font-family: "Murecho", sans-serif;
	font-size: 2.4em;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 40px;
	margin-left: calc(50% - 600px);
	position: relative;
}

.lineup_basicsec h2:before {
	position: absolute;
	top: 0;
	left: calc(590px - 50vw);
	content: "";
	display: block;
	width: calc(50vw - 600px);
	height: 100%;
	background: #ea5504;
}

.lineup_tbl_wrap {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto;
	overflow-x: scroll;
	white-space: nowrap;
}

.lineup_tbl_wrap table {
	width: 100%;
}

.lineup_tbl_col1 {
	width: 44%;
}

.lineup_tbl_col2 {
	width: 8%;
	border-left: 1px solid #999;
}

.lineup_tbl_col3 {
	width: 12%;
	border-left: 1px solid #999;
}

.lineup_tbl_wrap table tr:nth-child(2n+1) {
	background-color: #f3f3ec;
}

.lineup_tbl_wrap table tr:first-child {
	border: 1px solid #333;
	background-color: #fff;
}

.lineup_tbl_wrap table tr th {
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 400;
	line-height: 1;
	padding: 8px;
}

.lineup_tbl_wrap table tr td {
	vertical-align:middle;
}

.course_name {
	font-family: "Murecho", sans-serif;
	font-size: 1.1em;
	font-weight: 400;
	line-height: 1.3;
	padding: 20px;
}

.course_price {
	font-family: "Murecho", sans-serif;
	font-size: 1.2em;
	font-weight: 400;
	line-height: 1.3;
	padding: 16px;
	text-align: center;
}

.course_keitai {
	text-align: center;
	padding: 8px;
}

.course_keitai span + span {
	margin-left: 6px;
}

.keitai_c {
	display: inline-block;
	width: 36px;
	line-height: 36px;
	border-radius: 6px;
	background-color: #78bda3;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.2em;
	font-weight: 600;
	text-align: center;
}

.keitai_f {
	display: inline-block;
	width: 36px;
	line-height: 36px;
	border-radius: 6px;
	background-color: #e7a19f;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.2em;
	font-weight: 600;
	text-align: center;
}

.keitai_e {
	display: inline-block;
	width: 36px;
	line-height: 36px;
	border-radius: 6px;
	background-color: #e3b57a;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.2em;
	font-weight: 600;
	text-align: center;
}

.kyufukin {
	display: inline-block;
	margin-left: 12px;
	padding: 2px 3px;
	border: 1px solid #666;
	border-radius: 3px;
	background-color: #fff;
	font-family: "Murecho", sans-serif;
	color: #000;
	font-size: 0.7em;
	font-weight: 400;
}

.course_btn {
	text-align: center;
	padding: 8px;
}

.course_btn a {
	background-color: #fdd000;
	display: inline-block;
	border-radius: 6px;
	padding: 8px 24px 8px 12px;
	color: #000;
	font-family: "Murecho", sans-serif;
	font-size: 0.9em;
	font-weight: 500;
	line-height: 1;
	position: relative;
	transition: background-color 0.5s ease;
}

.course_btn a:after {
	position: absolute;
	top: calc(50% - 7px);
	right: 10px;
	content: url('../images/course_btn_mark1.svg');
	display: block;
	width: 8px;
	height: 14px;
}

.course_btn a:hover {
	background-color: #ea5504;
	color: #fff;
}

.course_btn a:hover:after {
	content: url('../images/course_btn_mark2.svg');
}

.lineup_comments {
	width: min(1200px, calc(100% - 80px));
	margin: 40px auto 0 auto;
	border: 1px solid #666;
	padding: 20px;
}

.lineup-caption {
	font-family: "Murecho", sans-serif;
	color: #000;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.5;
	margin-top: 6px;
}

.lineup-caption2 {
	font-family: "Murecho", sans-serif;
	color: #000;
	font-size: 1em;
	font-weight: 300;
	line-height: 2;
	margin-bottom: 12px;
}

.caption_keitai_c {
	display: inline-block;
	width: 28px;
	line-height: 28px;
	border-radius: 5px;
	background-color: #78bda3;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.1em;
	font-weight: 600;
	text-align: center;
	margin-right: 10px;
}

.caption_keitai_f {
	display: inline-block;
	width: 28px;
	line-height: 28px;
	border-radius: 5px;
	background-color: #e7a19f;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.1em;
	font-weight: 600;
	text-align: center;
	margin-right: 10px;
}

.caption_keitai_e {
	display: inline-block;
	width: 28px;
	line-height: 28px;
	border-radius: 5px;
	background-color: #e3b57a;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.1em;
	font-weight: 600;
	text-align: center;
	margin-right: 10px;
}

.caption_kyufukin {
	display: inline-block;
	margin-right: 8px;
	padding: 1px 6px;
	border: 1px solid #666;
	border-radius: 3px;
	background-color: #fff;
	color: #000;
	font-size: 0.9em;
	font-weight: 400;
}

.lineup-caption a {
	color: #ea5504;
	font-weight: 500;
}

.course_smalltxt {
	font-size: 80%;
}

@media only screen and (max-width: 1280px) {
.lineup_basicsec h2 { margin-left: 40px;}
.lineup_basicsec h2:before { left: -40px; width: 30px;}
.course_name { font-size: 1em;}
.course_price { font-size: 1.1em;}
}

@media only screen and (max-width: 800px) {
.lineup_basicsec h2 { font-size: 2em; padding-right: 40px;}
}

@media only screen and (max-width: 640px) {
.lineup_basicsec h2 { font-size: 1.6em; margin-bottom: 20px;}
.lineup_tbl_wrap table tr th { font-size: 0.7em; padding: 5px;}
.course_name { font-size: 0.8em; padding: 8px;}
.course_price { font-size: 0.8em; padding: 8px;}
.keitai_c,.keitai_f,.keitai_e { width: 22px; line-height: 22px; border-radius: 4px; font-size: 0.8em;}
.kyufukin { font-size: min(0.7em, 2.2vw);}
.course_btn a { border-radius: 6px; padding: 6px 16px 6px 6px; font-size: 0.7em;}
.course_btn a:after { top: calc(50% - 5px); right: 6px; width: 5px; height: 10px;}
.lineup_comments { margin: 20px auto 0 auto; padding: 12px;}
.lineup-caption { font-size: 0.8em; margin-top: 10px;}
.lineup-caption2 { font-size: 0.8em; line-height: 2.2; margin-bottom: 12px;}
.caption_keitai_c,.caption_keitai_f,.caption_keitai_e { width: 24px; line-height: 24px; border-radius: 4px; font-size: 0.9em; margin-right: 6px;}
}


/* -----------------------------------------------------
course detail
----------------------------------------------------- */

.detail_title_wrap {
	width: min(1200px, calc(100% - 80px));
	margin: 40px auto 60px auto;
	display: flex;
	flex-wrap: wrap;
}

.detail_title_left {
	width: 45%;
	margin-right: 5%;
}

.detail_title_right {
	width: 50%;
}

.detail_title_wrap h2 {
	font-family: "Murecho", sans-serif;
	color: #ea5504;
	font-size: 3em;
	font-weight: 400;
	line-height: 1.3;
	margin-bottom: 30px;
}

.detail_title_wrap h3 {
	color: #f39800;
	font-family: "Murecho", sans-serif;
	font-size: 1.6em;
	font-weight: 500;
	line-height: 1.4em;
}

.detail_title_wrap p {
	margin-top: 8px;
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.6em;
	text-align: justify;
}

.detail_content {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto 60px auto;
	background-color: #e9e5e2;
}

.detail_content_midashi {
	border-top: 4px solid #333 ;
	margin-bottom: 20px;
}

.detail_content_midashi span {
	display: block;
	text-align: center;
	width: 280px;
	padding: 4px 28px 10px 0;
	background-color: #333;
	color: #fff;
	font-family: "Murecho", sans-serif;
	font-size: 1.2em;
	font-weight: 400;
	line-height: 1em;
	clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
}

.detail_content2 {
	width: min(1200px, calc(100% - 80px));
	margin: 0 auto 40px auto;
}

.detail_content p {
	padding: 0 40px 20px 40px;
	font-family: "Murecho", sans-serif;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.6em;
	text-align: justify;
}

.detail_content_wrap {
	display: flex;
	flex-wrap: wrap;
}

.detail_content_item {
	width: calc(25% - 15px);
	margin-right: 20px;
	background-color: #e9e5e2;
	border-radius: 12px;
	padding: 12px;
	text-align: center;
}

.detail_content_item:last-child {
	margin-right: 0;
}

.detail_content_item_top {
	font-family: "Murecho", sans-serif;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1;
}

.detail_content_item_bottom {
	min-height: 120px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}

.detail_content_item:nth-child(2) .detail_content_item_bottom {
	flex-direction: column;
}

.detail_content_item_bottom p {
	font-family: "Murecho", sans-serif;
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1;
}

.detail_content_item_number {
	font-size: 160%;
}

.keitai_largeicon {
	display: inline-block;
	width: 48px;
	line-height: 48px;
	border-radius: 8px;
	font-family: "Murecho", sans-serif;
	color: #fff;
	font-size: 1.8em;
	font-weight: 600;
	text-align: center;
	margin-top: 12px;
}

.keitai_c_large {
	background-color: #78bda3;
}

.keitai_f_large {
	background-color: #e7a19f;
}

.keitai_e_large {
	background-color: #e3b57a;
}

.keitai_largeicon + .keitai_largeicon {
	margin-left: 12px;
}

.detail_kyufukin {
	display: inline-block;
	margin-top: 8px;
	padding: 3px 6px;
	border: 1px solid #666;
	border-radius: 3px;
	background-color: #fff;
	color: #000;
	font-size: 0.9em;
	font-weight: 400;
}

@media only screen and (max-width: 900px) {
.detail_title_left { width: 100%; margin-right: 0; margin-bottom: 10px;}
.detail_title_right { width: 100%;}
}

@media only screen and (max-width: 640px) {
.detail_title_wrap { margin: 20px auto 30px auto;}
.detail_title_left { margin-bottom: 0;}
.detail_title_wrap h2 { font-size: 2em; margin-bottom: 8px;}
.detail_title_wrap h3 { font-size: 1.2em;}
.detail_title_wrap p { margin-top: 8px; font-size: 0.9em;}
.detail_content { margin: 0 auto 30px auto;}
.detail_content_midashi { margin-bottom: 10px;}
.detail_content_midashi span { width: 160px; padding: 0 16px 6px 0; font-size: 1em;}
.detail_content2 { margin: 0 auto 20px auto;}
.detail_content p { padding: 0 20px 12px 20px; font-size: 0.9em; line-height: 1.5em;}
.detail_content_item { width: 100%; margin-right: 0; margin-bottom: 20px; padding: 12px;}
.detail_content_item:last-child { margin-bottom: 0;}
.detail_content_item_top { font-size: 1em; margin-bottom: 8px;}
.detail_content_item_bottom { min-height: auto;}
.detail_content_item_bottom p { font-size: 1.1em;}
.keitai_largeicon { width: 40px; line-height: 40px; border-radius: 6px; font-size: 1.6em; margin-top: 4px;}
}


/* 260129追記　↓ */
.course_wrap[data-sticky='true'] {
	position: sticky;
}

.lineup_basicsec {
	scroll-margin-top: 136px;
}

.lineup_basicsec.fullview {
    min-height: calc(100vh - 38%);
    display: flex;
    align-items: center;
}


