
img { max-width:100% !important; height:auto; }
main {
	margin:0 auto;
	padding-bottom:5.0em;
	width: calc( var(--vw) * 100 );
}
section {
	display:block;
	margin:0 auto !important;
	padding:0 !important;
	text-align:center;
}
section#mv,
section#type_menu {
	display:block;
	margin:0em auto;
	text-align:center;
}
section h1 {
	font-weight:bold;
	font-size:110%;
	text-align:center;
}
section h1 > span {
	font-weight:bold;
	font-size:220%;
}
img { display:block !important; }

.w_85 { width:85%; }
.w_80 { width:80%; }
.mgtm2 { margin-top:-2.0em !important; }
.mgtm4 { margin-top:-4.0em !important; }
.mgtm5 { margin-top:-5.0em !important; }
.mgt0 { margin-top:0em !important; }
.mgt2 { margin-top:2.0em !important; }
.mgt5 { margin-top:5.0em !important; }
.mgt7 { margin-top:7.0em !important; }
.mgb2 { margin-bottom:2.0em !important; }
.mgb5 { margin-bottom:5.0em !important; }
.mx700 { max-width:700px !important; }


@media only screen and (max-width: 849px) {
}



/* index slider ------------------------------ */

section#mv {
/*	width:100vw !important; */
	width: calc( var(--vw) * 100 );
	max-width:100% !important;
	overflow-x:hidden !important;
	margin:0 auto;
	position:relative;
	z-index:1;
}


/* ------------------------------
	slider
------------------------------- */

.slider {
	display:block;
	position:relative;
}
#type03 .slider {
	display:block;
	position:relative;
	margin:2.0em auto;
}
.slider img {
	display:block;
	max-width:100%;
	height:auto;
}
.slick-track {
	display:flex;
	align-items:stretch !important;
}
#techno .thum .slick-track {
	transform: unset !important;
}
.slick-list {
	max-width:100vw !important;
}
.slick-slide {
	display:block;
	max-width:100vw !important;
	margin:0 !important;
	padding:0 !important;
}
#slider_t .slick-slide img {
	max-width:100vw !important;
}
#type03 .slick-slide img {
	width:99% !important;
}


.play_button_wrap {
	display:flex;
	justify-content:center;
	align-items:center;
	gaps:0 40px;
	position:absolute;
	bottom:1.0em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	box-sizing:border-box;
	padding:0.3em 1.5em;
	border:2px solid #BA5767;
	border-radius:50px;
}
#mv .slider {
	padding:0;
	margin:0;
	position:relative;
}
#mv .slick_dots {
	display:flex;
	justify-content:center;
	align-items:center;
}
#mv .slick_dots > li {
	width:10px;
	height:10px;
	padding:0;
	margin:0 5px !important;
	position:relative;
	cursor:pointer;
}
#mv .slick_dots > li:before {
	content:"";
/*	display:none; */
	display:block;
	width:10px;
	height:10px;
	background:#eaeaea;
	border-radius:50% 50%;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
#mv .slick_dots > li > button {
	display:block;
	width:10px;
	height:10px;
	background:#eaeaea;
	border-radius:50% 50%;
}

#mv .slick_dots > li:hover:before,
#mv .slick_dots > li.slick-active:hover:before {
	background:#fff !important;
}
#mv .slick_dots > li.slick-active:before {
	background:#BA5767 !important;
}
#mv .slick_dots > li button {
	display:none !important;
}


