/* Main */

* {
	border:0;margin:0;padding:0;
	border-collapse:collapse;
	box-sizing: border-box;
	vertical-align:top;
}

html {
	max-width:100%;
}

body, header, footer {
	min-width:320px;
}

body {
	width:100%;height:100%;

	font-size:21px;
	font-weight:400;
    font-family: 'Shippori Mincho', serif;

	color:#222;
	line-height:2.3;
	overflow-x:hidden;
}

body::before {
    background:url('../images/pattern.png') repeat, url('../img/back.jpg') no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    background-position:center bottom;
/*    background-attachment:fixed;*/
  display: block;
  position: fixed;
  bottom: 0;left: 0;
  width: 100%;height: 120%;
  content: "";
  z-index: -1;
      -webkit-transform: translate(0, 0);
      transform: translate(0, 0);
}

#LP_01 .base_pic_01 {
	position:relative;
	display:block;
	margin-bottom:200px;
	padding-top:60px;
	padding-bottom:270px;
	padding-left:140px;
	padding-right:140px;
	background-image:url("../img/lp/main_pc.jpg");
	background-size:cover;
	background-position:center center;
}
.over_01 {
	position:absolute;
	bottom:-40%;left:0;right:0;
	margin:auto;
}

.top_bar {
	background:#b3006f;
	padding:15px 30px 15px;
}

#sp_buttons {
	display:none;
}

#sp_buttons {
	padding-bottom:80px;
	padding-top:30px;
}

#sp_buttons > div {
	padding:10px 20px;
}

@media only screen and (max-width: 767px) {

#LP_01 .base_pic_01 {
	padding-top:0;
	padding-bottom:70px;
	padding-left:20px;
	padding-right:20px;
	margin-bottom:140px;
	background-image:url("../img/main_sp.jpg");

}

.over_01 {
	position:absolute;
	bottom:-25%;left:0;right:0;
	margin:auto;
}

}


.main {
	width:100%;
	display:block;
	margin:0 auto;
	padding-bottom: 150px;
}

.hallpic {
	width:100%;
	max-width:720px;
}

/* logo*/
.load {
	max-width:75%;
	animation: spin 25s linear infinite;
	padding:20px;
}

@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
	0% {-moz-transform: rotate(0deg);}
	100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
	0% {-ms-transform: rotate(0deg);}
	100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
	0% {-o-transform: rotate(0deg);}
	100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}



/*plan*/
#Topics {
	width:100%;
	position:relative;
}

.big_icon {font-size:1.3em;}


/*table*/
/* form */
.font_red, .font_red * {color:#860000;}
#form, #form2 {
	width:100%;
	border:0;margin:0;padding:0;
}

#form th, #form2 th {
	width:25%;
}

#form td, #form2 td {
	width:75%;
}

#form2 th {
	font-size:1.1em;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-weight:bold;
	color:#ab0072;;
}

#form th, #form td, #form2 th, #form2 td {
	padding:20px;
}

.label {
	text-align:left;
	letter-spacing:0.1em;
}

.tbox {
	width:100%;height:3em;font-size:1.2em;
	border:1px solid #333;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	-ms-border-radius:3px;
	padding:10px 20px;
}

.tbox2 {
	width:45%;font-size:1.2em;
	border:1px solid #333;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	-ms-border-radius:3px;
	padding:10px 20px;

	color:#333;
}

.tarea {
	width:100%;height:10em;
	border:1px solid #333;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	-ms-border-radius:3px;
	padding:10px 20px;
	font-size:1.2em;
	color:#333;
}

.f_btn {
	width:100%;height:60px;
	font-size:1.2em;
	background:#ab0072;;
	padding:5px;

	color:#fff;
	text-align:center;

	display:inline-block;

	border-radius:30px;
	-moz-border-radius:30px;
	-webkit-border-radius:30px;
	-o-border-radius:30px;
	-ms-border-radius:30px;

    -webkit-box-shadow: 2px 2px 5px -2px #008842;
       -moz-box-shadow: 2px 2px 5px -2px #008842;
            box-shadow: 2px 2px 5px -2px #008842;
}

.f_btn:hover {
	background:#333;
}

.f_btn:disabled {
		height:60px;
	font-size:0.85em;
	background:#EC6277;
}



.reqs:empty {
	background:pink;
}

input:focus, textarea:focus {
	border:2px solid #ccc;
}

.font_reds {
	background:#C13332;
	font-size:0.8em;
	color:#fff;
	padding:5px 10px;
	margin-left:10px;
}



