@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Comfortaa');
@import url('https://use.fontawesome.com/releases/v5.6.1/css/all.css');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400');

#home{ background-color: #a2cf80; }
#service{ background-color: #c39bde; }
#profile{ background-color: #fa9f4e; }
#about{ background-color: #77c1b1; }
#contact{ background-color: #c39bde; }
#access{ background-color: #faaeba; }
#privacypolicy{ background-color: #e6d068; }
#planback{ background-color: #faf2e6 }
#blog{ background-color: #c39bde; }

* {
	margin: 0;
	padding: 0;
}

html,body {
	height: 100%;
}
body{
    font-family: "Open Sans","Lato", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",
		"ヒラギノ角ゴ Pro W2", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    animation: fadeIn 1.5s ease 0s 1 normal;
	text-size-adjust: 100%;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


#main_in {
	padding-left: 300px;
	text-align: center;
}
#main p {
	margin-bottom: 1em;
	line-height: 1.9;
}
#main .inner {
	padding: 60px;
}

/*----------------------------------main_visual */
#main_visual {
	background: rgba(255,255,255,.5);
	height: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	justify-content: center;
}
#main_visual h1 {
	font-weight: lighter;
}
#main_visual h2 {
	font-weight: lighter;
	margin: 60px 0;
}
#main_visual p{
	margin: 0 4%;
}


/*-------------------------ナビゲーション */
/* aside nav */

#lc_logo {
	max-width: 200px;
	color: #000;
	width: 300px;
	text-align: center;
	padding: 60px 0 30px;
	z-index: 100;
}

#sidebar,#sidebar_1 {
    font-size: 15px;
    width: 300px;
    height: 100%;
    position: fixed;
    color: #000;
    background: #dabbb4;
    text-align: center;
	z-index: 2;
}
 
#global_nav ul {
    list-style: none;
    margin-left: 0;
}
#global_nav > ul > li {
    position: relative;
}
#global_nav a {
    color: #000;
    text-decoration: none;
    display: block;
    padding: 25px 0;
    transition: background-color .3s linear;
}

/*------------------------*/
#global_nav .sub_menu.is_active > a,
#global_nav a:hover {
	color: #ffec86;
	background: #000;
}
#global_nav .sub_menu_nav a,
#global_nav .sub_menu:hover .sub_menu_nav {
	width: 230px;
}
/**/
#global_nav .sub2_menu.is_active > a,
#global_nav a:hover {
	color: #ffec86;
	background: #000;
}
#global_nav .sub2_menu_nav a,
#global_nav .sub2_menu:hover .sub2_menu_nav {
	width: 230px;
}

.sub_menu_nav,.sub2_menu_nav{
	font-weight: bold;
}
.navmini{
	font-weight: 400;
}

/*------------------------*/
.navmini{
	font-size: smaller;
}
.navmini2{
	font-size: smaller;
}

/* sub_menu icon */
#global_nav .sub_menu_head {
	position: relative;
}
#global_nav .sub_menu_head:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 18px;
	margin: auto;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
}

/* sub_menu */
#global_nav .sub_menu_nav,.sub_menu_nav {
    position: fixed;
	background: #dbcbd4;
	color: #fff;
    top: 0;
    padding-top: 90px;
    left: 300px;
    width: 0;
    height: 100%;
    overflow: hidden;
    transition: width .2s ease-out;
}
#global_nav .sub_menu.is_active > a:after,
#global_nav .sub_menu_head:hover:after {
	border-color: #fff;
}
#global_nav .sub_menu_nav a {
	color: #000;					/*サブ１　文字色*/
}
#global_nav .sub_menu_nav a:hover {
	color: #2b3033;
	background: #fff;
}

#global_nav .sub_menu_nav a,
#global_nav .sub_menu:hover .sub_menu_nav {
    width: 230px;
}
 
/* sub2_menu */
#global_nav .sub2_menu_nav,.sub2_menu_nav {
    position: fixed;
    background: #dad4df;			/*sub2_menuカラー*/
    color: #fff;
    top: 0;
    padding-top: 280px;
    left: 530px;
    width: 0;
    height: 100%;
    overflow: hidden;
    transition: width .2s ease-out;
}
#global_nav .sub2_menu.is_active > a:after,
#global_nav .sub2_menu_head:hover:after {
	border-color: #fff;
}
#global_nav .sub2_menu_nav a {
	color: #000;					/*サブ2　文字色*/
}
#global_nav .sub2_menu_nav a:hover {
	color: #2b3033;
	background: #fff;
}

#global_nav .sub2_menu_nav a,
#global_nav .sub2_menu:hover .sub2_menu_nav {
    width: 300px;
}


