﻿/* RESET CSS */
article, aside, details, figcaption, figure, footer, header, hgroup, img, menu, nav, section {display: block;}
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {margin: 0;padding: 0;border: 0;font: inherit;vertical-align: baseline;}
body {line-height: 1;}ol, ul {list-style: none;}table {border-collapse: collapse;border-spacing: 0;}table + p {margin-top: 2rem;}img {padding: 0;max-width: 100%;height: auto;}* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}a[href^="tel:"] {pointer-events: none;text-decoration: none;color: #666;}
/*--------Basic--------*/
html {font-size: 62.5%;}
body {
	width: 100%;
	font-size: 2.2rem;
	color: #111111;
	font-weight: 500;
	line-height: 1.7;
	-webkit-font-feature-settings: 'palt'1;
	font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN",Hiragino Kaku Gothic ProN,Arial,"メイリオ",Meiryo,sans-serif;
	overflow-x: hidden;
	background:#f6f6f6;
	background-size: cover;
	background-repeat: no-repeat;
	/*background: linear-gradient(90deg, #bfbfbf 0%, #e6e6e6 50%, #bfbfbf 100%);*/
}
.body_wrap {margin: 0 auto;padding: 0 0 7rem;}
.pc {display: block;}
.sp {display: none;}
/*layout*/
.clearfix:before, .clearfix:after {content: " ";display: table;}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}
.img_right {float: right;padding: 0 0 2rem 2rem;}
.img_left {float: left;padding: 0 2rem 2rem 0;}
.img_center {margin: -2rem auto 2rem;}
.flex {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-start;}
.flex + .flex {margin: 2rem 0 0;}
.img_arrow {margin: 1rem auto 2rem;}
.day_after {display: none;}
.middle {margin: 5rem auto;}
.bottom {margin-bottom: 5rem ;}
.top {margin-top: 5rem ;}
/*text*/
.u {text-decoration: underline;}
.b {font-weight: bold;}
.r {color: #ae1e2c;}
.y {color: #ffffa7;}
.blue{color:#2A5EAA;}
.wht {color: #fff;}
.border-wht {border: dotted 2px #fff;}
.gradation_g {
	color: #f9db7f;
	background: -webkit-linear-gradient(0deg, #f9db7f, #fff8c8, #f9db7f);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
}
.mark {background: linear-gradient(transparent 50%, #ffff84 50%);}
.txt_c {text-align: center;}
.txt_r {text-align: right;}
.txt_l {text-align: left;}
.xxsmall {font-size: 30%;}
.xsmall {font-size: 60%;}
.small {font-size: 80%;}
.large110{font-size: 110%;}
.large {font-size: 120%;}
.xlarge {font-size: 140%;}
.xxlarge {font-size: 160%;}
.sans {font-family: 'Noto Sans JP', sans-serif;}
.serif {font-family: 'Noto Serif JP', "serif";}
.videotime {/*font-family: Arial, Helvetica, "sans-serif";font-weight: 700;*//*font-size: 115%;*/}
.caption {
	width: 100%;
	padding: 2rem 1rem 1.5rem;
	margin: 0 auto;
	background: linear-gradient(to right, #47474b, #000);
	color: #fff;
	font-size: 4rem;
	font-weight: 900;
	line-height: 1.4;
	text-align: center;
}
.notice {
	padding-top: 1rem;
	font-size: 1.4rem;
	text-align: right;
	font-weight: 400;
	font-family: sans-serif;
	color: #111111;
	letter-spacing: 1px;
}

.mv_notice {
		padding-top: 1rem;
		font-size: 1.4rem;
		text-align: center;
		font-weight: 400;
		font-family: sans-serif;
		color: #000;
		letter-spacing: 1px;
	}


.rubi{ display: inline-block; line-height: 1;}
.rubi ruby{ vertical-align: bottom; display: block; margin-top: 0.5em;}
.rubi rb{ display: table-footer-group;}
.rubi rt { display: table-header-group; font-size: .4em; text-align: center;font-weight:100;}
.rubi.rubi_large rt { font-size: .5em; }

.prf_face .logo {
	max-width: 250px;
}
/*p + p {padding-top: 2rem;}*/
/*mail complete*/
.ui-autocomplete {
	position: absolute !important;
	background: #fff;
	list-style: none;
	border-radius: 1rem;
	overflow: hidden;
	z-index: 10;
}
.ui-autocomplete li {border-bottom: 1px solid #ccc;padding: 1rem;font-family: inherit !important;text-align: left;}
.ui-state-focus {background: #ff7;}
.ui-helper-hidden-accessible {display: none !important;}

/*--------Header--------*/
#prihead { background: #d7a800;}
#prihead img {margin: 0 auto;}
/*--------Header--------*/
/*--共通--*/
header {width: 100%;margin: 0 auto;text-align: center;}
h1 {width: 100%;max-width:750px;margin: 0 auto;position: relative;padding: 5rem 0 5rem;}
h1 img {margin: 0 auto;}
/*header_inner*/
.header_inner{/*padding-bottom: 4rem;*/}
.header_inner .form_mv{width: 100%;max-width:750px;margin: 0 auto;}
.header_inner .form_mv_caption{font-size: 90%;line-height: 1.4;}
.header_inner .form_mv video{width:65.5%;}
/*--form_mv--*/

.mv_ttl_content {
	position: relative;
	margin-top: 5rem;
	margin-bottom: calc(5rem + 70px)
}

.mv_ttl_content::before {
    content: "";
    position: absolute;
    height: 70px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
	background: #cdcdcd;
    bottom: -70px;
}






.form_mv_txt {
	position: relative;
	width: fit-content;
	margin: 0 auto 3rem;
	color: #ae1e2c;
	text-align: center;
	line-height: 1.4;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 160%;
}

.form_mv_txt:after, .form_mv_txt:before {
	position: absolute;
	top: 0.5rem;
	content: '';
	width: 3px;
	height: 4rem;
	background: #ae1e2c;
}

.form_mv_txt:before {
	transform: skew(25deg);
	left: -3rem;
}

.form_mv_txt:after {
	transform: skew(-25deg);
	right: -3rem;
}

.form_mv_txt.line1:after, .form_mv_txt.line1:before {
	height: 0;
}

.form_mv_img {
	position: relative;
}

.form_mv_img video {
	position: absolute;
	width: 75.5%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -55%);
}

.form_mv_caption {
	margin: 2rem auto 0;
	text-align: center;
	font-weight: bold;
	font-size: 92%;
	color: #000;
}

/*コンテンツ内の場合*/
.form_mv_wrap {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}

.form_mv_wrap .form_mv_img video {
	width: 65.5%;
}

/*セクション外の場合*/
.form_mv90 {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	padding-top: 5rem;
}

.form_mv90 .form_mv_img video {
	width: 66%;
}

.form_mv90 .sub_head {
	border-bottom: 0;
}
/*--header_mv--*/
.header_mv{padding: 3rem 0;}
.header_mv video{width: 100%;max-width:750px;display: block;margin: 0 auto;}
/*--固有--*/
/*head1*/
.header1{}
.header1 .header_inner {background: url("../img/uh_opt_head1_bg.jpg") no-repeat center top;}
.header1 .header_inner img{margin: 0 auto;}
/*head2*/
.header2{}
.header2 .header_inner {background: url("../img/uh_opt_head2_bg.jpg") no-repeat center top, #fdfdfc;}
.header2 .header_inner img{margin: 0 auto;}
/*head3*/
.header3{}
.header3 .header_inner {background: url("../img/uh_opt_head3_bg.jpg") no-repeat center top, #fdfdfc;}
.header3 .header_inner img{margin: 0 auto;}
/*head4*/
.header4{}
.header4 + .body_wrap{padding-top: 0;}
.header4 .header_inner {background: url("../img/uh_opt_head4_bg.jpg") no-repeat center top, #fdfdfc;padding-bottom: 0;}
.header4 .header_inner img{margin: 0 auto;}
/*.header1 .header_img .header_mv {position: absolute;width: 440px;height: 251px;margin: 0 auto;left: 27%;bottom: 48px;z-index: 5;}*/
/*--------Section / sub_head / sec_inner--------*/
/* 共通 */

#sec_mv {
	background: linear-gradient(to top, #cdcdcd 0%, #eee 50%, #fff 80%);
	margin: 5rem auto ;
	width: 100%;max-width:750px;
	border-radius: 10px 10px 0 0;
	box-shadow: 0 0 15px #ddd;
}



#opt_sec_content {
	background: #fff;
	border-radius:15px;
	margin: 5rem auto ;
	padding:7rem 5rem;
	width: 100%;max-width:750px;
	box-shadow: 0 0 15px #ddd;
}

#opt_sec_service {
	background: #fff;
	border-radius:15px;
	margin: 5rem auto ;
	padding:7rem 5rem;
	width: 100%;max-width:750px;
	box-shadow: 0 0 15px #ddd;
}

#opt_sec_prf {
	background: #fff;
	border-radius:15px;
	margin: 5rem auto ;
	padding:7rem 5rem;
	width: 100%;max-width:750px;
	box-shadow: 0 0 15px #ddd;
}

/*section:first-of-type{padding: 0;}*/
section.no_top{padding: 2rem 5rem 7rem;}
.sec_inner {
/*	background: #fff;
	border-radius:15px;
	margin: 0 auto ;
	padding:7rem 5rem;
	width: 100%;max-width:750px;*/
}
.sub_head {
	position: relative;
	width: fit-content;
	font-size: 4.3rem;
	font-weight: 900;
	line-height: 1.3;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-font-feature-settings: 'palt'1;
	font-feature-settings: 'palt'1;
	margin: 0 auto 5rem;
	padding: 0 0 1.5rem;
	color: #47474b;
}

.sub_head:after{
	content:'';
	position: absolute;
	bottom:0;
	left: 50%;
	transform: translateX(-50%);
	background:#16274f;
	width: 100%;
	height: 2px;
}
.lead {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-font-feature-settings: 'palt'1;
	font-feature-settings: 'palt'1;
	margin: 5rem auto 0;
	position: relative;
	letter-spacing: .04em;
	color: #16274f;
}
/*-- 矢印 ---*/
.grade_arrow {
	height: 45px;
	position: relative;
	width: 160px;
	margin: 1rem auto 4rem;
}
.grade_arrow_box {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 45px 80px 0 80px;
	border-color: #16274f transparent transparent transparent;
	position: absolute;
	top: 0;
	left: 0;
}
.grade_arrow_box_bg {
	background:linear-gradient(to bottom, rgb(246, 246, 246) 0%, rgba(255, 255, 255, 0) 100%);
	width: 160px;
	height: 45px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}


 /*--------　list / box --------*/
ul {list-style: none;}
.list1 {
	margin: 0rem auto 0;
	width: 100%;
	padding: 0;
}
.list1 li {
	position: relative;
	padding: 0 0 1.5rem 4rem;
	line-height: 1.4;
	font-weight: 600;
}
.list1 li:last-child {padding-bottom: 0;}
/*チェックマーク*/
.list1 li:before, .list1 li:after {content: "";position: absolute;}
.list1 li:before {
	top: 0;
	left: .5rem;
	-webkit-transform: rotate(50deg);
	-ms-transform: rotate(50deg);
	transform: rotate(50deg);
	width: 1rem;
	height: 1.8rem;
	border-right: 3px solid #b80d6c;
	border-bottom: 3px solid #b80d6c;
	z-index: 2;
}
.list1 li:after {
	left: 0;
	top: .4rem;
	width: 1.8rem;
	height: 1.8rem;
	border: 1px solid #b80d6c;
	border-radius: 2px;
}
/*プロモ固有デザイン-------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
------------------------------------------------------ *

/*profile--------------------------------*/
.prf_wrap{}
.prf_face{margin: 0 auto;}
.prf_face img{margin: 0 auto -1rem; padding: 0.5rem;}
.prf_face p{width: fit-content;margin: 2rem auto 3rem;padding: 0 0 0.01em;border-bottom: 1px solid;font-family: 'Noto Sans JP', sans-serif;font-size: 4rem;text-align: center;line-height: 1.3;}
.prf_txt{margin: 0 0 5rem;}
.prf_box_wrap{gap:2rem;margin-top: 5rem;}
.notice + div{margin-top: 2rem;}
.prf_box{width: 48%;border-radius: 10px;overflow: hidden;}
.prf_box_large{width: 100%;}
.prf_box_large .caption{font-size: 125%;}
.prf_message{ margin: 5rem 0 0;background: repeating-linear-gradient(rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 43.1px, #ccc 43.1px, #ccc 44.1px);line-height: 2;}
.prf_inner{ margin: 5rem auto 0; background-color: #fbf2f9; padding: 3rem 3rem 2.5rem; border-radius: 15px;}
.prf_inner .notice{text-align: left;}
.prf_text {
	text-align: center;
	line-height: 1.4;
	margin: 2rem;
}
/*contents--------------------------------*/
.contents{margin: 0 auto;text-align: center;}
.contents + .contents{margin-top: 5rem;}
.contents h3{font-size: 3.3rem;line-height: 1.4; font-family: 'Noto Sans JP', sans-serif;}
.contents img{margin: 2rem auto;}
.contents_txt{ line-height: 1.4;font-size: 95%;}
.arrow {
	width: 30px;
	height: 30px;
	margin: 3rem auto 0;
	position: relative;
	display: block;
}
.arrow:before, .arrow:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	border-color: #16274f;
	border-style: solid;
	border-width: 0 0 5px 5px ;
	transform: rotate(-45deg) translate(-50%, -50%);
	left: 70%;
}
.arrow:after{bottom: 10px;}
.sub_head + .arrow{margin: -2rem auto 0;}
/*manga--------------------------------*/
section#manga{padding: 0;background: none;border-radius:unset;}
#manga img + img{margin-top: 2rem;}
/*//プロモ固有デザイン-------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------
------------------------------------------------------ */
/*service--------------------------------*/
.service_wrap{margin-top: 5rem;}
.service{ align-items: center;background:#e6e6e6; border-radius: 15px;padding: 3rem 5rem;}
.service + .service{margin-top: 3rem;}
.service_icon{width: 20%;}
.service_icon img{border-radius: 100px}
.service_inner{width: 80%;padding-left: 3rem;}
.service_txt{font-weight: bold;font-size: 2.1rem;line-height: 1.4;}
.service_inner .notice{font-size: 1.4rem;text-align: unset;}
/*service 体験会--------------------------------*/
.service_pre_wrap{margin: 5rem 0 0 ;}
.service_pre + .service_pre{ margin-top: 3rem;}
.service_pre_ttl{ border-bottom: 1px solid #676767;font-size: 3rem; font-weight: bold;  width: fit-content; }
.service_pre ul{ 
  padding: 0.5em 0.5em 0.5em 2em;}
.service_pre ul li{ padding: 0.5em 0;list-style-type: disc;line-height: 1.7; }
.service_pre_notice{font-size: 1.4rem;}
/*item*/
.items{margin-top: 5rem;gap:2rem;}
.item{width: 48%;}
.item.w100{width: 100%;}
.item.w100 img{width: 48%;}
.item p{ padding: 1rem 0 0; font-size: 1.7rem; line-height: 1.3; text-align: center;font-weight: bold;}
/* merit icon------------------------------------------------------ */
.merit_icon { width: 100%; margin: 0rem auto 2rem; font-size: 2rem;}
.merit_icon li { width: 30%;text-align: center; padding: 0.6rem 0 0.7rem; border-radius: 5px;border: 2px dotted #a5a5a5; line-height: 1.3;font-weight: bold;}
.merit_icon.icon2 li{width: 40%;}
.header1-B .merit_icon.icon2{margin: 2rem auto;}
.header1-B .merit_icon.icon2 li{width: 48%;}
/*header inner*/
.header_inner .merit_icon { width: 100%;max-width:750px; margin: 5rem auto;justify-content: center;gap:2rem;}
/* form------------------------------------------------------ */
.form {max-width:750px;margin: 0 auto;padding: 0 3rem;}
.form90{width: 90%;margin: 0 auto;}
.form form {width: 100%;margin: 0 auto;}
.form_inner {width: 80%;margin: 0 auto;display: flex;flex-wrap: wrap;justify-content: space-between;}
.form_sub {width: 100%;margin: 0 auto 1rem;}
.form_sub p {margin-bottom: 1rem;text-align: center;font-family: 'Noto Sans JP', sans-serif;line-height: 1.4;}
.form_left {width: 100%;position: relative;margin: 0 auto;}
.form_must {
	position: absolute;
	padding: 0.5rem;
	left: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	background: #e53935;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2rem;
	line-height: 1;
	z-index: 1;
}
.form_label {
	position: absolute;
	top: 50%;
	left: 5rem;
	color: #aaa;
	transform: translateY(-50%);
	transform-origin: 0 0;
	transition: all 0.2s ease;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	line-height: 1;
}
.form_input {
	position: relative;
	width: 100%;
	height: 6rem;
	background: #fff;
	border: 1px solid #535353;
	border-radius: 5px;
	box-shadow: 0 0 0 0 #fff inset;
	transition: all 0.2s ease;
	padding: 2rem 0 2rem 5rem;
	font-family: inherit;
	font-size: 2rem;
	line-height: 1;
}

.form_input:not(:placeholder-shown) + span {color: #5a667f;transform: translateY(-2.2rem) scale(0.7);}
.form_input:focus {outline: none;box-shadow: 0 0 0 2px #07f inset;}
.form_input:focus + span {color: #07f;transform: translateY(-2.2rem) scale(0.7);}
.form_right {width: 100%;margin: 2rem auto 0;}
.form_attention {position: relative;}
.form_notice {margin: 3rem auto 0;font-size: 1.4rem;}
.form_notice a { color: #61b6d5;}
/*form_notice2*/
.form_notice2{
	font-size: 1.2rem;
	/*opacity: .7;*/
}
.form_notice2 li{text-indent:-1em;padding-left:1em;}
/*form_notice3*/
.form_notice3{
	font-size: 1.2rem;
	/*opacity: .7;*/
	margin-top: 2rem;
}
.form_notice3 li{padding-bottom: 1rem;text-indent:-2em;padding-left: 2em;}
.form_notice3 li p{/*padding-left: 2em;*/}

.form_btn {
	width: 100%;
	background: #00ad48;
	border: 2px solid #7dff88;
	border-radius: 100px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	cursor: pointer;
	position: relative;
	transition: all 0.2s ease;
	height: 6rem;
	padding: 1rem 0 1.2rem;
}

.form_btn span{position:absolute;display:block;width:100%;text-align:center;top:48%;left:0;transform:translateY(-50%)}
.form_btn span::after{position:relative;display:inline-block;content:"";width:.5em;height:.5em;border-top:2px solid;border-right:2px solid;transform:translateY(-.07em) rotate(45deg);margin-left:0.4em;/*filter:drop-shadow(0 1px 3px #006e12)*/}
.form_btn:hover {filter: brightness(1.3)}
.btn_copy{margin: 1rem auto 0;/*text-align: center;*/font-size: 1.4rem;font-weight: bold;}

.center {
	margin: auto;
	width: 100%;
	max-width: 750px;
}

.prf_box_large .text {
	padding: 3rem;
	text-align: center;
	

}



/*flow--------------------------------*/
.flow_list{
	width: 100%;max-width:750px;
	border-radius:10px;
	margin:5rem auto;
	padding: 5rem 0;
	/*background: #325487;
	background-size: 20px 20px;
	background-image:radial-gradient(#417204 10%, transparent 10%);*/
	background: #16274f;
    background-size: 20px 20px;
    background-image: radial-gradient(#16274f 10%, transparent 10%);
}
.flow_list_ttl{
	margin: 0 auto 5rem;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 4rem;
	color: #fff;
}
.flow_list_ttl .balloon{
	display: inline-block;
	position: relative;
	margin: 0 auto 1rem;
	padding: .2em 1em .2em 2em;
	background:url(../img/uehara_opt_flow_ttl.png)no-repeat 1.9rem 1.6rem/8%,#fff;
	border-radius:100px;
	color: #16274f;
	font-size: 3rem;
}
.flow_list_ttl .balloon::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-width: 14px 15px 0 15px;
	border-color: #fff transparent transparent transparent;
}
.flow_wrap{width: 90%;margin: 0 auto;}
.flow{
	position: relative;
	width: 31%;
	height: 270px;
	border-radius:10px;
	background: #fff;
	padding: 5rem 1rem 3rem;
}
.flow:after{
	position: absolute;
	content: "";
	width: 1rem;
	height: 1rem;
	border-color: #fff;
	border-style: solid;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg) translateY(-50%);
	top: 50%;
	right: -1rem;
}
.flow:last-of-type:after{content: none;}
.flow_num{
	padding: 1rem 0 0 ;
	position: absolute;
	top:-3rem;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 60px;
	height: 60px;
	background: #47474b;
	border: 1px solid #fff;
	border-radius:100%;
	color: #fff;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1rem;
	line-height: 1;
}
.flow_num span{display: table;font-size: 300%;margin: 0 auto;}
.flow_ttl{
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	line-height: 1.4;
}
.flow img{margin: 2rem auto 0;}
.flow:nth-of-type(2) img{margin: 0 auto 0;}
/* scfooter
------------------------------------------------------ */
#scfooter {width: 100%;position: fixed;bottom: 0;z-index: 999;display: none;padding: 2rem 0;background: #16274f;}
#scfooter.form {max-width:100%;}
#scfooter form {width: 100%;max-width:750px;}
#scfooter .form_inner {width: 100%;max-width:750px;}
#scfooter .form_left {width: 59%;position: relative;}
#scfooter .form_right {width: 39%;margin: 0 auto 0;}
#scfooter .form_input{border:none;}
/*-------- button:hover --------*/
@-webkit-keyframes hvr-wobble-vertical {
		16.65% {
				-webkit-transform: translateY(8px);
				transform: translateY(8px)
		}
		33.3% {
				-webkit-transform: translateY(-6px);
				transform: translateY(-6px)
		}
		49.95% {
				-webkit-transform: translateY(4px);
				transform: translateY(4px)
		}
		66.6% {
				-webkit-transform: translateY(-2px);
				transform: translateY(-2px)
		}
		83.25% {
				-webkit-transform: translateY(1px);
				transform: translateY(1px)
		}
		100% {
				-webkit-transform: translateY(0);
				transform: translateY(0)
		}
}
@keyframes hvr-wobble-vertical {
		16.65% {
				-webkit-transform: translateY(8px);
				transform: translateY(8px)
		}
		33.3% {
				-webkit-transform: translateY(-6px);
				transform: translateY(-6px)
		}
		49.95% {
				-webkit-transform: translateY(4px);
				transform: translateY(4px)
		}
		66.6% {
				-webkit-transform: translateY(-2px);
				transform: translateY(-2px)
		}
		83.25% {
				-webkit-transform: translateY(1px);
				transform: translateY(1px)
		}
		100% {
				-webkit-transform: translateY(0);
				transform: translateY(0)
		}
}
.hvr-wobble-vertical {
		vertical-align: middle;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		box-shadow: 0 0 1px rgba(0, 0, 0, 0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-moz-osx-font-smoothing: grayscale;
}
.hvr-wobble-vertical:active, .hvr-wobble-vertical:focus, .hvr-wobble-vertical:hover {
		-webkit-animation-name: hvr-wobble-vertical;
		animation-name: hvr-wobble-vertical;
		-webkit-animation-duration: 1s;
		animation-duration: 1s;
		-webkit-animation-timing-function: ease-in-out;
		animation-timing-function: ease-in-out;
		-webkit-animation-iteration-count: 1;
		animation-iteration-count: 1;
}

/*--------footer_attention2--------*/
p + ul {margin-top: 2rem;}
.list2 li:before {top: 1rem;}
.list2 li:after {left: 2rem;top: 1.5rem;}
/*--------footer--------*/
footer {width: 100%;padding: 3rem 0;background: #ddd;}
#footer_inner {width: 100%;max-width:750px;margin: 0 auto;font-size: 1rem;}
#footer_inner .logo {width: 25%;margin: -1rem auto 3rem;}
#footer_inner ul {display: flex;justify-content: center;}
#footer_inner li {padding: 0 2rem;border-left: 1px solid #ccc;}
#footer_inner li:first-child {padding-left: 0;border: none;}
#footer_inner p {padding-top: .5rem;text-align: center;}
#footer_inner a {text-decoration: none;color: #989898;}
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【 SP 】
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media screen and (max-width:480px) {
	/*--------Basic--------*/
	body {width: 100%;font-size: 4.8vw;}
	a[href^="tel:"] {pointer-events: auto;text-decoration: underline;color: #00e;}
	.body_wrap {width: 100%;padding: 0;}
	.body_wrap {margin: 0 auto;border-left: none;border-right: none;}
	/* Float */
	.img_right, .img_left {float: none;width: 80%;padding: 0 0 2rem;margin: 0 auto;}
	.pc {display: none;}
	.sp {display: block;}
	.xxsmall {font-size: 60%;}
	.xsmall {font-size: 70%;}
	.small {font-size: 80%;}
	.sp_small {font-size: 70%;}
	.sp_large{font-size: 100%;}
	.large {font-size: 110%;}
	.xlarge {font-size: 130%;}
	.sp_large{font-size: 120%;}
	.xxlarge {font-size: 150%;}
	.flex p {margin: 0 auto;}
	.middle {margin: 5vw auto;}
	.bottom {margin-bottom: 0 auto 5vw;}
	.sp_bottom {margin-bottom: 8vw;}
	.top {margin-top: 5vw;}
	.icon_btn {background-size: 2.6vw;}
	.caption {padding: 4vw 0 3vw;font-size: 5vw;}
	.notice {font-size: 2.2vw;padding-top: 2vw;}
	.mv_notice {font-size: 2.2vw;padding-top: 2vw;}
	.img_center {
		margin-bottom: 2vw;
	}
	/*--------Section / sub_head / sec_inner--------*/

	#sec_mv {width: 90%; margin: 10vw auto;}

	#opt_sec_content {width: 90%; margin: 10vw auto;padding: 10vw 0 0;}
	
	#opt_sec_service {width: 90%; margin: 10vw auto;padding: 10vw 0 0;}
	
	#opt_sec_prf {width: 90%; margin: 10vw auto;padding: 10vw 0 0;}

section.no_top{padding: 5vw 0 0;}
	.sub_head {font-size: 6.3vw;margin: 0 auto 10vw;        padding: 0 0 3vw;}
	.sec_inner {padding: 0 5vw 7vw; }
	.lead {font-size: 5.3vw;margin: 7vw auto 0;}
	section + .lead{margin: 10vw auto 0;}
	/*.lead_line {font-size: 5.4vw;margin: 5vw 0;border-left: 3px solid #0059aa;padding: 0px 0 0 3vw;}
	.lead_arrow {padding: 0 0 3vw;margin: 5vw auto 5vw;font-size: 5.4vw;}
	.lead_arrow:after {bottom: -3vw;border-width: 3vw 3vw 0 3vw;}
	.lead_arrow2 {border-bottom: 3px solid #0059aa;padding: 0 0 3vw;margin: 5vw auto 5vw;font-size: 5.4vw;}
	.lead_arrow2:after {bottom: -3vw;border-width: 3vw 3vw 0 3vw;}*/
	/*-- 矢印 ---*/
	.grade_arrow {height: 5vw;width: 20vw;margin: 1vw auto 5vw;}
	.grade_arrow_box {border-width: 5vw 10vw 0 10vw;}
	.grade_arrow_box_bg {width: 20vw;height: 5vw;
		background:linear-gradient(to bottom, rgb(246, 246, 246) 0%, rgba(255, 255, 255, 0) 100%);}
	/*--------Header--------*/
	header {width: 100%;margin: 0 auto;text-align: center;}
	/*head共通*/
	h1 { width: 100%; padding: 0 5vw 0; padding-bottom: 0;}
	.header_prf{width: 90%;margin: 3vw auto 0;}
	/*--header_mv--*/
	.header_mv{padding: 3vw;}
	.header_mv video{width: 100%;} 
	.header_name{width: 95%;}
	/*head1*/
	.header1 .header_inner {background:#fff;}
	.header1 .header_img {background: none;}
	/*head1-B*/
	.header1-B .header_inner {background:#fff;}
	.header1-B .header_img {background: none;}
	/*head2*/
	.header2 .header_inner {background:#fff;}
	.header2 .header_img {background: none;}
	/*head3*/
	.header3 .header_inner {background:#fff;}
	.header3 .header_img {background: none;}
	/*head4*/
	.header4 .header_inner {background:#fff;}
	.header4 .header_img {background: none;}
	/*head_manga*/
	.header_manga .header_inner {background:#fff;}
	.header_manga .header_img {background: none;}
	/*head5*/
	.header5 .header_inner {background:#fff;}
	.header5 .header_img {background: none;}
	/*head6*/
	.header6 .header_inner {background:#fff;}
	.header6 .header_img {background: none;}
	/*--form_mv--*/
	.form_mv_txt {
		margin: -4vw auto 8vw;
		font-size: 110%;
	}

	.form_mv_txt:after, .form_mv_txt:before {
		top: 0;
		width: 2px;
		height: 8vw;
	}

	.form_mv_txt:before {
		left: -4vw;
	}

	.form_mv_txt:after {
		right: -4vw;
	}

	.form_mv_txt.line1:after, .form_mv_txt.line1:before {
		height: 6vw;
	}

	.form_mv_img video {
		width: 75%;
	}

	.form_mv_caption {
		margin: 4vw auto 0;
		line-height: 1.4;
		font-size: 85%;
	}

	.header_inner .form_mv {
		width: 90%;
	}

	.header_inner .form_mv video {
		width: 75%;
	}

	/*コンテンツ内の場合*/
	.form_mv_wrap {
		width: 95%;
	}

	.form_mv_wrap .form_mv_img video {
		width: 75%;
	}

	/*セクション外の場合*/
	.form_mv90 {
		width: 90%;
		padding-top: 8vw;
	}

	.form_mv90 .form_mv_img video {
		width: 76%;
	}

	.mv_ttl_content {
	margin-bottom: calc(10vw + 70px);
}

	/*--------　list / box --------*/
	ul.list1 {margin: 0 auto;width: 100%;}
	ul.list1 li {padding: 1vw 0 1vw 10vw;text-shadow: none;}
	.list1 li::after {top: 1.5vw;left: 2vw;width: 4vw;height: 4vw;background-size: 100%;}
	.list1 li:before {top: .8vw;left: 4vw;width: 1.5vw;height: 4vw;border-right: 2px solid #b80d6c;border-bottom: 2px solid #b80d6c;	}
	/*プロモ固有デザイン-------------------------------------------------
	------------------------------------------------------------------
	------------------------------------------------------------------*/
	/*profile--------------------------------*/
	.prf_face img{width: 70%;}
	.prf_face p{margin: 2vw auto 3vw;font-size: 5.5vw;}
	.prf_txt{margin: 0 0 5vw;}
	.prf_box_wrap{margin-top: 10vw;}
	.notice + div{margin-top: 2vw;}
	.prf_inner {
    	width: 100%;
    	margin: 5vw auto 0;
    	font-size: 4.2vw;
	    background-color: #fbf2f9;
    padding: 4vw;
    border-radius: 15px;}
	.prf_box{width: 100%;}
	.prf_box_large .caption{font-size: 80%;}
	.prf_box + .prf_box{margin-top: 5vw;}
	.prf_message{ margin: 5vw 0 0; line-height: 36px; background: url(../img/bg-note02.png) bottom; }
	.prf_box_large .text {
		padding: 3vw;
	}
	.prf_sec_content .sec_inner {
		padding-bottom: 1vw;
	}

	.prf_text {
		margin: 2vw;
	}
	/*contents--------------------------------*/
	.contents + .contents{margin-top: 9vw;}
	.contents h3{font-size: 5.2vw;}
	.contents img{margin: 3vw auto;}
	.contents_txt { font-size: 85%;}
	.arrow {width: 5vw;height: 5vw;margin: 7vw auto 0;}
	.arrow:before, .arrow:after {border-width: 0 0 4px 4px ;}
	.arrow:after{bottom: 2vw;}
	.sub_head + .arrow{margin: -2vw auto 10vw;}
	/*manga--------------------------------*/
	section#manga{padding: 0;background: none;border-radius:unset;width: 100%;}
	#manga .sec_inner{padding: 0 5vw 5vw;}
	#manga img + img{margin-top:3vw;}
	/*プロモ固有デザイン-------------------------------------------------
	------------------------------------------------------------------
	------------------------------------------------------------------*/
	/*-service-------------------------------------------*/
	#opt_sec_service {
		margin-bottom: 10vw;
	}
	.service{ margin-top: 20vw;padding: 13vw 5vw 5vw;position: relative;}
	.service + .service{margin-top: 20vw;}
	.service_icon{width: 30%;position: absolute;top: -15vw;left: 50%;transform: translateX(-50%);}
	.service_icon img{background: #fff; box-shadow: inset 2px 2px 4px #e4eff5, inset -2px -2px 4px #ffffff;}
	.service_inner{width: 100%;padding-left: 0;}
	.service_txt{font-size: 4.4vw;}
	.service_inner .notice{font-size: 3.5vw;line-height: 1.4;}
	/*service 体験会--------------------------------*/
	.service_pre_wrap{margin: 5vw 0 0 ;}
	.service_pre + .service_pre{ margin-top: 5vw;}
	.service_pre_ttl{ font-size: 5vw; }
	.service_pre ul{ }
	.service_pre ul li{ padding: 0.5em 0;}
	.service_pre_notice{font-size: 3vw;}
	/*item*/
	.items{margin-top: 5vw;gap:2vw;}
	.item{}
	.item.w100{margin-top: 3vw;}
	.item p{ padding: 1vw 0 0; font-size: 4vw;font-weight: normal;}
	/* merit icon------------------------------------------------------ */
	.merit_icon { margin: 0rem auto 2vw; font-size: 4vw;}
	.merit_icon li { padding: 1vw 0 ; border: 1px dotted #a5a5a5; }
	.merit_icon.icon2 li{width: 45%;}
	/*header inner*/
	.header_inner .merit_icon { width: 100%; margin: 5vw auto;justify-content: center;gap:2vw;}
	.header1-B .header_inner .merit_icon { width: 95%;}
	/* form------------------------------------------------------ */
	.form {padding: 0;}
	.form form {width: 100%;}
	.form_inner {width: 100%;}
	.form_sub {width: 100%;margin: 0;}
	.form_sub p {font-size: 4vw;margin-bottom:5vw;}
	.form_input:focus + span, .form_input:not(:placeholder-shown) + span {transform: translateY(-2.2rem) scale(0.7);}
	.form_label {font-size: 3.8vw;left: 12vw;}
	.form_input {font-size: 4.5vw;padding: 5vw 0 1rem 12vw;height: 14vw;}
	.form_left {width: 100%;}
	.form_right {width: 100%;margin: 2vw auto 0;}
	.form_notice p {padding-top: 0; font-size: 3vw;line-height: 1.3;}
	.form_notice {margin: 5vw auto 0;	font-size: 3vw;}
	.form_notice3 li{text-indent: -1em;padding-left: 1em;}
	.form_btn {/*display: table;*/padding: 2vw 6vw;font-size: 4.8vw;height: 14vw;}
	.form_btn:after {width: 3vw;height:3vw;border-width: 2px 2px 0 0;right: 5vw;}
	.btn_copy{margin: 2vw auto 0;font-size: 3.5vw;}
	/*flow--------------------------------*/
	.flow_list{width: 90%;margin: 10vw auto;padding: 10vw 5vw;}
	.flow_list_ttl{margin: 0 auto 8vw;font-size: 5.5vw;}
	.flow_list_ttl .balloon{  margin: 0 auto 2vw; background:url(../img/uehara_opt_flow_ttl.png) no-repeat 3vw 2.5vw / 8%, #fff;font-size: 5vw;}
	.flow_list_ttl .balloon::after {bottom: -2vw;border-width: 3vw 2vw 0 2vw;}
	.flow_wrap{width: 100%;}
	.flow{width: 93%;height: auto;margin: 0 0 0 auto;padding: 3vw 3vw 3vw 6vw;display: flex;flex-wrap: wrap; align-items: center;}
	.flow + .flow{margin-top: 8vw;}
	.flow:after{
		width: 4vw;
		height: 4vw;
		border-width: 0 2px 2px 0;
		transform: rotate(45deg) translateX(-50%);
		top: unset;
		bottom:-6vw;
		right: unset;
		left:49.5%;
	}
	.flow:last-of-type:after{content: none;}
	.flow_num{
		padding: 2vw 0 0;
		/*top:-7vw;*/
		top:50%;
		left: -7vw;
		transform: translateY(-50%);
		width: 11vw;
		height: 11vw;
		font-size: 2.2vw;
	}
	.flow_ttl{width: 56%;font-size: 4.5vw;margin: 0 auto 3vw;text-align: unset;}
	.flow_num span{font-size: 240%;}
	.flow img{width: 43%;margin: 0 auto 0;}
	/* scfooter------------------------------------------------------ */
	#scfooter form {width: 94%;}
	#scfooter.form {padding: 1rem 0;z-index: 3;}
	#scfooter .form_inner {width: 100%;}
	#scfooter .form_left {width: 63%;}
	#scfooter .form_must {width: 1.5em;text-orientation: upright;text-align: center;padding: 0.5em 0;}
	#scfooter .form_label {left: 8vw;font-size: 3.3vw;}
	#scfooter .form_input {padding: 2rem 0 1rem 8vw;}
	#scfooter .form_right {width: 35%;}
	#scfooter .form_btn {display: block;width: 100%;margin-top: 0;padding: 0;font-size: 4vw;line-height: 1.1;height: 14vw;}
	#scfooter .form_btn span{text-align: center;}
	#scfooter .form_btn span::after {top: -2vw;}
	/*--------footer-------*/
	footer {padding: 8vw 0 15vw;}
	#footer_inner {width: 96%;}
	#footer_inner li {padding: 0 2vw;}
}