/* スライダー再生ボタンについて */
.slick_pause.btn {
  width: 30px;  /* 幅を指定 */
  height: 30px;  /* 高さを指定 */
  background-color: #fff;  /* 背景色を指定 */
  border-radius: 50%; /* 角を丸くする */
  position: relative;  /* 基準位置とする */
  cursor: pointer;     /* マウスカーソルを指（👆）の形にする */
	border: solid 2px #BA5767;
	margin-right:10px;
}
.btn::after {
  content: ''; /* 疑似要素に必須 */
  width: 9px;  /* 幅を指定 */
  height: 13px; /* 高さを指定 */
  border-width: 0 3px 0 3px; /*線を左右に指定*/
  border-color: transparent #BA5767 transparent #BA5767;  /* 左右に線の色を指定 */
  border-style: solid;  /* 線の種類を指定 */
  position: absolute; /* 相対位置に指定 */
  top: 50%;  /* 上から50%の位置に配置 */
  left: 50%; /* 左から50%の位置に配置 */
  transform: translate(-50%,-50%); /* 要素の半分ぶんだけ左上方向に移動。 */
}
.btn.playback::after {
  width: 0;    /* 幅を0に指定 */
  height: 0;   /* 高さを0に指定 */
  border-width: 7px 0 7px 14px;  /* 線の幅を指定して三角を作る */
  border-color: transparent transparent transparent #BA5767; 
	 /* 左のみ線の色を指定 */
  margin-left:2px;
}
.play_button_wrap{
    text-align: center;
}



@media only screen and (max-width: 748px) {
.play_button_wrap {
	display:flex;
	justify-content:center;
	align-items:center;
	gaps:0 40px;
	position:absolute;
	bottom:10px;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	box-sizing:border-box;
	padding:0.2em 1.5em;
	border:1px solid #BA5767;
	border-radius:50px;
}
}


/* ------------------------------
	メニュー
------------------------------- */

.follow_target {
	display:block;
}
#head_menu,
#f_menu {
	padding:4.0em 0;
	margin:0 auto;
	background:#DCB8B8;
}
#head_menu > ul,
#f_menu > ul {
	width:80%;
	max-width:800px;
	margin:0 auto;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:20px 0;
}
#head_menu > ul > li,
#f_menu > ul > li {
	display:block;
	background:#fff;
	border:2px solid #000;
	border-radius:20px;
	padding:1.5em 0;
	text-align:center;
	font-weight:bold;
	position:relative;
}
#head_menu > ul > li:nth-of-type(1),
#head_menu > ul > li:nth-of-type(2),
#f_menu > ul > li:nth-of-type(1),
#f_menu > ul > li:nth-of-type(2) {
	width:49%;
	font-size:27px;
}
#head_menu > ul > li:nth-of-type(3),
#head_menu > ul > li:nth-of-type(4),
#head_menu > ul > li:nth-of-type(5),
#f_menu > ul > li:nth-of-type(3),
#f_menu > ul > li:nth-of-type(4),
#f_menu > ul > li:nth-of-type(5) {
	width:32%;
	font-size:21px;
}
#head_menu > ul > li:before,
#f_menu > ul > li:before {
	content:"";
	display:block;
}
#head_menu > ul > li:after {
	content:"";
	display:block;
	width:0.6em;
	height:calc(0.6em * 0.9444);
	background:url(../images/i_double.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:auto;
	bottom:0.4em;
	left:50%;
}
#head_menu > ul > li > a,
#menu_fix #f_menu > ul > li a {
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
}
#head_menu > ul > li > a span,
#menu_fix #f_menu > ul > li a span {
	display:inline-block;
	width:3.5em;
	margin-left:0.2em;
	position:relative;
}
#head_menu > ul > li > a span:before {
	content:"";
	display:block;
	width:4.7em;
	height:calc(4.7em * 0.79197);
	background:url(../images/logo_item_01_pc.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	right:-1.3em;
	margin-top:0.3em;
	transform: translate(0%, -50%);
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
}
#head_menu > ul > li.i_02 > a span:before {
	content:"";
	display:block;
	width:4.2em;
	height:calc(4.2em * 0.688);
	background:url(../images/i_item02.png) no-repeat;
	background-size:contain;
	right:-0.7em;
	margin-top:-0.1em;
}
#head_menu > ul > li.i_03 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.54878);
	background:url(../images/i_item03.png) no-repeat;
	background-size:contain;
	right:-1.0em;
	margin-top:-0.1em;
}
#head_menu > ul > li.i_04 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.40217);
	background:url(../images/i_item04.png) no-repeat;
	background-size:contain;
	right:-0.2em;
	margin-top:-0.1em;
}
#head_menu > ul > li.i_05 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.41758);
	background:url(../images/i_item05.png) no-repeat;
	background-size:contain;
	right:-0.2em;
	margin-top:-0.1em;
}