/* nav_toggle */
#nav_toggle {
    display: none;
    position: fixed;
    top: 15px;
    right: 15px;
    height: 32px;
}
#nav_toggle > div {
	position: relative;
	width: 32px;
}
#nav_toggle span {
	width: 100%;
	height: 2px;
	left: 0;
	display: block;
	background: #033560;
	position: absolute;
	transition: .35s ease-in-out;
}

#nav_toggle span:nth-child(1) {
	top: 0;
}
#nav_toggle span:nth-child(2) {
	top: 11px;
}
#nav_toggle span:nth-child(3) {
	top: 22px;
}

#overlay {
    display: none;
    position: fixed;
    background: rgba(0,0,0,.6);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}


body, #wrapper {
	display: flex;
	flex-direction: column;
/*	min-height: 50vh;*/
}
/*リンク*/
a{ text-decoration: none; }
a:link { color: #000000;　transition: all  0.2s ease;}
a:visited { color: #000000; }
a:hover { color: #fa5858; }
a:active { color: #000000; }

/*snsアイコン*/
.snsicon a{ text-decoration: none; }
.snsicon  a:link { color: #666; transition: all  0.2s ease;}
.snsicon  a:visited { color: #666; }
.snsicon  a:hover { color: #fa5858; }
.snsicon  a:active { color: #666; }
table.snsicon{
    margin: 40px auto 50px;
    display: flex;
	justify-content: center;
}
table.snsicon td{
    padding: 20px;
}
/*-------------------------------------------------navi*/

h1.contents{
    font-weight: lighter;
    margin: 30px 0 0;
}
.fuki{
    position: relative;
    display: inline-block;
    padding-bottom: 0.3em;
    border-bottom: 1px solid black;
	z-index: -1;
}
.fuki::before,
.fuki::after {
     position: absolute;
     top: 100%;
     left:50%;
     transform:translateX(-50%);
     content: '';
     border: 10px solid transparent;
}
 .fuki::before {
     border-top: 10px solid black;
}
.fuki::after {
     border-top: 10px solid black;
}

.font_space{
    font-size: x-small;
    letter-spacing: 1em;
    text-indent: 1em;
    margin-top: 1.5em;
}
.white{
	color: #fff;
}
h2 span.kakko{
	position: relative;
    display: inline-block;
    padding: 0 1em;
	margin: auto;
}
h2 span.kakko::before{
	position: absolute;
	content: '';
	top: 0;
	right: 0.5em;
	width: 0.2em;
	height: 100%;
	border: solid 1px black;
	border-left: none;
}
h2 span.kakko::after{
	position: absolute;
	content: '';
	top: 0;
	left: 0.5em;
	width: 0.2em;
	height: 100%;
	border: solid 1px black;
	border-right: none;
}

/*HOME*/
#container {
	width: 80%;
	margin: auto;
	text-align: center;
}
#welcome img{
	max-width: 550px;
    width: 100%;
	height: auto;
    margin: 70px auto 20px;
}
#sitelogoicon img{
    height: auto;
    width: 100%;
    max-width: 474px;
}
/*ホームナビ*/
ul.a_line {
    display: flex;
    justify-content: space-between;
    list-style-type: none;
    margin: 30px auto 0;
	max-width: 800px;
    font-weight: 300;
}

a{ text-decoration: none; }
a:link { 
    color: #000000;
    transition: all  0.2s ease;
}
a:visited { color: #000000; }
a:hover { color: #fa5858; }
a:active { color: #000000; }

/*アイコンのリンク色*/
.snsicon a{ text-decoration: none; }
.snsicon  a:link { color: #666; }
.snsicon  a:visited { color: #666; }
.snsicon  a:hover { color: #fa5858; }
.snsicon  a:active { color: #666; }

/*下線アニメーション--------------------*/
.a_line a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.a_line a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 0.5);
  transform-origin: right top;
  transition: transform .3s;
}
.a_line a:hover::after {
  transform-origin: left top;
  transform: scale(1, 0.5);
}
/*-------------------------------------*/

/*----------------------画像スライド*/
#slideshow {
	position: relative;
	overflow: hidden;
	z-index: -1;
}
#slideContents {
	position: relative;
	text-align: center;
	user-select: none;
}
#slideContents section {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
#slideContents section img {
	max-width: 100%;
	padding: 0;
	box-sizing: border-box;
	vertical-align: middle;
}

#slideContents #slide1 {
	position: relative;
}
#slideContents section {
	animation: autoplay 30s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
@keyframes autoplay {
	0%, 16%, 100% { transform: none; }
	20% { transform: translateX(-100%); }
	20.001%, 96% { transform: translateX(100%); }
}
#slideContents #slide1 { animation-delay: 0s; }
#slideContents #slide2 { animation-delay: -24s; }
#slideContents #slide3 { animation-delay: -18s; }
#slideContents #slide4 { animation-delay: -12s; }
#slideContents #slide5 { animation-delay: -6s; }
/*-------------------------------------------------*/

#sub_visual{
	background: rgba(255,255,255,.5);
	height: 100%;
	display: flex;
	flex-direction: column;
}
#sub_visual .contact_p{
	max-width: 400px;
	margin: 50px auto 40px;
	font-size: 95%;
}
#sub2_visual{
	background: rgba(255,255,255,.5);
	display: flex;
}
#sub2_visual_in {
	text-align: left;
	padding: 0 3em 2em;
}
#sub2_visual_in h1{
	font-weight: lighter;
	border-bottom: solid 0.5px #666;
	padding: 1.5em 0 0.2em;
	margin-bottom: 1em;
	letter-spacing: 0.1em;
	line-height: 1;
}
#sub2_visual_in h1 div{
	font-size: 13px;
	letter-spacing: 1em;
	text-align: right;
	line-height: 1;
}
#sub2_visual_in p{
	line-height: 1.5;
	font-size: 95%;
	margin: 0;
}
#sub3_visual{
	background: rgba(255,255,255,.5);
	display: flex;
	flex-direction: column;
	text-align: left;
	padding:  4em 10%;
}
#sub3_visual h3{
	font-weight: 500;
	border-bottom: solid 1px #000;
	margin: 1em 0;
}