th, td {
	padding:10px;
}

#tab_001, #tab_002, #tab_003 {
	width:100%;

	border:3px solid #fff;
	margin:0 auto;
}

#tab_001 tr, #tab_003 tr {
	border-bottom:3px solid #fff;
}

#tab_002 tr {
	border-bottom:1px solid #f9f9f9;
}

#tab_001 tr:last-child, #tab_003 tr:last-child {
	border-bottom:0;
}

#tab_002 tr:last-child {
	border-bottom:0;
}

#tab_001 th, #tab_003 th {
	width:33.3%;
	background:#ab0072;
	color:#fff;
	vertical-align:middle;
	border-bottom:3px solid #fff;
}

#tab_001 td, #tab_003 td {
	width:66.6%;
	text-align:left;
	vertical-align:middle;
	background:#f8ebf4;
	border-left:3px solid #fff;
}

#tab_002 th {
	width:30%;
	border-right:1px dashed #f9f9f9;

	vertical-align:middle;
}

#tab_002 td {
	width:70%;
	vertical-align:middle;
}

/* dropbox */
.flow_box > a {
	display:block;
}

.flow_box > div {
	display:none;
}

/* box */
#urgency, #urgency2 {
	display:none;
	margin: auto;
}

section {
	width:100%;
	position:relative;

	padding: 60px 40px 100px;
}

section.mm {
	width:100%;
	position:relative;

	padding: 0;
}

section.m0 {
	width:100%;
	position:relative;

	padding: 60px 0 0;
}

.content {
	width:100%;
	max-width:1080px;
	
	margin: 0 auto;
	position:relative;
}

.content2 {
	width:100%;
	
	margin: 0 auto;
	position:relative;
}

.inner_cont {
	border:3px solid #ab0072;
	padding:40px;
}

.inview_right,
.inview_left,
.inview_up,
.inview_fade {
/*	opacity: 0;*/
}

/* h and font */

.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	font-weight:bold;
}

h1, h2, h3, h4, h5 {
	font-family:Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	margin-bottom:20px;
}

h1 {
	font-size:1.5em;
	font-weight:800;
	color:#0F7685;

	letter-spacing:0.1em;

	text-align:center;
	padding-bottom:10px;
	border-bottom: 2px solid #ccc;
}

h2 {
	font-size: 2em;
	font-weight:400;
    font-family: 'Shippori Mincho', serif;
	color:#f7b400;
	position: relative;
	padding: 1em 1em 0.5em;
	line-height:1.5;
	text-align: center;
	position: relative;
	margin-bottom:2em;
}

h2 span {
	font-size: 0.5em;
	letter-spacing:0.15em;
	color:#333;
	font-weight:300;
	margin-top:0.5em;
	display: block;
    font-family: 'Jost', sans-serif;
}

h2.icon_01::before {
content: '';
display: block;
width: 54px;
height: 54px;
background-image: url('../img/icon/cha.svg');
background-repeat:no-repeat;
background-size: contain;
vertical-align: middle;
margin: 0 auto 20px;
}

h2.icon_02::before {
content: '';
display: block;
width: 54px;
height: 54px;
background-image: url('../img/icon/cha.svg');
background-repeat:no-repeat;
background-size: contain;
vertical-align: middle;
margin: 0 auto 20px;
}

h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: dashed 2px #f7b400;
	border-radius:100%;
  bottom: 0;left:0;right:0;
  width: 30vw;height: 54px;
	margin:auto;
}

h3 {
	font-size:1.2em;
	font-weight:600;
	color:#fff;
	background-color: #f1844b;
	text-align:center;
	padding: 0 20px;
}

h4 {
	font-size:1em;
	font-weight:400;
}