@media only screen and (max-width: 849px) {
#head_menu > ul {
	width:95%;
	max-width:800px;
	margin:0 auto;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:20px 0;
}
#head_menu > ul > li {
	display:block;
	background:#fff;
	border:2px solid #000;
	border-radius:20px;
	padding:1.7em 0 1.3em 0;
	text-align:center;
	font-weight:bold;
	position:relative;
}
#head_menu > ul > li:nth-of-type(1),
#head_menu > ul > li:nth-of-type(2) {
	width:49%;
	font-size:3.2vw !important;
}
#head_menu > ul > li:nth-of-type(3),
#head_menu > ul > li:nth-of-type(4),
#head_menu > ul > li:nth-of-type(5) {
	width:32%;
	font-size:2.9vw !important;
}
#head_menu > ul > li > a span,
#menu_fix #f_menu > ul > li > a span {
	display:none;
}
#head_menu > ul > li:before {
	content:"";
	display:block;
	width:12.5em;
	height:calc(12.5em * 0.2816);
	background:url(../images/logo_item_01_sp.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:-2.0em;
	right:auto;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-5ssss0%, 0%);
}
#head_menu > ul > li.i_02:before {
	content:"";
	display:block;
	width:4.7em;
	height:calc(4.7em * 0.688);
	background:url(../images/i_item02.png) no-repeat;
	background-size:contain;
	top:-1.7em;
}
#head_menu > ul > li.i_03:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.54878);
	background:url(../images/i_item03.png) no-repeat;
	background-size:contain;
	top:-1.0em;
}
#head_menu > ul > li.i_04:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.40217);
	background:url(../images/i_item04.png) no-repeat;
	background-size:contain;
	top:-1.0em;
}
#head_menu > ul > li.i_05:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.41758);
	background:url(../images/i_item05.png) no-repeat;
	background-size:contain;
	top:-1.0em;
}
}


@media only screen and (max-width: 498px) {
#head_menu > ul > li {
	display:block;
	background:#fff;
	border:2px solid #000;
	border-radius:15px;
	padding:1.5em 0;
	text-align:center;
	font-weight:bold;
	position:relative;
}
}

#menu_fix {
	width: 100%;
	margin:0;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index:1;
	background:none;
}
#menu_fix.follow_menu {
	display:block;
	border-radius:50%;
	background-position:80% 0;
	bottom:0;
	transition: 0.7s;
	bottom: -500px;
}
#menu_fix #f_menu {
	width:70%;
	padding:0 0 1.0em 0;
	margin:0 auto;
	background:none;
	position:relative;
}
#menu_fix #f_menu:before {
	content:"";
	display:block;