#sub3_visual p,#sub3_visual ul,#sub3_visual li{
	line-height: 1.5;
	font-size: 95%;
}
#sub3_visual ol{
	padding-left: 2em;
	line-height: 1.5;
	font-size: 95%;
}
.check{
	list-style: none;
	padding-left: 2em;
}

/* ポリシー用テーブル */
table#pp_table{
    border-spacing: 0;
    margin: 40px auto 80px;
}
#pp_table th{
    border-bottom: solid 0.8px #666;
    padding: 5px 15px;
    font-weight: 500;
    text-align: center;
}
#pp_table td{
    border-bottom: solid 0.8px #fff;
    padding: 5px 40px;
}

/* 上部へ戻るボタン */

#page_top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
#page_top a {
    background: #666;
/*    border: solid 1px #666;*/
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 20px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page_top a:hover {
    text-decoration: none;
    background: #000;
    color: #ffec86;
}

/*チェックマーク*/
ul .check_pp li {
  	position: relative;
	list-style: none;
	margin: 0 2em;
}
ul .check_pp li::after{
    display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 8px;
	height: 3px;
	border-left: 2px solid #000000;
	border-bottom: 2px solid #000000;
	transform: rotate(-45deg);
}

/*コピーライト*/
.copyright{
	font-size: small;
	color: #888;
	padding: 20px 0;
	text-align: center;
}

/* フォーム */
.lcform{
    max-width: 600px;
    margin: auto;
    padding: 3em 2em;
    background-color: rgba(255,255,255,.5);
    text-align: left;
}
.lcform input[type="text"],
.lcform input[type="tel"],
.lcform input[type="email"],
.lcform textarea,
.lcform select {
    transition: all .3s ease-in-out;
    outline: none;
    box-sizing: border-box;
    width: 100%;
    background-color: #fff;
    margin : 5px 0 20px;
    border: 1px solid #ccc;
	border-radius: 5px;
    padding: 15px;
    color: #555;
}
.lcform input[type="text"]:focus,
.lcform input[type="tel"]:focus,
.lcform input[type="email"]:focus,
.lcform input[type="radio"]:focus,
.lcform textarea:focus,
.lcform select:focus {
    box-shadow: 0 0 5px #43D1AF;
    border: 1px solid #43D1AF;
}
.lcform textarea{
    height: 12em;
    vertical-align: top;
}
label + input[type="radio"],
label + label {
    margin: 1em;
}
/*
.lcform p:nth-of-type(5){
	margin-top: 20px;
}
*/
.genderradio{
	margin-bottom: 20px;
}
.genderradio .gender_mr{
	margin-right: 20px;
}
.required{
    color:#fff;
    background-color:#fa5858;
    font-size: smaller;
    border-radius: 4px;
	padding: 2px 4px;
	margin-right: 5px;
}
.any{
    color:#fff;
    background-color:#ccc;
    font-size: smaller;
    border-radius: 4px;
	padding: 2px 4px;
	margin-right: 5px;
}
/*

.lcform input[type="submit"],
.lcform input[type="reset"]{
    box-sizing: border-box;
    width: 30%;
    padding: 3%;
    margin: 5px;
    background-color: #43D1AF;
    border-bottom: 2px solid #30C29E;
    border-top-style: none;
    border-right-style: none;
    border-left-style: none;
    color: #fff;
}
.lcform input[type="submit"]:hover,
.lcform input[type="reset"]:hover{
    transition: all 0.2s ease;
    background: #2EBC99;
}
.btn{
    text-align: center;
}

*/