h5{font-size:0.6em;text-align:left;}
.u_bar {border-bottom:3px double #111;margin:10px 0;}
.uu_bar {border-bottom:1px solid #111;margin:10px 0;}
.r_bar {border-right:1px solid #f9f9f9;}

p, .p_br {
	margin-bottom:40px;
}

p {
}

/* a */
a {color:#800000;text-decoration:none;}
a:link {color:#800000;}
a:visited {color:#800000;}
a:hover {color:#887451;cursor:pointer;}
a:active {color:#800000;}

a:hover img {
	filter: Alpha(opacity=75);
	opacity: 0.75;
	transition: all 0.1s ease;

	transform: 
	translate(2px, 2px) 
;
}

.swiper-slide {
	text-align:center;
}

.swiper-slide a img {
	transition: transform 0.1s ease;
}

.swiper-slide a img:hover {
	transform: scale(0.98);
}

/* footer */
footer {
	width:100%;height:auto;
	max-height:240px;

	position:fixed;
	z-index:9999;
	left:0;bottom:0;

}

footer img {
	height:auto;
	max-height:220px;
	padding-top:10px;
}

/* page */

.left {text-align:left;}
.center {text-align:center;}
.right {text-align:right;}

.top {vertical-align:top;}
.middle {vertical-align:middle;}
.bottom {vertical-align:bottom;}

.bg_000 {background:#ffffff;}
.bg_001 {background:#d0576b;color:#fff;}
.bg_002 {background:#fff7d9}/* グレー網 */
.bg_003 {background:#f8ebf4;}/* pink */
.bg_004 {background:#e9f8e0;}/*黄緑*/
.bg_005 {background: url('../img/back2.jpg') no-repeat center center/cover;}/*人物*/
.bg_006 {background: url('../img/back3.png') repeat-x center top/auto 100%;}/*人物*/
.bg_007 {background: url('../img/back3.png') repeat-x center top/auto 100%;}/*人物*/
.bg_008 {background:#afcf7d;}
.bg_008 {background:#6eb026;}

.bg_white {background:#fff;}


.sp_not {
	display:inline;
}
.pc_not {
	display:none;
}

/* contents */
.tab, .tab2 {
	width:100%;
	display:table;
	table-layout:fixed;
}
.tab-tr {
	display:table-row;
}

.tab_split80 {width:80%;display:table-cell;}
.tab_split75 {width:75%;display:table-cell;}
.tab_split66 {width:66.6%;display:table-cell;}
.tab_split60 {width:60%;display:table-cell;}
.tab_hulf {width:50%;display:table-cell;}
.tab_split40 {width:40%;display:table-cell;}
.tab_split33 {width:33.3%;display:table-cell;}
.tab_split30 {width:30%;display:table-cell;}
.tab_split25 {width:25%;display:table-cell;}
.tab_split20 {width:20%;display:table-cell;}

.w_full {
	max-width:1080px;
	margin: 0 auto;
}

.w_wide {
	width:100vw;
	margin: 0 auto;
}

.hint {
	font-size:0.8em;
}

.jirei {
	list-style:none;
}

.jirei li {
	width:33.3%;

	font-size:0.9em;
	text-align:center;

	display:inline-block;
	padding:10px;
}

/*margin*/
.m_none {margin:0;}
.m_up {margin-top:-3.5%;}

/*padding*/
.p_none {padding:0;}
.p_10 {padding:10px;}
.p_20x {padding:20px;}
.p_20v {padding:0 20px;}
.p_20w {padding:20px 0;}
.p_40x {padding: 40px;}
.p_40v {padding: 0 40px;}

.max_480 {
	width:100%;height:auto;
	max-width:480px;
	padding:20px;
}

.border {
	border:1px solid #cfcfcf;
	padding:2px;
	background:#fff;
}

.round {
	border-radius:50%;
}

.shadow {
    -webkit-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.4);
       -moz-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.4);
            box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.4);
}

.agree {
    width: 100%;
    height: 300px;
    overflow-x: auto;
    padding: 10px;
		margin-bottom:10px;
    border: solid 1px #808080;
	background:#fff;
}

.agree pre {
    font-size: 0.7em;
}


/* box */
.border_box {
	border:2px solid #ab0072;
}

/* Line */
hr.line_001 {
	width:100%;
	margin:10px auto;
	border-top:1px solid #ccc;
}

hr.line_002 {
	width:100%;
	margin:10px auto;
	border-top:1px solid #222;
}

/* img */

img {
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
}

/* pageTop Button */

#pageTop {
	position: fixed;
	bottom: 120px;
	right: 20px;
}

#side_menu {
	position: fixed;
	top: 30px;
	right: 20px;
	cursor:pointer;
}

#pageTop a, #side_menu {
	display: block;
	z-index: 9999;
	padding: 0;
	width: 48px;
	height: 48px;
	background-color:#222;
	color:#fff;
	text-align: center;
	transition: all 0.4s ease;
	border-radius:24px;
}

#pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.clearfix:after {
	content: ".";
	display: block;
	height:0;
	clear: both;
	visibility: hidden;
}



.menu-btn {
position: fixed;
top: 18px;
right: 3%;
width: 50px;
height: 50px;
border-radius: 50%;
cursor: pointer;
z-index: 101;
border: solid 1px #333;
-webkit-transition: all 3s ease-in-out;
transition: all .3s ease-in-out;
}
.menu-btn-line {
position: absolute;
top: 0;bottom: 0;left: 0;right: 0;
margin: auto;height: 1px;
width: 30%;background: #333;
-webkit-transition: all 3s ease-in-out;
transition: all .3s ease-in-out;
}
.menu-btn-line::before,
.menu-btn-line::after {
content: "";
height: 1px;
width: 100%;
background: #333;
position: absolute;
left: 0;
-webkit-transition: inherit;
transition: inherit;
}
.menu-btn-line::before{
top: -5px;
}
.menu-btn-line::after{
top: 5px;
}

.open .menu {
-webkit-transition: all .5s;
transition: all .5s;
visibility: visible;
opacity: 1;
}
.open .menu-btn {
border-color: #fff
}
.open .menu-btn-line{
background-color: transparent;
}
.open .menu-btn-line::before,
.open .menu-btn-line::after {
top: 0;
background: #fff
}
.open .menu-btn-line::before {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.open .menu-btn-line::after {
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.menu {
position: fixed;
display: flex;
justify-content: center;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(1,1,1,.9);
-webkit-transition: all .5s;
transition: all .5s;
visibility: hidden;
opacity: 0;
z-index: 10000;

overflow:scroll;
}
.menu ul {
padding: 0;
list-style-type: none;
}
.menu li {
width: 100%;
height: 48px;
line-height: 48px;
text-align: center;
border-bottom:1px dotted #fff;
}
.menu li:first-child {
border-top:1px dotted #fff;
}

.menu li a {
display: block;
font-size: 0.8em;
color: #fff;
text-decoration: none;
-webkit-transition: all .2s;
transition: all .2s;
}
.menu li a:hover {
transform: translateX(5px);
-webkit-transition: all .2s;
transition: all .2s;
}


@media only screen and (max-width: 767px) {

.bg_006 {background:#6eb026;}/*緑*/

.max_480 {
	width:100%;height:auto;
	max-width:300px;
	padding:10px;
}

.plan-content {
    padding: 20px 15px 20px;
    border: 1px solid #959595;
    border-radius: 10px;
}

.bg_007 {
	background:#6eb026 !important;
}


}

.strong_font {
	display:none;
}



@media only screen and (max-width: 767px) {

.strong_font {
	font-size:1.2em;
	font-weight:bold;
	display:block;
	margin:auto;
	color:#C13332;
}

.border_box {
	max-width:90%;height:auto;
	margin:auto;
	padding-bottom:20px;
	background:#fff;
}

.border_box > .tab > .tab_split25 > img {
	max-width:240px;
	border-radius:10px;
	margin:20px;
}

.border_box h3 {
	padding:20px;
}

* {
}

#pageTop {
	position: fixed;
	bottom: 120px;
	right: 20px;
}

body {
	font-size:14px;
	line-height:1.5em;
}

.main {
	padding-bottom: 150px;
}


section {
	padding: 40px 0 40px;
}

.content {
    padding: 0 20px;
}

.tab > div, .tab > div > div  {
	width:100%;display:inline-block;
}

h1, h3, h4, h5, .next_button {
	font-size:1.2em;
	letter-spacing:0;
/*	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;*/
}

h2 {
	font-size:2em;
	line-height:1.5;
	padding-bottom:20px;
}

h3 {
    padding: 10px;
}

.sp_not {
	display:none;
}
.pc_not {
	display:inline;
}

.sp_left {
	text-align:left;
}

/*Table*/
#tab_001 th, #tab_001 td {
	width:100%;
	display:block;
}

.r_bar{
	border:0;
}

footer {
	width:100%;height:auto;
	max-height:150px;

	position:fixed;
	z-index:9999;
	left:0;bottom:0;

}

footer img {
	height:auto;
	max-height:130px;
}


#pageTop a {
	padding:10px;
}

.jirei li {
	width:50%;

	font-size:1em;
	text-align:center;

	display:inline-block;
	padding:5px;
}

.max_sp {
	width:100%;
	max-width:100px;
}

.bg_007 {
	background: transparent;
}

#form th, #form td, .guide th, .guide td {
	text-align:center;
	display:block;
	width:100%;
}


#form2 th, .guide_corp th {
	border-bottom:1px solid #ab0072;
}

#form2 th, #form2 td, .guide_corp th, .guide_corp td {
	text-align:center;
	display:block;
	width:100%;
}

.big_icon {font-size:1.1em;}



}