/*	height:4.0em;
	width:calc(4.0em * 13.253); */
	width:100vw;
	height:calc(100vw * 0.111538);
	background:url(../images/menu_btm_pc.webp) no-repeat;
	background-size:100%;
	position:absolute;
	top:30px;
	bottom:auto;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	pointer-events:none !important;
	z-index:0;
}
#menu_fix #f_menu > ul {
	width:80%;
	max-width:600px;
	margin:0 auto;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:12px 0;
}
#menu_fix #f_menu > ul > li {
	display:block;
	background:#fff;
	border:2px solid #000;
	border-radius:18px;
	padding:0 0;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	height:4.2em;
	line-height:4.2em;
	position:relative;
}
#f_menu > ul > li:nth-of-type(3),
#f_menu > ul > li:nth-of-type(4),
#f_menu > ul > li:nth-of-type(5) {
	font-size:14px !important;
}
#menu_fix #f_menu > ul > li:before,
#menu_fix #f_menu > ul > li:after {
	display:none;
}
#menu_fix #f_menu > ul > li a {
	display:block;
}
#menu_fix #f_menu > ul > li a span:before {
	content:"";
	display:block;
	width:6.0em;
	height:calc(6.0em * 0.625) !important;
	background:url(../images/logo_item_01.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	right:0em;
	transform: translate(0%, -50%);
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
}
#menu_fix #f_menu > ul > li.i_01 a span:before {
	content:"";
	display:block;
	width:6.2em;
	height:calc(6.2em * 0.55939) !important;
	background:url(../images/logo_item_01.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	right:-2.8em;
	margin-top:-0.5em;
	transform: translate(0%, -50%);
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
}
#menu_fix #f_menu > ul > li.i_02 > a span:before {
	content:"";
	display:block;
	width:5.0em;
	height:calc(5.0em * 0.688);
	background:url(../images/i_item02.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-1.6em;
	margin-top:-0.5em;
}
#menu_fix #f_menu > ul > li.i_03 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.54878);
	background:url(../images/i_item03.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-1.0em;
}
#menu_fix #f_menu > ul > li.i_04 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.40217);
	background:url(../images/i_item04.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-0.2em;
}
#menu_fix #f_menu > ul > li.i_05 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.41758);
	background:url(../images/i_item05.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-0.2em;
}


@media only screen and (max-width: 1139px) {
#menu_fix #f_menu:before {
	content:"";
	display:block;
/*	height:4.0em;
	width:calc(4.0em * 13.253); */
	width:150vw;
	height:calc(150vw * 0.111538);
	background:url(../images/menu_btm_pc.webp) no-repeat;
	background-size:contain;
	position:absolute;
	top:20px;
	bottom:auto;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	pointer-events:none !important;
	z-index:0;
}
}

@media only screen and (max-width: 1045px) {
#menu_fix #f_menu > ul > li.i_01 a span:before {
	content:"";
	display:block;
	width:9vw;
	height:calc(9vw * 0.55939) !important;
	background:url(../images/logo_item_01.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	right:-3vw;
	margin-top:-0.5em;
	transform: translate(0%, -50%);
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
}
#menu_fix #f_menu > ul > li.i_02 > a span:before {
	content:"";
	display:block;
	width:8vw;
	height:calc(8vw * 0.688);
	background:url(../images/i_item02.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-2vw;
	margin-top:-0.5em;
}
#menu_fix #f_menu > ul > li.i_03 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.54878);
	background:url(../images/i_item03.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-1.0em;
}
#menu_fix #f_menu > ul > li.i_04 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.40217);
	background:url(../images/i_item04.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-0.2em;
}
#menu_fix #f_menu > ul > li.i_05 > a span:before {
	content:"";
	display:block;
	height:2.5em;
	width:calc(2.5em * 1.41758);
	background:url(../images/i_item05.png) no-repeat;
	background-size:contain;
	top:50%;
	right:-0.2em;
}
}

@media only screen and (max-width: 849px) {
#menu_fix #f_menu {
	display:none;
}
}
@media only screen and (max-width: 498px) {
#menu_fix #f_menu {
	display:none;
}
}



/* ------------------------------
	about_type
------------------------------- */