/*ここからボタンアニメ*/
/*リセットボタン*/
/*
button
{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
*/
/*-------*/
.button {
    text-align: center;
    vertical-align: middle;
	min-width: 150px;
	max-width: 250px;
	display: block;
	margin: auto;
	padding: 1em 2em;
	border: none;
	background: none;
	color: inherit;
	position: relative;
	z-index: 1;
	backface-visibility: hidden;
}
.button:focus {
	outline: none;
}
.button > span {
	vertical-align: middle;
}
.button {
	font-size: 16px;
}
.button {
	border-radius: 15px;
}
.button {
	border: 1px solid;
}

/*-----------ボタンAntiman */
.button--antiman {
	background: none;
	border: none;
	height: 60px;
}
.button--antiman.button--inverted {
	transition: color 0.3s;
	transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}
.button--antiman > span {
	padding-left: 0.35em;
}
.button--antiman::before,
.button--antiman::after {
	content: '';
	z-index: -1;
	border-radius: inherit;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	transition: transform 0.3s, opacity 0.3s;
	transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}
.button--antiman::before {
	border: 2px solid #37474f;
	opacity: 0;
	transform: scale3d(1.2, 1.2, 1);
}
.button--antiman.button--border-thin::before {
	border-width: 1px;
}
.button--antiman.button--border-medium::before {
	border-width: 2px;
}
.button--antiman.button--border-thick::before {
	border-width: 3px;
}
.button--antiman::after {
	background: #fff;
}
.button--antiman:hover::before {
	opacity: 1;
	transform: scale3d(1, 1, 1);
}
.button--antiman:hover::after {
	opacity: 0;
	transform: scale3d(0.8, 0.8, 1);
}
/*----------------*/





/*---送信確認ページ テーブル---*/
.table_kakunin{
    border: 1px solid #ccc;
    border-collapse: collapse;
    margin: 20px auto 40px;
    width: 80%;
    max-width: 600px;
    font-size: 90%;
}
.table_kakunin th{
    border: 1px solid #ccc;
    padding: 1em 2em;
    width: 30%;
    background: #e2e2e2;
}
.table_kakunin td{
    border: 1px solid #ccc;
    padding: 1em 2em;
    background: #fff;
}
.kakunin{
    background-color: #f7f7f7;
    padding: 40px 0 120px;
	text-align: center;
}
.font_h{
    font-weight: 500;
    font-size: larger;
    color: #446688;
}

/*--------------------*/
/*thanksページ*/
#thanks{
	margin: 40px 0 60px;
}
#thanks h1{
	font-size: 35px;
	font-weight: 400;
	margin-bottom: 20px;
}
#thanks img{
	margin: 25px 0;
}

/*プラン用*/
#plan_visual{
	text-align: left;
	margin: 3em 7em;
	background: #faf2e6;
	z-index: -2;
}
/*プラン見出し*/
h2.plantitle{
    font-weight: 400;
    position: relative;
    padding-left: 0.7em;
	margin: 1em 0;
}
h2.plantitle::after {
     position: absolute;
     top: 50%;
     left: 0;
     transform: translateY(-50%);
     content: '';
     width: 3px;
     height: 2.5em;
     background-color: #446688;
}
/*プラン見出し 複数行*/
h2.plantitle2{
    font-weight: 400;
    position: relative;
    padding-left: 0.7em;
	margin: 1em 0;
}
h2.plantitle2::after {
     position: absolute;
     top: 50%;
     left: 0;
     transform: translateY(-50%);
     content: '';
     width: 3px;
     height: 6em;
     background-color: #446688;
}
/*３診断　見出し*/
h1.plantitle1{
    font-weight: 400;
    position: relative;
    padding-left: 0.7em;
	margin: 10px 0 0;
	display: inline-block;
}
h1.plantitle1::after {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 3px;
	height: 1.3em;
	background-color: #446688;
}
.ddline a{
	border-bottom: solid 0.8px;
}
.fontmini{
    font-size: smaller;
}

/*プラン用矢印マーク*/
.check li{
    position: relative;
    list-style: none;
}
.check li::after {
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 6px;
	height: 6px;
	border-right: 1px solid #446689;
	border-bottom: 1px solid #446689;
	transform: rotate(-45deg);
}
dd {
	margin-left: 2em; 
}
dl {
	padding-bottom: 2em;
}
#attention{
	margin-top: 2em;
	margin-bottom: 2em;
	padding-left: 2em;
	border-left: solid 3px #446688;
}
#plan_visual h3{
	margin-left: .7em;
	margin-bottom: 2em;
	line-height: 1.5;
}
.plantitle_sub {
	color: #58C9B9;
}

/*---------------------*/

img.images{
	max-width: 100%;
	vertical-align: top;
}
#main_visual .about_p{
	padding: 2em 3em 0;
	font-size: large;
}
img.sign{
	width: 30%;
    margin: 0 auto 5em;
}
#main_visual .access h3{
	font-weight: lighter;
	font-size: 150%;
	margin-top: 1.5em;
}
.prof_box img{
	width: 100%;
	height: auto;
	vertical-align:text-bottom;
}
/*３つの総合*/
#plan_visual .title_3{
	border-left: solid 170px #446689;
	padding-left: .5em;
	font-weight: 400;
	font-size: 220%;
	line-height: 1.4em;
}
#plan_visual .title_4 {
	border-left: solid 150px #446689;
	padding-left: .5em;
	margin: 1em 0;
	width: auto;
	font-weight: 400;
	font-size: 180%;
	line-height: 1.8em;
	letter-spacing: -.02em;
	margin: 2em 0;
}
#plans_3{
	border-collapse: collapse;
	width: 100%;
	table-layout: fixed;
	margin: 20px auto 60px;
	text-align: center;
}
#plans_3 td{
	vertical-align: bottom;
}
#plans_3 img{
	width: 200px;
	padding: 20px 20px;
}
table.points3{
	width: 100%;
	table-layout: fixed;
	margin: 20px 0;
}
.points3 tr{
	background-image: linear-gradient(-90deg, #E094BE, #9CBCE2);
}
.points3 td{
	padding: 1.3em 2em;
	text-align: center;
	color: #fff;
}
h3.title_2 {
	font-weight: lighter;
	position: relative;
	padding-left: 23px;
	margin-bottom: 30px;
	display :inline-block;
}
h3.title_2:before {
	position: absolute;
	content: '';
	bottom: -3px;
	left: 0;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 15px transparent;
	border-bottom: solid 15px #446689;
}
h3.title_2:after {
	position: absolute;
	content: '';
	bottom: -3px;
	left: 10px;
	width: 99%;
	border-bottom: solid 2px #446689;
}


/* 3つの診断画像ホバーリンク */
@import url(https://fonts.googleapis.com/css?family=Raleway:400,500,800);
figure.snip1200 {
	font-family: 'Raleway', Arial, sans-serif;
	position: relative;
	overflow: hidden;
	margin: 1px;
	min-width: 220px;
	max-width: 280px;
	max-height: 500px;
	width: 100%;
	background: #000000;
	color: #ffffff;
	text-align: center;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
	font-size: 16px;
}
figure.snip1200 * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.45s ease-in-out;
	transition: all 0.45s ease-in-out;
}
figure.snip1200 img {
	max-width: 100%;
	position: relative;
	opacity: 0.9;
}
figure.snip1200 figcaption {
	position: absolute;
	top: 45%;
	left: 7%;
	right: 7%;
	bottom: 45%;
	border: 1px solid white;
	border-width: 1px 1px 0;
}
figure.snip1200 .heading {
	overflow: hidden;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
	position: absolute;
	bottom: 0;
	width: 100%;
}
figure.snip1200 h2 {
	display: table;
	margin: 0 auto;
	padding: 0 10px;
	position: relative;
	text-align: center;
	width: auto;
	text-transform: uppercase;
	font-weight: 400;
}
figure.snip1200 h2:before,
figure.snip1200 h2:after {
	position: absolute;
	display: block;
	width: 1000%;
	height: 1px;
	content: '';
	background: white;
	top: 50%;
}
figure.snip1200 h2:before {
	left: -1000%;
}
figure.snip1200 h2:after {
	right: -1000%;
}
figure.snip1200 p {
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	position: absolute;
	width: 100%;
	padding: 0 20px;
	margin: 0;
	opacity: 0;
	line-height: 1.6em;
	font-size: 0.8em;
}
figure.snip1200 a {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	position: absolute;
	z-index: 1;
}
figure.snip1200:hover img,
figure.snip1200.hover img {
	opacity: 0.25;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
figure.snip1200:hover figcaption,
figure.snip1200.hover figcaption {
	top: 7%;
	bottom: 7%;
}
figure.snip1200:hover p,
figure.snip1200.hover p {
	opacity: 1;
	-webkit-transition-delay: 0.35s;
	transition-delay: 0.35s;
}
/*３画像リンク表示/非表示*/
#snip1200_333{
	display: inline-flex;
}
#snip1200_666{
	display: none;
}