.about_type {
	width:100%;
	background:url(../images/bg_01_pc.webp) no-repeat;
	background-position: 50% 0%;
	background-size:100%;
	margin:0;
	padding:0;
}
.about_type#type02 {
	width:100%;
	background:#EFF0F2 !important;
	margin:0;
	padding:0;
}
.about_type#type02 .about_type_wrap {
	background:url(../images/bg_02_pc.webp) no-repeat;
	background-position: 50% 0%;
	background-size:100%;
	padding-bottom:7.0em;
}
.about_type#type03 {
	width:100%;
	background:#fff !important;
	margin:0;
	padding:0;
}
.about_type#type03 .about_type_wrap {
	background:url(../images/bg_03_pc.webp) no-repeat;
	background-position: 50% 0%;
	background-size:100%;
	padding-bottom:7.0em;
}
.about_type#type04 {
	width:100%;
	background:#F8F7F4 !important;
	margin:0;
	padding:0;
}
.about_type .type_logo {
	width:100%;
	display:block;
	padding:8.0em 0 3.0em 0;
}
.about_type .type_logo > img {
	width:52px;
	height:auto;
	margin:0 auto;
}
@media only screen and (max-width: 498px) {
out_type .type_logo > img {
	width:36px;
	height:auto;
	margin:0 auto;
}
}
.about_type .logo_img {
	display:block;
	min-width:30%;
	max-width:450px !important;
	margin:5.0em auto;
	position:relative;
}
.about_type#type01 .logo_img > img {
	margin-left:10% !important;
}
.about_type .logo_img:after {
	content:"";
	display:block;
	height:7.0em;
	width:calc(7.0em * 1.56);
	background:url(../images/logo_item_01.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:65%;
	left:auto;
	right:-8.3em !important;
	transform: translate(0%, -50%);
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
}
.about_type#type02 .logo_img:after {
	content:"";
	display:block;
	height:6.5em;
	width:calc(6.5em * 1.528);
	background:url(../images/logo_item_02b.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:65%;
	left:auto;
	right:-11.0em !important;
	transform: translate(0%, -50%);
	-webkit-transform: translate(0%, -50%);
	-ms-transform: translate(0%, -50%);
}
.about_type > h1,
.about_type_wrap > h1 {
	margin:5.0em auto 3.0em auto;
}
.about_type > h1 > span,
.about_type_wrap > h1 > span {
	background:#fff;
	color:#000;
	border:3px solid #DCB8B8;
	border-radius:50px;
	box-sizign:border-box;
	padding:0.5em 4.5em;
	font-weight:bold;
	font-size:27px;
	position:relative;
}
.about_type#type02 > h1 > span,
#type02 .about_type_wrap > h1 > span,
.about_type#type04 > h1 > span,
#type04 .about_type_wrap > h1 > span {
	border:3px solid #717171;
}
.about_type#type03 > h1 > span,
#type03 .about_type_wrap > h1 > span {
	border:3px solid #BA5767;
}
.about_type > h1 > span:after,
.about_type_wrap > h1 > span:after {
	content:"";
	display:block;
	width:0.5em;
	height:calc(0.5em * 1.5);
	background:url(../images/huki_btm.webp) no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-0.7em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}
.about_type#type02 > h1 > span:after,
#type02 .about_type_wrap > h1 > span:after,
.about_type#type04 > h1 > span:after,
#type04 .about_type_wrap > h1 > span:after  {
	content:"";
	display:block;
	width:0.5em;
	height:calc(0.5em * 1.4);
	background:url(../images/huki_btm_bk.webp) no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-0.69em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}
.about_type#type03 > h1 > span:after,
#type03 .about_type_wrap > h1 > span:after {
	content:"";
	display:block;
	width:0.5em;
	height:calc(0.5em * 1.5);
	background:url(../images/huki_btm_re.webp) no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-0.71em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}
.about_type > h1#cospaBox {
	position:relative;
	z-index:0;
	margin:5.0em auto 1.5em auto;
}
.about_type > h1#cospaBox > span:after {
	content:"";
	display:block;
	width:0.5em;
	height:calc(0.5em * 1.5);
	background:url(../images/huki_btm.webp) no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-0.73em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}
.about_type > h1#cospaBox > span#cospa {
	background:none;
	background: linear-gradient(transparent 50%, #fff 50%);
	color:#BA5767;
	border:none;
	border-radius:0px;
	box-sizign:border-box;
	padding:0.5em 0.2em;
	font-weight:bold;
	font-size:18px;
	position:absolute;
	top:-2.55em;
	left:50%;
	z-index:2;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}