/*----------------------------------*/

#font_m{
	margin: 1.5em;
}
.font_ms{
	font-size: large;
	color: #446688;
	list-style: none;
}
img.plans_3contets_img{
	max-width: 550px;
	width: 100%;
	height: auto;
	margin: 30px auto 50px;
	display: flex;
}
dt.dt1 {
	position: relative;
	color: #fff;
	padding:0.5em 0.5em 0.5em 1.4em;
	background-color: #fa9f4e;
}
dt.dt1::after {
	position: absolute;
	top: 50%;
	left:0;
	transform:translateY(-50%);
	content: '';
	width: 18px;
	height:4px;
	background-color: #fff;
}
dt.dt2 {
	position: relative;
	color: #fff;
	padding:0.5em 0.5em 0.5em 1.4em;
	background-color: #faaeba;
}
dt.dt2::after {
	position: absolute;
	top: 50%;
	left:0;
	transform:translateY(-50%);
	content: '';
	width: 18px;
	height:4px;
	background-color: #fff;
}
dt.dt3 {
	position: relative;
	color: #fff;
	padding:0.5em 0.5em 0.5em 1.4em;
	background-color: #a2cf80;
}
 
dt.dt3::after {
	position: absolute;
	top: 50%;
	left:0;
	transform:translateY(-50%);
	content: '';
	width: 18px;
	height:4px;
	background-color: #fff;
}
dt.dt4 {
	position: relative;
	color: #fff;
	padding: 0.5em 0.5em 0.5em 1.4em;
	background-color: #c39bde;
}
 
dt.dt4::after {
	position: absolute;
	top: 50%;
	left: 0;
	transform:translateY(-50%);
	content: '';
	width: 18px;
	height: 4px;
	background-color: #fff;
}
dt.dt5 {
	position: relative;
	color: #fff;
	padding: 0.5em 0.5em 0.5em 1.4em;
	background-color: #77c1b1;
}
 
dt.dt5::after {
	position: absolute;
	top: 50%;
	left: 0;
	transform:translateY(-50%);
	content: '';
	width: 18px;
	height: 4px;
	background-color: #fff;
}
dt.dt6 {
	position: relative;
	color: #fff;
	padding: 0.5em 0.5em 0.5em 1.4em;
	background-color: #dabbb4;
}
 
dt.dt6::after {
	position: absolute;
	top: 50%;
	left: 0;
	transform:translateY(-50%);
	content: '';
	width: 18px;
	height: 4px;
	background-color: #fff;
}
.dt1,.dt2,.dt3,.dt4,.dt5,.dt6 {
	margin: 10px;
}

/*スマホ用プラン一覧 表示/非表示*/
#sp_service{
	display: none;
}

/*プラン用画像*/
#plan_img {
	margin: 2em 0;
}







#lc_head{
	height: 0;
}
#lc_logo2{
	width: 0;
	height: 0;
}
/*-------------------------------------------------レスポンシブ */

/*サイズ1024px*/
@media screen and (max-width: 1024px) {
    #main_in {
        padding-left: 0;
    }
    #lc_head {
        height: 55px;
        background: rgba(255,255,255,.8);
		width: 100%;
		position: fixed;
		z-index: 100;
    }
	#lc_logo2{
		width: 200px;
		height: auto;
		padding: 15px;
		
	}
	#lc_logo{
		padding: 0;
	}
	.lc_logo_toggle{
		display: none;
	}
	#sidebar,#sidebar_1 {
        position: fixed;
        right: -300px;
        top: 0;
        height: 100%;
        width: 300px;
        color: #333;
        background: #fff;
        transition: .35s ease-in-out;
    }
	#snip1200_333{
		margin: 2em 5%;
	}

	
/* サブメニュー非表示 */
    #global_nav .sub_menu_head:after,
    #global_nav .sub_menu_nav,
	#global_nav .sub2_menu_nav{
        display: none;
    }
    #nav_toggle {
        display: block;
    }

/* nav open */
    .open {
        overflow: hidden;
    }
    .open #overlay {
        display: block;
    }
	.open #sidebar,.open #sidebar_1  {
        transform: translate3d(-300px,0,0);
    }
 
/* #nav_toggle close */
    .open #nav_toggle span:nth-child(1) {
        top: 11px;
        transform: rotate(45deg);
    }
    .open #nav_toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav_toggle span:nth-child(3) {
        top: 11px;
        transform: rotate(-45deg);
    }
 
/* z-index */
    #overlay {
        z-index: 200;
    }
	#sidebar,#sidebar_1 {
        z-index: 300;
    }
    #nav_toggle {
        z-index: 400;
    }
	
/* 上部▼メニュー非表示 */
	#contents_min{
	display: none;
	}
	
/* レイアウト調整 */
	#main_visual{
		margin-top: 20%;
	}
	#main_visual h2{
		font-size: 130%;
	}
	#main_visual p{
		font-size: 85%;
	}
	#sub_visual section{
		margin-top: 8%;
		font-size: 95%;
	}
	
	#sub2_visual{
		margin-top: 15%;
	}

/*各種プランページ*/
/*3つの診断ページ*/
	#plan_visual{
		margin: 10% 1.5em;
	}
	#plans_3 tr td{
		display: block;
	}
	#plan_visual .title_4 {
		border-left: solid 100px #446689;
		font-size: 25px;
		width: auto;
	}
	
	
/*タブレット用プラン一覧 表示/非表示*/
	#sp_service {
		display: block;
	}
/*タブレット用プラン*//*サイズ1024px*/
	.cp_menu0 {
		max-width: 70%;
		margin: 0 auto;
		margin-top: 2em;
	}
	.cp_menu {
		max-width: 70%;
		margin: 0 auto;
		border: solid 0.5px #fff;
		margin-bottom: 5em;
	}
	.cp_menu a {
		display: block;
		padding: 1em 2em;
		color: #000;
		line-height: 1;
	}
	.cp_menu label {
		display: block;
		position: relative;
		text-align: center;
		padding: 20px;
		line-height: 1.5;
		color: #000;
		font-size: 17px;
		font-weight: lighter;
		background: #58C9B9;
		cursor: pointer;
		border-bottom: solid 0.5px #fff;
	}
	.cp_menu label::before {
		position: absolute;
		content: '▼';
		color: #fff;
		right: 1.5em;
		top: 35%;
	}
	.cp_menu input {
		display: none;
	}
	.cp_menu ul {
		margin: 0;
		padding: 0;
		background: #E0E3DA;
		list-style: none;
	}
	.cp_menu li {
		overflow-y: hidden;
		max-height: 0;
		transition: all 0.5s;
	}
	/*リストが増えたらulごとに追加*/
	#cp_menu_bar1:checked ~ #link1 li,
	#cp_menu_bar2:checked ~ #link2 li {
		max-height: 150px;
		opacity: 1;
	}
	ul.link0 {
		text-align: center;
		padding: 20px;
		line-height: 1.5;
		color: #000;
		font-size: 17px;
		font-weight: lighter;
		background: #58C9B9;
		cursor: pointer;
		border-top: solid 0.5px #fff;
		border-right: solid 0.5px #fff;
		border-left: solid 0.5px #fff;
		list-style: none;
	}

/*アバウト*/
	#main_visual h2 {
		font-size: xx-large;
	}
	#main_visual .about_p {
		padding: 2em 2em 0;
		font-size: 20px;
	}
	
}


/*サイズ768px*/
@media screen and (max-width: 768px) {
	
/*スマホ用プラン*//*サイズ768px*/
	.cp_menu0 {
		max-width: 80%;
	}
	.cp_menu {
		max-width: 80%;
	}
	#plan_visual .title_4{
		font-size: 23px;
	}
	#snip1200_333{
		margin: 0;
	}
/*プロフィール*/
	#sub2_visual_in p{
	line-height: 1.5;
	font-size: 70%;
	}
	
}


/*サイズ480px*/
@media screen and (max-width: 480px) {
	#sidebar,#sidebar_1 {
		right: -200px;
		width: 200px;
		padding-top: 60px;
	}
	.open #sidebar,.open #sidebar_1  {
		transform: translate3d(-200px,0,0);
	}
	
/* レイアウト調整 */
	#sub_visual section{
		margin-top: 15%;
		font-size: 95%;
	}
	.lcform input[type="text"],
	.lcform input[type="tel"],
	.lcform input[type="email"],
	.lcform textarea,
	.lcform select {
		box-sizing: border-box;
		width: 100%;
		margin: 0;
	}
/* プロフィール */
	#sub2_visual{
		flex-direction: column;
		align-items: center;
	}
	#sub2_visual_in h1{
		margin: 1em 0;
	}
	
/* ホームnavi */
	.a_line {
		flex-direction: column;
		padding-bottom: 3em;
	}
	.a_line li{
		margin: 1em;
	}
/*各種プラン*/
/*3つの診断ページ*/
	#plan_visual{
		margin: 20% 1.5em;
		font-size: 90%;
	}
	#plan_visual .title_3{
		border-left: solid 100px #446689;
		font-size: 23px;
	}
	#plan_visual .title_4{
		border-left: solid 70px #446689;
		font-size: 20px;
		width: auto;
	}
	#plans_3 tr td{
		display: block;
	}
	.points3 tr td{
		display: block;
	}
	