.about_type > h1 > span#cospa:after {
	display:none;
}
.about_type > h2,
.about_type_wrap > h2 {
	font-size:20px;
	font-weight:bold;
	margin:2.0em auto 0 auto;
	line-height:1.7em;
}
#type03 .about_type_wrap > h2:nth-of-type(2) {
	margin:-2.0em auto 0 auto !important;
}
.about_type > p {
	text-align:center;
	margin:4.0em auto;
}
.about_type p.iso {
	width:80%;
	max-width:700px;
	font-size:18px;
	font-weight:500;
	margin:3.0em auto;
}
.about_type p.iso > span {
	display:block;
	font-size:14px;
	font-weight:400;
	margin-top:1.5em;
}
.about_type p.cost {
	font-size:20px;
	font-weight:500;
	line-height:1.7em;
	margin:3.0em auto;
}
.about_type .color_wrap {
	width:85%;
	max-width:800px;
	margin:0 auto 5.0em auto;
	position:relative;
}
.about_type#type01 .color_wrap:nth-of-type(2) > img {
	position:relative;
	right:-8% !important;
}


/* ------------------------------
	about_type02
------------------------------- */


@media only screen and (max-width: 849px) {

.about_type {
	overflow-x:hidden;
}
.about_type .logo_img {
	display:block;
	min-width:50%;
	width:67% !important;
	margin:5.0em auto;
	position:relative;
}
.about_type#type02 .logo_img {
	display:block;
	min-width:50%;
	width:53% !important;
	margin:5.0em auto;
	position:relative;
}
.about_type#type01 .logo_img > img {
	margin-left:10% !important;
}
.about_type .logo_img:after {
	content:"";
	display:block;
	height:7.0em;
	width:calc(7.0em * 1.56);
	background:url(../images/logo_item_01.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:auto;
	left:auto;
	bottom:-12.5%;
	right:-24.5% !important;
	transform: translate(0%, 0%);
	-webkit-transform: translate(0%, 0%);
	-ms-transform: translate(0%, 0%);
}
.about_type#type02 .logo_img:after {
	content:"";
	display:block;
	height:5.3em;
	width:calc(5.3em * 1.528);
	background:url(../images/logo_item_02b.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:auto;
	bottom:-33%;
	left:auto;
	right:-43% !important;
	transform: translate(0%, 0%);
	-webkit-transform: translate(0%, 0%);
	-ms-transform: translate(0%, 0%);
}

.about_type > h1 > span,
.about_type_wrap > h1 > span {
	font-size:3.7vw !important;
}
.about_type > h1 > span:after,
.about_type_wrap > h1 > span:after,
.about_type > h1#cospaBox > span:nth-of-type(1):after  {
	content:"";
	display:block;
	width:0.7em;
	height:calc(0.7em * 1.5);
	background:url(../images/huki_btm.webp) no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-1.0em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}
.about_type#type02 > h1 > span:after,
#type02 .about_type_wrap > h1 > span:after,
.about_type#type04 > h1 > span:after,
#type04 .about_type_wrap > h1 > span:after  {
	content:"";
	display:block;
	width:0.7em;
	height:calc(0.7em * 1.4);
	background:url(../images/huki_btm_bk.webp) no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-0.95em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}
.about_type#type03 > h1 > span:after,
#type03 .about_type_wrap > h1 > span:after {
	content:"";
	display:block;
	width:0.7em;
	height:calc(0.7em * 1.5);
	background:url(../images/huki_btm_re.webp) no-repeat;
	background-size:contain;
	position:absolute;
	bottom:-0.99em;
	left:50%;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}

.about_type > h1#cospaBox > span#cospa {
	background:none;
	background: linear-gradient(transparent 50%, #fff 50%);
	color:#BA5767;
	border:none;
	border-radius:0px;
	box-sizign:border-box;
	padding:0.5em 0.2em;
	font-weight:bold;
	font-size:2.7vw !important;
	position:absolute;
	line-height:1.0em;
	top:-1.981em !important;
	left:50%;
	z-index:1;
	transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
}