/*３画像リンク表示/非表示*/
	#snip1200_333{
		display: none;
	}
	#snip1200_666{
		display: block;
		margin-top: 2em;
		margin-bottom: 4em;
	}
	#snip1200_666 img{
		height: auto;
		width: 100%;
	}

/*スマホ用プラン*//*サイズ480px*/
	.cp_menu0 {
		max-width: 360px;
	}
	.cp_menu {
		max-width: 360px;
	}
/*アバウト*/
	#main_visual h2{
		font-size: 18px;
	}
	#main_visual .about_p{
	padding: 2em 2em 0;
	font-size: 15px;
	}
/*各種プラン　複数行*/
	h2.plantitle2{
	font-size: 18px;
	}
	#plan_visual h3{
		font-size: 16px;
	}
	
	.font_ms{
		font-size: small;
	}

}


/*サイズM 375px*/
@media screen and (max-width: 376px) {
/*スマホ用プラン*/
	.cp_menu a{
		font-size: 13px;
	}
	#plan_visual .title_4{
		font-size: 18px;
		margin: 2em 0;
	}
/*アバウト*/
	#main_visual h2{
		font-size: 16px;
	}
	#main_visual .about_p{
	padding: 2em 2em 0;
	font-size: 14px;
	}
/*コンタクト*/
	#sub_visual .contact_p{
	margin: 2em 2em 0;
	font-size: 14px;
	}
/*pp*/
	#sub3_visual{
		font-size: 80%;
	}
/*各種プラン*/
	h2.plantitle{
		font-size: 20px;
	}
	#plan_visual{
		font-size: 80%;
	}
/*各種プラン　複数行*/
	h2.plantitle2{
	font-size: 16px;
	}
	#plan_visual h3{
		font-size: 14px;
	}
	.font_ms{
		font-size: smaller;
	}
}


/*サイズS 320px*/
@media screen and (max-width: 321px) {
/*スマホ用プラン*/
	.cp_menu a{
		font-size: 11px;
	}
	#plan_visual .title_3{
		font-size: 20px;
	}
	#plan_visual .title_4{
		font-size: 15px;
	}
/*アバウト*/
	#main_visual h2{
		font-size: 13px;
	}
	#main_visual .about_p{
	padding: 2em 2em 0;
	font-size: 12px;
	}
/*コンタクト*/
	#sub_visual .contact_p{
	margin: 2em 2em 0;
	font-size: 10px;
	}
/*各種プラン*/
	h2.plantitle{
		font-size: 17px;
	}
/*各種プラン　複数行*/
	h2.plantitle2{
	font-size: 13px;
	}
	#plan_visual h3{
		font-size: 11px;
	}

}

/* 2307 popup */
.overlay{
    display:none;
    width:100%;
    height:100%;
    background: rgba(0,0,0,0.6);
    position:fixed;
    z-index:1001;
}
/* .notice_area{
    max-width:800px;
	width: 100%;
    height:auto;
    position:absolute;
    top:50%;
    left:50%;
	transform: translate(-50%, -50%);
    background-color:#fff;
    z-index:1002;
	border-radius: 20px;
} */
.overlay {
	display: flex;
    overscroll-behavior: contain;
    overflow-y: scroll;
}
.notice_area{
    max-width:800px;
	width: 100%;
    height:auto;

	margin: 5% auto;
}
.nonScroll {
    height:calc(100vh + 1px) ;
    width: 1px;
    background-color: transparent;
}
@media screen and (max-width: 1024px){
	/* .notice_area {
		position: relative;
		max-width: unset;
		top: unset;
		left: unset;
		transform: unset;
		margin: 0 10px;
		width: auto;
	} */
	
}
.notice_inner {
	text-align: center;
	padding: 60px 30px;
	background-color:#fff;
    z-index:1002;
	border-radius: 20px;
}
.notice_ttl {
	font-size: 24px;
	text-align: center;
	color: #446688;
	line-height: 1;
	padding-bottom: 30px;
}
.notice_txt {
    padding-bottom: 40px;
	text-align: left;
	font-size: 15px;
	line-height: 1.8;
}
.notice_area .t_red {
	color: #fa5858;
}
.notice_area .t_blue {
	color: #446688;
	font-size: 18px;
	display: block;
	margin-bottom: 10px;
}
.notice_area .t_blue_s {
	color: #446688;
	font-size: 14px;
}
.notice_area button {
    display: block;
    margin: 0 auto;
    margin-bottom: 20px;
    border: none;
    padding: 10px 25px;
	cursor: pointer;
	border-radius: 10px;
}