.about_type {
	width:100%;
	background:url(../images/bg_01_sp.webp) no-repeat;
	background-position: 50% 0%;
	background-size:100%;
	margin:0;
	padding:0;
}
.about_type#type02 {
	width:100%;
	background:url(../images/bg_02_sp.webp) no-repeat;
	background-position: 50% 0%;
	background-size:100%;
	margin:0;
	padding:0;
}
.about_type#type03 {
	width:100%;
	background:url(../images/bg_03_sp.webp) no-repeat;
	background-position: 50% 0%;
	background-size:100%;
	margin:0;
	padding:0;
}
.about_type .color_wrap  {
	width:85%;
	max-width:800px;
	margin:0 auto 5.0em auto;
	position:relative;
}
.about_type#type01 .color_wrap:nth-of-type(1),
.about_type#type01 .color_wrap:nth-of-type(2)  {
	width:100%;
	overflow:hidden !important;
}
.about_type#type01 .color_wrap:nth-of-type(3)  {
	width:85% !important;
	max-width:800px;
	margin:0 auto 5.0em auto;
	position:relative;
}
.about_type#type01 .color_wrap:nth-of-type(1) > img,
.about_type#type01 .color_wrap:nth-of-type(3) > img {
	display:block;
	transform: scale(1.0) !important;
	position:relative;
	right:auto !important;
}
.about_type#type01 .color_wrap #dumzo_not {
	max-width: 100% !important;
	display:block;
	position:relative;
	overflow:hidden !important;
}
.about_type#type01 .color_wrap #dumzo_not img {
	max-width: 100% !important;
	transform: scale(1.0) !important;
	position:relative;
	left:auto !important;
	right:-5% !important;
}
.about_type#type01 .color_wrap #dumzo {
	width:100% !important;
	max-width: 100% !important;
	display:block;
	position:relative;
	padding:2.0em 0;
	overflow:hidden !important;
}
.about_type#type01 .color_wrap #dumzor::-webkit-scrollbar {
    display: none !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}
.about_type#type01 .color_wrap #dumzo img.dummy {
	display:block;
	transform: scale(1.0) !important;
	position:relative;
	opacity:0 !important;
}
.about_type#type01 .color_wrap #dumzo img.zoom {
	display:block;
	transform: scale(1.15) !important;
	position:absolute !important;
	right:-5% !important;
	top:0;
	overflow-x:hidden !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}
.about_type#type02 .color_wrap:nth-of-type(2) {
	width:75%;
}
.about_type > h2,
.about_type_wrap > h2 {
	font-size:4.3vw !important;
}
.about_type p.iso {
	width:80%;
	font-size:3.3vw !important;
}
.about_type p.iso > span {
	font-size:2.6vw !important;
}
.about_type p.cost {
	font-size:4.0vw !important;
}
.about_type#type01 > p.iso,
.about_type#type02 > p.iso {
	margin:4.0em auto 2.0em auto !important;
}
}


.table_wrap {
	width:90%;
	max-width:600px;
	margin:0 auto;
	padding:0;
	border:1.5px solid #231815;
	flex-wrap:wrap;
	background:#fff;
}
.table_wrap > span {
	display:block !important;
	border:0.5px solid #ccc;
	text-align:center;
	width:20%;
	padding:0.5em 0;
	font-size:105%;
}
#type01 .table_wrap > span:nth-last-of-type(1) {
	width:80%;
}
.table_wrap > span span.nopwr {
	font-size:60%;
	margin-left:0.5em;
	line-height:1.4em;
	vertical-align:middle;
}
.table_box > p {
	width:100%;
	margin:1.0em auto;
	font-size:80%;
}



/* ------------------------------
	imgblock
------------------------------- */

.imgblock {
	width:100%;
	margin:7.0em auto 0 auto !important;
}
.imgblock#imgblock02 {
	width:100%;
	margin:0em auto 0 auto !important;
}

/* ------------------------------
	movie
------------------------------- */

.mp_video_wrap {
	width:80%;
/*	max-width:700px !important; */
	height:calc(100% * 0.5619);
	padding:0 !important;
/*	padding-top:calc(50vw * 0.5619) !important; */
	margin:0 auto 0 auto !important;
	display:flex;
	align-items:flex-end;
	position: relative;
}
.mp_video_wrap > video {
	padding:0 !important;
	margin:0 !important;
	display:block !important;
	vertical-align: bottom !important;
	line-height: 100%;
	width: 100vw;
	max-width:700px !important;
	object-fit: cover;
	position: relative;
	left:50%;
	-webkit-transform: translate(-50%, 0%) !important;
	-ms-transform: translate(-50%, 0%) !important;
	transform:translate(-50%, 0%) !important;
}


@media only screen and (max-width: 849px) {
.mp_video_wrap {
	width:90%;
/*	max-width:700px !important; */
	height:calc(100% * 0.5619);
	padding:0 !important;
/*	padding-top:calc(50vw * 0.5619) !important; */
	margin:0 auto 0 auto !important;
	display:flex;
	align-items:flex-end;
	position: relative;
}
.mp_video_wrap > video {
	padding:0 !important;
	margin:0 !important;
	display:block !important;
	vertical-align: bottom !important;
	line-height: 100%;
	width: 100vw;
	max-width:100% !important;
	object-fit: cover;
	position: relative;
	left:50%;
	-webkit-transform: translate(-50%, 0%) !important;
	-ms-transform: translate(-50%, 0%) !important;
	transform:translate(-50%, 0%) !important;
}
}



/* page_top_btn --------------------------- */

#page_top {
	display:block;
	width:98px;
	height:98px;
	position: fixed;
	bottom: 3.0em;
	right: 3.0em;
	transition: 0.3s 0;
	margin:0;
	padding:0;
	cursor: pointer;
	opacity: 0;
	transition: .5s;
	z-index: 9997 !important;
	pointer-events:none !important;
}
#page_top.visible {
	opacity: 1;
	pointer-events:none !important;
}
#page_top > a {
	display:block;
	width:100%;
	height:100%;
	position:relative;
	z-index:9998 !important;
	pointer-events:auto !important;
}
#page_top > a:before {
	content:"";
	display:block;
	width:98px;
	height:98px;
	background:url(../images/uptop.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 2;
	pointer-events:none !important;
}

@media only screen and (max-width: 849px) {
#page_top {
	display:block;
	width:68px;
	height:68px;
	position: fixed;
	bottom: 3.0em;
	right: 2.0em;
	transition: 0.3s 0;
	margin:0;
	padding:0;
	cursor: pointer;
	opacity: 0;
	transition: .5s;
	z-index: 9997;
	pointer-events:none;
}
#page_top > a:before {
	content:"";
	display:block;
	width:68px;
	height:68px;
	background:url(../images/uptop.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 1;
}
}

@media only screen and (max-width: 498px) {
#page_top {
	display:block;
	width:15vw;
	height:15vw;
	position: fixed;
	bottom: 3.0em;
	right: 1.0em;
	transition: 0.3s 0;
	margin:0;
	padding:0;
	cursor: pointer;
	opacity: 0;
	transition: .5s;
	z-index: 9997;
	pointer-events:none;
}
#page_top > a:before {
	content:"";
	display:block;
	width:15vw;
	height:15vw;
	background:url(../images/uptop.png) no-repeat;
	background-size:contain;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 1;
}
}


/* _________________________________ */

.howa {
	opacity: 0;
}
.fuwa {
	opacity: 0;
}
.howa.fadein_on {
	animation: howa_motion 2.0s ease 0.2s forwards;
}
.fuwa.fadein_on {
	animation: fuwa_motion 2.0s ease 0.2s forwards;
}
@keyframes howa_motion {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	} 
}
@keyframes fuwa_motion {
	0% {
		opacity: 0;
		transform: translate(0, 10%);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0%);
	} 
}