@charset "utf-8";

/*------------------------------------------------
	00_共通_上部
	00_共通_下部
	01_TOP
	02_Parmly
	03_DH
	04_LESSON
    04_02 INTERVIEW
    05_REPORT
	06_ privacy / site_poricy / sitemap
	07_よくある質問
    08_login<メンバーページ>
------------------------------------------------*/




/*------------------------------------------------
	基本設定
------------------------------------------------*/
/* 初期設定 */
* { 
	font-family: "FOT-筑紫ゴシック Pr5 M",'TsukuGoPr5-M', "Times New Roman", Times, "serif", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'HG丸ｺﾞｼｯｸM-PRO', 'HGMaruGothicMPRO', sans-serif;
	-webkit-text-size-adjust: 100%;
	color: #333;
}
.font_pr5_r {
	font-family: "FOT-筑紫ゴシック Pr5 R",'TsukuGoPr5-R';
}
.font_pro_b {
	font-family: "FOT-筑紫ゴシック Pro B",'TsukuGoPro-B';
}
.font_pr5_d {
	font-family: "FOT-筑紫ゴシック Pr5 D",'TsukuGoPr5-D';
}

html, body {
	height: 100%;/*親要素全ての高さを決めると、ウィンドウの高さ取得が可能*/
	scroll-behavior: smooth;
}
body,
span {
	font-size: 16px;
	line-height: 2.25;
}
.sp{
	display: none!important;
}

.font_red {color: #ff0000;}

.white_space {
   white-space: nowrap;
}

.padding_b {
    padding-bottom: 10px
}
span.marker{
    background:linear-gradient(rgba(255, 255, 255, 1) 85%, rgba(255, 0, 0, 0.15)50%);
}

@media screen and (max-width:800px) {
	.pc{
		display: none!important;
	}
	.sp{
		display: block!important;
		margin: 0 auto;
	}
    .lesson .white_space {
        white-space: normal;
    }
}
/*----------------
　レイヤーの重なり
----------------*/
header {
	z-index: 7777;
}
header.open {
	z-index: 9999;
}
#nav_toggle {
	z-index: 9999;
}

/*----------------
　hover
----------------*/
a:hover {
	transition: 0.5s;
}
nav a:hover,
.top .info_box table a:hover,
.bnr_img a:hover,
.fix_btn a:hover,
.member a:hover,
/*.dh .sec_05 table a:hover,*/
.report .btn_area a:hover {
	opacity: 0.5;
	transition: 0.4s;
}


/*------------------------------------------------
	00_共通_上部
------------------------------------------------*/
.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(5,0,75,0.85);
	margin-bottom: 100px;
}
.header .inner_header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 34px 50px;
	margin: 0 auto;
}


/*左カラム*/
h1 {
	max-width: 223px;
	width: 29.86%;
}

/*右カラム*/
#nav_toggle .toggle_box {
	position: relative;
	width: 42px;
}
#nav_toggle .toggle_box .toggle_menu {
	position: relative;
	top: 12px;
}
#nav_toggle span {
	position:absolute;
	left: 0;
	width: 100%;
	height: 5px;
	border-radius: 1px;
	background: #fff;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;	
}
#nav_toggle span:nth-child(1){
	top:0px;
}
#nav_toggle span:nth-child(2){
	top:10px;
}
#nav_toggle span:nth-child(3){
	top:20px;
}


/* navi */
.header nav {
    display: none;
    position: fixed;
    top: 114px;
    right: 0;
    max-width: 450px;
    height: 100vh;
    background:rgba(255,255,255,0.95);
    border-left: 1px solid #b9b7db;
    z-index: 10;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.header nav .navi_inner {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.header nav  table {
	width: 100%;
}
.header nav  td.hide {
	display: hide;
	width: 20%;
}
.header nav  tr.list_01,
.header nav tr.list_02 li {
	align-items: center;
	margin: 0 auto;
}

/*差替え後*/
header nav {
	max-width: 590px;
	margin: 0 auto;
}
header nav>div {
    height: calc(100vh + 200px);
	padding: 20px 13%;
}
header nav li {
	margin-bottom: 20px;
}
header nav li ul.inline {
	text-align: right;
}
header nav li ul.inline li{
	display: inline-block;
}
header nav li ul.inline li:not(:last-of-type){
	width: 35px;
	margin-right: 10%;
}
header nav li ul.inline li:nth-of-type(2) {
	width: 58px;
}
header nav li ul.inline li:nth-of-type(3) {
	width: 58px;
}
@media screen and (max-width:500px) {
	header nav li ul.inline li:first-of-type {
		margin-right: 35px;
		max-width: 28px;
	}
	header nav li ul.inline li:nth-of-type(2) {
		max-width: 48px;
	}
	header nav li ul.inline li:nth-of-type(3) {
		max-width: 46px;
	}
}


.header nav tr.list_01 td.link {/*+アイコン*/
	line-height: 0;
	width: 20%;
	cursor: pointer;
	margin-top: 8px;
	margin-left: 30px;
}
.header nav tr.list_01.flex td:first-of-type {/*問い合わせ*/
	margin-right: 30px;
}
.header nav .list {
  	display: none;
	background-color: #f1f0fc;
}
.header nav tr.list_02 li {
	display: flex;
	align-items: center;
	height: 90px;
}
.header nav tr.list_02 li a {
	line-height: 0;
}




/* open */
.header #nav_toggle .toggle_box {
	position: absolute;
	right: 50px;
	width: 42px;
	height: 25px;
	z-index: 99;
}
.header.open #nav_toggle span:nth-child(1) {
	top: 12px;
   -webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}
.header.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.header.open #nav_toggle span:nth-child(3) {
	top: 12px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
/*開閉アイコン*/
.header .on{
	display: none;
}
.header .selected .on{
	display: block;
}
.header .selected .off{
	display: none;
}

/*お問い合わせ・資料請求*/
.header .flex{
	display: flex;
	justify-content: center;
}
.header .flex li:first-of-type {
	margin-right: 50px;
}
@media screen and (max-width:750px) {
	.header nav {
		max-width: inherit;
		width: 100%;
		top: 120px;
	}
	.header .inner_header {
	padding: 30px 50px 54px;
	}
	.header #nav_toggle .toggle_box {
    	width: 56px;
	}
	.header #nav_toggle span {
		height: 7px;
	}
	.header #nav_toggle span:nth-child(2) {
		top: 13px;
	}
	.header #nav_toggle span:nth-child(3) {
		top: 27px;
	}
	.header #nav_toggle p {
		top: 44px;
	}
	.header #nav_toggle .toggle_box .toggle_menu {
		top: 32px;
	}
	.header nav tr.list_01,
	.header nav tr.list_02 li {
		padding: 0 20px;
	}
	.header nav td.sp,
	.header nav tr.list_02 li {
		margin-left: 0;
	}
	.header nav tr.list_02 li.sp {
		display: flex!important;
	}
	.header nav tr.list_01 td.sp {
		width: auto;
		display: block !important;
	}

}
@media screen and (max-width:500px) {
	.header .inner_header {
		padding: 17px 21px 10px;
	}
	h1 {
	max-width: 112px;
	width: 50%;
	}
	h1 img{
	vertical-align: top;
	}
	.header nav {
	top: 62px;
	}
	.header #nav_toggle .toggle_box  {
	width: 28px;
	right: 20px;
	}
	.header #nav_toggle span {
	height: 3px;
	}
	.header #nav_toggle span:nth-child(2) {
	top: 7px;
	}
	.header #nav_toggle span:nth-child(3) {
	top: 14px;
	}
	.header #nav_toggle .toggle_box .toggle_menu {
	top: -4px;
	}
	.header #nav_toggle td{
		max-width: 290px;
		margin-left: 0;
	}
}

/*----------------
　　arrow_btn
----------------*/
*[class^="arrow_btn_"]{
	position: absolute;
	display: inline-block;
	left: 50%;
	bottom: 10px;
}
*[class^="arrow_btn_"] img {
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(0) translate(0, 0);
  }
  20% {
    -webkit-transform: rotate(0) translate(0, 10px);
  }
  40% {
    -webkit-transform: rotate(0) translate(0, 0);
  }
}
@media screen and (max-width:700px) {
	*[class^="arrow_btn_"]{
	left: calc(50% - 33px);
	bottom: 20px;
	}
}
@media screen and (max-width:500px) {
	*[class^="arrow_btn_"]{
	max-width: 34px;
	left: calc(50% - 16px);
	bottom: 0;
	}
}

/*----------------
　　赤ライン
----------------*/
.line_red {
	content: "";
	display: block;
	width: 52px;
	height: 4px;
	border-radius: 2px;
	background: #ff0000;
	margin: auto;
}

/*----------------
　　追随ボタン
----------------*/
.fix_btn {
	position: -webkit-sticky;
	position: sticky;
	bottom: 20px;
	margin: 0 auto;
}
.fix_btn ul {
    display: flex;
    justify-content:flex-end;
}
.fix_btn li {
    margin-right: 10px;
}
@media screen and (max-width:800px)  {
    .fix_btn ul {
        width: 50%;
        justify-content: center;
        margin: 80px auto;
    }
    .fix_btn li:last-of-type {
        margin-right: 0;
    }
}
@media screen and (max-width:500px)  {
    .fix_btn ul {
        margin: 40px auto;
    }
}

.wrapper {
	margin-top: 250px;
}
.top.wrapper{
	margin-top: 0;
}
@media screen and (max-width:500px) {
	.wrapper {
		margin-top: 125px;
	}
}

/*------------------------------------------------
	00_共通_下部
------------------------------------------------*/

/*セミナーバナー*/
.bnr_img {
	text-align: center;
	margin: 0 auto;
}
@media screen and (max-width:830px) {
	.bnr_img {
        padding: 0 80px;
        margin-bottom: 100px;
	}
    .bnr_img img{
        max-width: 400px;
	}
	.dh.wrapper .bnr_img,
	.lesson.wrapper .bnr_img {
		margin-bottom: 100px;
	}
}
@media screen and (max-width:500px) {
	.bnr_img {
	padding: 0 40px 40px;
	}
	.dh.wrapper .bnr_img,
	.lesson.wrapper .bnr_img {
		margin-bottom: 50px;
	}
}


/*----------------
　下層リンク
----------------*/

/*Parmly / DH / About Lesson*/
.common_col3  {
    max-width: 800px;
	display: flex;
	justify-content: space-between;
	margin: 150px auto 180px;
}
.common_col3 ul {
	position: relative;
}
.pc.common_col3 ul:nth-of-type(2) {
	margin: auto 10px;
}
.common_col3 li.hover_on {
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0;
	transition: 0.5s;
}
.common_col3 ul:hover li.hover_on {
 	opacity: 1;
}

/*----------------
　　footer 
----------------*/
footer {
	position: relative;
	text-align: center;
	background: url(../img/common/ptn01.png);
	padding-top: 90px;
}
.top_btn {
	position: absolute;
	bottom: 50px;
	right: 16.666%;
}

/*質問・お問い合わせ*/
footer .col2 {
	max-width: 493px;
	margin: 0 auto 90px;
}
footer .col2 ul {
	display: flex;
	justify-content: center;
}
footer .col2 li a {
	display: block;
	height: 100%;
	color: #fff;
}
footer .col2 li a:hover { 
	opacity: 0.65;
	-webkit-transition: 0.5s ease;
	-webkit-transition: 0.5s ease;
	-moz-transition: 0.5s ease;
	transition: 0.5s ease;
}

/*規約*/
footer .col3 {
	border-top: 4px solid #fff;
	background: #f5f5f0;
	padding: 32px 0 10px;
}
footer .col3 ul {
	display: flex;
	justify-content: center;
	margin: 0 auto 60px;
}
footer .col3 li {
	box-sizing: border-box;
	padding: 0 30px;
}
footer .col3 li:not(:last-child) {
	border-right: 2px solid #231815;
}
footer .col3 li a,
footer .copyright {
	color: #231815;
}
footer .col3 li a {
	display: block;
	font-size: 18px;
}
footer .col3 li a:hover {
	text-decoration: underline;
}
footer .address,
footer .copyright{
	font-size: 14px;
	margin-top: 30px;
}
footer .address p{
    line-height: 1.2;
}
@media screen and (max-width:800px) {
	/*共通*/
	.sp.common_col3 {
		margin: 0 auto;
	}
	.sp.common_col3 li{
		margin-bottom: 9px;
	}
	.sp.common_col3 li:last-of-type {
		margin-bottom: 0;
	}
	footer .col2 {
		max-width: initial;
	}
	footer .col2 ul {
		width: 86%;
    	justify-content: center;
		margin: 0 auto;
	}
	footer .col2 li:first-of-type {
    	margin-right: 26px;
	}
	.top_btn {
		right: 6.666%;
	}
}

@media screen and (max-width:500px) {
	/*共通*/
	.sp.common_col3 {
		margin: 0 auto;
	}
	.sp.common_col3 li{
		margin-bottom: 5px;
	}
	footer {
		padding-top: 45px;
	}
	footer .col2 {
		margin-bottom: 45px;
	}
	footer .col2 ul {
		width: 86%;
	}
	footer .col2 li:first-of-type {
		margin-right: 13px;
	}
	footer .col3 {
    	padding: 16px 0 28px;
	}
	footer .col3 ul {
    margin: 0 auto 30px;
	}
	footer .col3 li {
		padding: 0 6px;
	}
	footer .col3 li:not(:last-child) {
    	border-right: 1px solid #231815;
	}
	footer .col3 li a {
		font-size: 9px;
	}
	footer .copyright {
		font-size: 7px;
	}
	footer .col3 .footer_logo {
		width: 52px;
		margin: 0 auto;
	}
	.top_btn {
		width: 35px;
		right: 6.666%;
	}
}


/*------------------------------------------------
	01_TOP
------------------------------------------------*/

/*main_visual*/
.main_visual {
	background-color: #fb3d3d;
}
.main_visual p {
	max-width: 1200px;
	height: 100vh;
	line-height: 0;
	background: url("../img/top/main_img.gif") no-repeat center;
	background-size: contain;
	margin: 0 auto;
}

/*contents*/
.top .sec {
	max-width: 800px;
	text-align: center;
	margin: 0 auto;
}
.top .sec h2 {
	margin: 200px auto 100px;
}
.top .sec .txt span {
	margin-bottom: 34px;
}
.top .sec .txt {
	line-height: 3;
	margin-bottom: 80px;
}
.top .sec .txt span {
	letter-spacing: 0.075em;
}
/*Information*/
.top .info_box {
	max-width: 636px;
    text-align: left;
	margin: 100px auto 0;
}
.top .info_box .ttl:after {
    display: block;
    content: "";
    border-bottom: 1px solid #f00;
    padding-top: 16px;
}
.top .info_box .ttl span {
    border: 1px solid #f00;
    border-radius: 0 14px 0 0;
    padding: 6px 20px 10px;
}
.top .info_box .ttl img {
    vertical-align: middle;
}
.top .info_box table {
    margin: 50px 20px;
}
.top .info_box table th {
    padding-right: 24px;
    padding-bottom: 30px;
}
.top .info_box td {
    max-width: 390px;
    vertical-align: middle;
    padding-bottom: 30px;
}
.top .info_box p {
    font-size: 14px;
    line-height: 1.7;
}
.top .info_box .date {
    font-size: 12px;
    color: #ff0000;
}
.top .info_box .category {
    max-width: 60px;
    font-size: 13px;
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'HG丸ｺﾞｼｯｸM-PRO', 'HGMaruGothicMPRO', sans-serif;
    text-align: center;
    color: #fff;
    border-radius: 6px;
    background-color: #ff0000;
    margin: 4px 0 6px;
}



@media screen and (max-width:750px) {
	.main_visual p {
		background: url(../img/top/main_img_sp.gif) no-repeat center;
		background-size: contain;
	}
	.top .sec {
		max-width: 800px;
	}
	.top .sec h2 {
		margin: 160px auto;
	}
	.top .sec .txt {
		text-align: left;
		font-size: 28px;
		line-height: 2.14;
		letter-spacing: -0.025em;
	}
	.top .sec .txt span .sp{
		margin-bottom: 34px;
	}
	.top .sec .sp.txt_box {
		box-sizing: content-box;
		padding: 0 90px;
		margin: 0 auto 180px;
	}
}
@media screen and (max-width:500px) { 
	.top .sec h2 {
		max-width: 152px;
		margin: 95px auto 80px;
	}
	.top .sec .sp.txt_box {
		padding: 0 45px;
		margin: 0 auto 48px;
	}
	.top .sec .txt {
		font-size: 14px;
		margin-bottom: 40px;
	}
   /*-----------
    　　レポート
    -----------*/
    .top .info_box {
        padding: 0 45px;
    }
    .top .info_box .ttl span {
        width: 45%;
        display: inline-block;
        padding: 0 10px 4px;    
    }
    .top .info_box .ttl::after {
        padding-top: 10px;
    }
    .top .info_box table {
        margin: 30px 0;
    }
    .top .info_box th,
    .top .info_box td {
        display: block;
    }
    .top .info_box table th {
        padding-right: 0;
        padding-bottom: 10px;
    }
    .top .info_box td {
        max-width: inherit;
        padding-bottom: 40px;
    }
    .top .info_box .date {
        font-size: 10px;
    }
    /*
	.top .sec .txt span .sp{
		margin-bottom: 17px;
	}
	.header .list_01.flex .sp {
		width: 50%;
		margin: 0 auto;
	}
	.header .list_01.flex .sp:last-of-type {
		max-width: 50px;
	}*/
	
}

/*------------------------------------------------
	02_Parmly
------------------------------------------------*/

/*背景：三角形*/
.parmly .txt_box02 {
  position: relative;
  overflow: hidden;
}
.parmly .txt_box02::before {
	content: '';
	position: absolute;
	top: -600px;
	left: 0;
	border: 1250px solid transparent;
	border-right: 4000px solid #fff2f2;
	margin-left: -1800px;
	margin-right: -1800px;
	z-index: -1;
}
.parmly .txt_box02 .inner_txt_box02 {
	box-sizing: content-box;
	max-width: 569px;
	height: 100%;
	padding-right: 114px;
    padding-left: 114px;
	margin: 0 auto;
}

/*上下 赤ライン*/
.parmly .inner_txt_box02:before,
.parmly .inner_txt_box02::after {
	content: "";
	display: block;
	width: 40px;
	height: 4px;
	border-radius: 2px;
	background: #ff0000;
	margin: auto;
}

/*コンテンツ*/
.parmly h2,
.parmly h3 {
	text-align: center;
}
.parmly .txt_box01 {
    max-width: 660px;
    margin: 156px auto 150px;
}
.parmly h3 {
	margin-bottom: 32px;
}

/*縦書き*/
.parmly .txt_box02 .box_right {
    text-align: right;
}
.parmly .txt_box02 .box_left {
    text-align: left;
	margin: 64px 0;
}
.parmly .txt_box02 .txt {
	display: inline-block;
	text-align: left;
	max-height: 380px;
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}
.parmly .txt_box02  [class*="box_"]:first-of-type {
	margin-top: 100px;
}
.parmly .txt_box02  [class*="box_"]:last-of-type {
	margin-bottom: 100px;
}
.parmly .txt_box02  [class*="box_"] p {
	margin-left: 30px;
}
.parmly .txt_box02  [class*="box_"] p:last-of-type {
	margin-left: 0;
}
.parmly .txt_box02  [class*="box_"] p.font_pr5_d,
.parmly .txt_box02  [class*="box_"] p.font_pr5_d span {
	font-size: 24px;
	margin-left: 40px;
}

/*　歯の価値について　*/
.parmly .txt_box03 {
	max-width: 472px;
	margin: 32px auto 146px;
}

/*----------------
scroll animation 縦書きアニメーション
----------------*/
.parmly .mv_area {
	opacity: 0;
	transform: translate(0,100px); 
	-webkit-transform: translate(0,100px); 
}
.parmly .active{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	transition: 1.5s;
}

@media screen and (max-width:750px) {
	.parmly .txt_box01 {
    max-width: 660px;
    margin: 140px auto 124px;
    padding: 0 50px;
    box-sizing: content-box;
	}
	.parmly h3 {
    font-size: 30px;
    line-height: 1.6;
	}
	.parmly .txt_box02::before {
    top: -600px;
    border: 1800px solid transparent;
    border-right: 2000px solid #fff2f2;
    margin-left: -2100px;
    margin-right: -2100px;
	}
	.parmly .txt_box02 .inner_txt_box02 {
    max-width: initial;
	padding-right: 50px;
	padding-left: 50px;
	}
	.parmly .txt_box02 .box_left {
    margin: 136px 0;
	}
	.parmly .txt_box02 [class*="box_"]:first-of-type {
    margin-top: 200px;
	}
	.parmly .txt_box02 .txt {
    	max-height: 550px;
	}
	.parmly .txt_box02 [class*="box_"] p {
    font-size: 30px;
	}
	.parmly .txt_box02 [class*="box_"] p.font_pr5_d,
    .parmly .txt_box02  [class*="box_"] p.font_pr5_d span {
    font-size: 36px;
	}
	.parmly .txt_box02 [class*="box_"]:last-of-type {
    margin-bottom: 152px;
	}
}

@media screen and (max-width:500px) {
	.parmly h2 {
		max-width: 154px;
		margin: 0 auto;
	}
	.parmly .txt_box01 {
    max-width: 330px;
    margin: 70px auto 62px;
    padding: 0 25px;
	}
	.parmly h3 {
    font-size: 15px;
	}
	.parmly .txt_box02::before {
	top: -300px;
	border: 900px solid transparent;
	border-right-color: transparent;
	border-right-style: solid;
	border-right-width: 900px;
	border-right: 1000px solid #fff2f2;
    margin-left: -1000px;
    margin-right: -1000px;
	}
	.parmly .txt_box02 .inner_txt_box02 {
	padding-right: 25px;
	padding-left: 25px;
	}
	.parmly .txt_box02 .box_left {
    margin: 68px 0;
	}
	.parmly .txt_box02 [class*="box_"]:first-of-type {
    margin-top: 100px;
	}
	.parmly .txt_box02 .txt {
    	max-height: 275px;
	}
	.parmly .txt_box02 [class*="box_"] p {
    font-size: 15px;
	}
	.parmly .txt_box02 [class*="box_"] p.font_pr5_d,
    .parmly .txt_box02  [class*="box_"] p.font_pr5_d span{
    font-size: 18px;
	margin-left: 20px;
	}
	.parmly .txt_box02 [class*="box_"]:last-of-type {
    margin-bottom: 76px;
	}
	.parmly .txt_box03 {
    max-width: 262px;
    margin: 16px auto 73px;
	}
	.parmly .txt_box03 .txt br.sp {
		margin-bottom: 35px;
	}
}


/*------------------------------------------------
	03_DH
------------------------------------------------*/
.dh .sec_01,
.dh .sec_02 .inner,
.dh .sec_03,
.dh .sec_04 .inner_sec04,
.dh .sec_05 {
	max-width: 800px;
	margin: 0 auto;
}
.dh .sec_01 h2,
.dh .sec_01 .dh_img,
.dh .sec_01 h3 {
	text-align: center;
}
.dh .sec_01 .dh_img {
	margin: 160px auto 100px;
}
.dh .sec_01 .line_red{
	margin: 60px auto;
}
.dh .sec_01 h3 {
	font-size: 30px;
	line-height: 2.4;
	letter-spacing: 0.05em;
	text-align: center;
}
.dh .sec_01 .txt_box {
	font-size: 16px;
	line-height: 2.25;
	padding: 0 84px;
	margin-bottom: 90px; /*100px*/
}
.dh .sec_01 .txt_box p:last-of-type {
	margin-bottom: 160px;
}
.dh .sec_01 .txt_box p {
	margin-bottom: 40px; /*60px*/
}

/*------
ステップ・インタビュー　ボタン2個
------*/
.dh .sec_01 .link_col2 ul {
	display: flex;
	justify-content: center;
	width: 100%;
}
.dh .sec_01 .link_col2 li:first-of-type {
	margin-right: 20px;
}
.dh .sec_01 .link_col2 li {
	max-width: 200px;
	width: 48%;
}
.dh .sec_01 .link_col2 li a {
	position: relative;
	box-sizing: border-box;
	display: block;
	line-height: 2.25;
	text-align: center;
	color: #fff;
	background: #ff0000;
	border-radius: 10px;
	padding: 12px 0 18px;/*28px*/
}
.dh .sec_01 .link_col2 a::before {
	content: "";
	position: absolute;
	left: 54%;
	bottom: 8px;
	margin-left: -15px;
	border: 5px solid transparent;
	border-top: 6px solid #fff;
}

/*------
 step
------*/
.dh .sec_02 {
    background: url(../img/common/ptn01.png);
    padding: 80px 6%;
    margin-top: 160px;
    box-sizing: content-box;
}
.dh .sec_02 h2 {
	background: #fff;
	border-radius: 10px;
	padding: 28px 0 28px 9.8%;
	margin-bottom: 50px;
}

/*------
 interview
------*/
.dh .sec_03 h2 {
    margin: 100px 0 80px;
}
.dh .sec_03 ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 100px;
}
.dh .sec_03 li img.sp {
    display: none;
}
.dh .sec_03 li:nth-child(n + 3) {
    margin-top:16px;
}
/*画像拡大*/
.dh .sec_03 li{
	overflow: hidden;
    width: 48%;
}
.dh .sec_03 li:nth-child(odd) {
    margin-right: 4%;
}
.dh .sec_03 li img {
	display: block;
	transition-duration: 0.3s;
}
.dh .sec_03 li img:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
}

@media screen and (max-width:520px) {
    .dh .sec_03 li:nth-child(n + 3) {
        margin-top:0px;
    }
}


/*------
 join us
------*/
.dh .sec_04 {
    background-color: #f0f0f0;
    padding: 80px 0;
    margin-bottom: 100px;
}
.dh .sec_04 .inner_sec04 {
    background-color: #fff;
    border-radius:  10px;
    padding: 50px 60px;
}
.dh .sec_04 .inner_sec04 h2 {
    margin-bottom: 50px;
}
.dh .sec_04 .inner_sec04 h2 img.sp {
    text-align: left;
    margin: 0;
}
.dh .sec_04 .inner_sec04 ul {
    display: flex;
    flex-wrap: wrap;
}
.dh .sec_04 .inner_sec04 li {
    font-size: 12px;
    line-height: 1.9;
    width: 24.25%;
    max-width: 170px;
    text-align: center; 
    margin-right: 1%;
    margin-bottom: 40px;
}
.dh .sec_04 .inner_sec04 li:nth-of-type(4n) {
    margin-right: 0;
}
.dh .sec_04 .inner_sec04 li:last-of-type a:hover {
	opacity: 0.5;
	transition: 0.4s;
}
.dh .sec_04 .inner_sec04 li p {
    font-family: "FOT-筑紫ゴシック Pro B",'TsukuGoPro-B';
}
.dh .sec_04 .inner_sec04 li .name {
    margin: 10px auto 4px;
}
.dh .sec_04 .inner_sec04 li .comments {
    max-width: 120px;
    text-align: left;
    margin: 0 auto;
}


.dh .fix_box {
    margin-bottom: 100px;
}

@media screen and (max-width:800px) {
	.dh .sec_01 .dh_img {
	margin: 90px auto 100px;
	}
	.dh .sec_01 h3 {
	font-size: 36px;
	line-height: 2.0;
	}
	.dh .sec_01 .line_red {
	margin: 46px auto;
	}
	.dh .sec_01 .txt_box {
	font-size: 28px;
	line-height: 1.71;
	padding: 0 104px;
	letter-spacing: 0.025em;
	}
	.dh .sec_01 .txt_box p {
	margin-bottom: 70px;
	}
	.dh .sec_01 .txt_box p:last-of-type {
	margin-bottom: 94px;
	}
	.dh .sec_01 .link_col2 ul {
	justify-content: space-around;
	}
	.dh .sec_01 .link_col2 li {
	max-width: 250px;
	font-size: 24px;
	}
	.dh .sec_01 .link_col2 a::before {
	left: calc(50% + 12px);
	}
	/*step*/
	.dh .sec_02 {
	margin-top: 100px;
	padding: 56px 6%;
	}
	.dh .sec_02 h2 {
	padding: 40px 0 40px 9.8%;
	margin-bottom: 60px;
	}
	/*interview*/
	.dh .sec_02 h2 .sp {
	    display: inline!important;
	}
	/*interview*/
	.dh .sec_03 {
	    padding: 0 6%;
    }
    .dh .sec_03 h2 {
        margin: 90px 0 80px;
    }
    .dh .sec_03 h2 .sp {
        margin-left: 0;
    }
    .dh .sec_03 ul {
        display: inherit;
    }
    .dh .sec_03 li{
        width: 100%;
    }
    .dh .sec_03 li img.pc {
        display: none;
    }
    .dh .sec_03 li img.sp {
        display: block !important;
    }
    /*メンバー　一覧*/
    .dh .sec_04 {
        padding: 56px 0;
        margin-bottom: 50px;
    }
    .dh .sec_04 .inner_sec04 {
        max-width: 652px;
        padding: 42px 60px;
        margin: 0 50px;
    }
    .dh .sec_04 .inner_sec04 li {
        width: 32.66%;
        max-width: initial; /* 初期状態にリセット */
    }
    .dh .sec_04 .inner_sec04 li:nth-of-type(4n) {
        margin-right: 1%;
    }
    .dh .sec_04 .inner_sec04 li:nth-of-type(3n) {
        margin-right: 0;
    }
}

@media screen and (max-width:520px) {
	.dh .sec_01 h2 {
	max-width: 160px;
	margin: 0 auto;
	}
	.dh .sec_01 .dh_img {
	max-width: 73px;
	margin: 45px auto 50px;
	}
	.dh .sec_01 h3 {
	font-size: 18px;
	}
	.dh .sec_01 .line_red {
	margin: 23px auto;
	}
	.dh .sec_01 .txt_box {
	font-size: 14px;
	padding: 0 52px;
	}
	.dh .sec_01 .txt_box p {
	margin-bottom: 35px;
	}
	.dh .sec_01 .txt_box p:last-of-type {
	margin-bottom: 47px;
	}
	.dh .sec_01 .link_col2 li {
	max-width: 125px;
	font-size: 12px;
	}
	.dh .sec_01 .link_col2 li:first-of-type {
	margin-right: 10px;
	}
	.dh .sec_01 .link_col2 a::before {
	left: calc(50% + 12px);
	}
	/*step*/
	.dh .sec_02 {
	margin-top: 50px;
	padding: 28px 6%;
	}
	.dh .sec_02 h2 {
	padding: 20px 0 20px 9.8%;
	margin-bottom: 30px;
	}
	.dh .sec_02 h2 img{
    max-width: 90px;
	}
    /*interview*/
    .dh .sec_03 h2 {
    max-width: 125px;
    }
    .dh .sec_03 h2 {
    margin: 45px 0 30px;
    }
    .dh .sec_03 ul {
        margin-bottom: 50px;
    }
    /*メンバー　一覧*/
    .dh .sec_04 {
        padding: 28px 0;
    }
    .dh .sec_04 .inner_sec04 {
    padding: 21px 30px;
    margin: 0 25px;
    }
    .dh .sec_04 .inner_sec04 h2 {
    max-width: 124.5px;
    margin-bottom: 25px;
    }
    .dh .sec_04 .inner_sec04 li {
    width: 44%;
    font-size: 11px;
    }
    .dh .sec_04 .inner_sec04 li:nth-of-type(3n) {
    margin-right: 10%;
    }
    .dh .sec_04 .inner_sec04 li{
    margin-right: 10%;
    }
    .dh .sec_04 .inner_sec04 li:nth-of-type(2n) {
    margin-right: 0;
    }
} 


/*------------------------------------------------
	04_LESSON
------------------------------------------------*/
.lesson .sec_01,
.lesson .sec_02 .inner_sec_02,
.lesson .sec_03 {
	max-width: 800px;
	margin: 0 auto;
}
.lesson .sec_01 h2,
.lesson .sec_01 .lesson_img,
.lesson .sec_01 h3 {
	text-align: center;
}

/*-----	01_lesson ----*/

.lesson .sec_01 .lesson_img {
	margin: 150px auto;
}
.lesson .sec_01 .lesson_img ul {
	display: flex;
	justify-content: center;
}
.lesson .sec_01 .lesson_img li {
	max-width: 128px;
	width: 48%;
}
.lesson .sec_01 .circle {
  display: inline-block;
}
.lesson .sec_01 .circle1 {
  animation: r1 6s linear infinite;
}
@keyframes r1 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.lesson .sec_01 .lesson_img li:last-of-type {
	max-width: 200px;
	margin-left: 46px;
}
.lesson .sec_01 .line_red{
	margin: 50px auto;
}
.lesson .sec_01 h3 {
	font-size: 30px;
	line-height: 2.4;
	letter-spacing: 0.05em;
	text-align: center;/*center*/
}
.lesson.interview .sec_01 h3 {
    text-align: left;
}
/*.lesson .sec_01 .txt_box {
	font-size: 16px;
	line-height: 2.25;
	padding: 0 84px;
    padding-left: 0;
    padding-right: 0;
	margin-bottom: 90px; 
}*/
.lesson .sec_01 .txt_box p:last-of-type {
	margin-bottom: 100px;
}
.lesson .sec_01 .txt_box p {
	margin-bottom: 40px; /*60px*/
}

/*ボタン*/
.lesson .sec_01 .link_col2 ul {
	display: flex;
	justify-content: center;
	width: 100%;
}
.lesson .sec_01 .link_col2 li:first-of-type {
	margin-right: 20px;
}
.lesson .sec_01 .link_col2 li {
	max-width: 200px;
	width: 48%;
}
.lesson .sec_01 .link_col2 li a {
	position: relative;
	box-sizing: border-box;
	display: block;
	line-height: 2.25;
	text-align: center;
	color: #fff;
	background: #ff0000;
	border-radius: 10px;
	padding: 12px 0 18px;/*28px*/
}
.lesson .sec_01 .link_col2 a::before {
	content: "";
	position: absolute;
	left: 58%;
	bottom: 8px;
	margin-left: -15px;
	border: 5px solid transparent;
	border-top: 6px solid #fff;
}

/*-----	02_step ----*/
.lesson .sec_02 {
    background: url(../img/common/ptn01.png);
    padding: 100px 6%;
    margin-top: 160px;
    box-sizing: content-box;
}
.lesson .inner_sec_02 {
	background-color: #fff;
	border-radius: 10px;
	padding: 68px 9.5% 100px 9.5%;
}
.lesson .inner_sec_02 h2 {
	margin-bottom: 154px
}
/* point x5 */
.lesson .inner_sec_02 ul.list_box01 {
	text-align: center;
}
.lesson .inner_sec_02 ul.list_box01 li {
	position: relative;
	margin-bottom: 176px;
}
.lesson .inner_sec_02 ul.list_box01 li::after {
	position: absolute;
	content: "";
	width: 2px;
	height: 28px;
	background-color: #ff0000;
}
.lesson .inner_sec_02 ul.list_box01 li:last-of-type {
	margin-bottom: 0;
}
.lesson .inner_sec_02 ul.list_box01 li:last-of-type::after {
	content: none;
}
.lesson .inner_sec_02 ul.list_box01 li .ttl {
	font-size: 24px;
	line-height: 2.0;
	margin: 50px auto;
}
.lesson .inner_sec_02 ul.list_box01 li .txt,
.lesson .inner_sec_02 ul.list_box01 li .txt span{
	line-height: 2.25;
	margin-bottom: 74px;
}
/* 注意事項 */
.lesson .inner_sec_02 ul.list_box02 {
	font-size: 14px;
	line-height: 1.875;
    text-align: center;
	margin-top: 100px;
}

/* ----アニメーション----*/
/* point x5 */
.lesson .inner_sec_02 ul.list_box01 .icon {
    transition: .5s ;
    transform: rotateZ( 0deg ) ;    
}
.lesson .inner_sec_02 ul.list_box01 .icon:hover {
    transform: rotateY( 360deg ) ;
}

/*-----	03_interview ----*/
.lesson .sec_03  h2 { 
	margin: 100px auto 80px;
}
.lesson .sec_03 li {
	margin-bottom: 50px;
}
.lesson .sec_03 .txt_q {
	display: inline-block;
	border-bottom: 2px solid #f00;
    font-size: 24px;
    line-height: 1.75;
    color: #f00;
	margin-bottom: 30px
}
.lesson .sec_03 .txt_a {
	line-height: 1.875;
}
.lesson .sec_03_h3 .txt_box span {
	display: block;
	margin-bottom: 30px;/*45px*/
}
/*記事のグラデーション*/
.lesson .sec_03_h3 h3 {
	margin-bottom: 50px;
}
.lesson .sec_03_h3{
	position: relative;
	margin-bottom: 200px;
}
.lesson .sec_03_h3 .txt_hidden {
	height: 500px;
	overflow: hidden;
}
/*記事の開閉*/
.lesson .sec_03_h3 .txt_more {/*背景グラデ*/
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 30px;
	line-height: 50px;
	padding-top: 120px;
	text-align: center;
	background: -webkit-linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255,1) 80%);
	background: -o-linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255,1) 80%);
	background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255,1) 80%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
	cursor: pointer;
	transition: bottom 0.2s;
}
/*開閉ボタン*/
.lesson .sec_03_h3 .txt_more span {
	position: relative;
	display: block;
	line-height: 1.0;
	max-width: 244px;
    color: #050099;
	border: 2px solid #05004b;
	border-radius: 5px;
	padding: 26px 45px 26px 24px;
	margin: 0 auto;
}
.lesson .sec_03_h3 .txt_more span::after {
	position: absolute;
	content: "";
	border: 8px solid transparent;
	border-top: 9px solid #05004b;
	top: 33px;
	right:45px;
}
.lesson .sec_03_h3 .txt_more .btn_close::after {
	border: 8px solid transparent;
	border-bottom: 9px solid #05004b;
	top: 24px;
	right:70px;
}
.lesson .sec_03_h3 .txt_hidden.open+.txt_more {
	background : none;
}
.lesson .sec_03 li{
	overflow: hidden;
    width: 48%;
}
.lesson .sec_03 li:nth-child(odd) {
    margin-right: 4%;
}
.lesson .sec_03 li img {
	display: block;
	transition-duration: 0.3s;
}
.lesson .sec_03 li img:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
}

@media screen and (max-width:800px) {
    .lesson .sec_03 li{
        width:100%;
    }
}

@media screen and (max-width:750px) {
	.lesson .sec_01 .lesson_img {
    margin: 140px auto 150px;
	}
	.lesson .sec_01 h3 {
	font-size: 36px;
	line-height: 2.0;
	}
	.lesson .sec_01 .line_red {
	margin: 50px auto 60px;
	}
	.lesson .sec_01 .txt_box {
	font-size: 28px;
	line-height: 1.71;
	padding: 0 104px;
	letter-spacing: 0.025em;
	}
	.lesson .sec_01 .txt_box p {
	margin-bottom: 70px;
	}
	.lesson .sec_01 .txt_box p:last-of-type {
	margin-bottom: 100px;
	}
	/*　ボタンｘ2　*/
	.lesson .sec_01 .link_col2 ul {
	justify-content: space-around;
	}
	.lesson .sec_01 .link_col2 li {
	max-width: 250px;
	font-size: 24px;
	}
	.lesson .sec_01 .link_col2 a::before {
	left: calc(50% + 12px);
	}
	/*	02_step */
	.lesson .sec_02 {
	margin-top: 100px;
	padding: 80px 7% 50px;
	}
	.lesson .inner_sec_02 h2 {
	margin-bottom: 100px;
	}
	.lesson .inner_sec_02 ul.list_box01 li {
    margin-bottom: 224px;
	}
	.lesson .inner_sec_02 ul.list_box01 li .ttl {
    font-size: 36px;
    line-height: 1.33;
    margin: 50px auto;
	}
	.lesson .inner_sec_02 ul.list_box01 li .txt,
    .lesson .inner_sec_02 ul.list_box01 li .txt span{
	font-size: 28px;
    line-height: 1.714;
	text-align: left;
    margin-bottom: 98px;
	}
	/*注意事項*/
	.lesson .inner_sec_02 ul.list_box02 {
    font-size: 22px;
    line-height: 1.6;
    margin-top: 196px;
	}
	.lesson .inner_sec_02 ul.list_box02 li {
    margin-bottom: 40px;
	}
	.lesson .inner_sec_02 ul.list_box02 li:last-of-type {
    margin-bottom: 0;
	}
	/*	03_interview	*/
	.lesson .sec_02 h2 .sp,
	.lesson .sec_03 h2 .sp {
	display: inline!important;
	}
	.lesson .sec_03 h2 {
	padding-left: 7%;
	margin: 90px 0;
	}
	.lesson .sec_03 .txt_q,
	.lesson .sec_03 .txt_a {
	font-size: 30px;
	line-height: 1.6;	
	}
	.lesson .sec_03 .txt_q {
	padding-left: 80px;
	margin-bottom: 48px;
	}
	.lesson .sec_03 .txt_a {
	padding: 0 80px;
    margin-bottom: 100px;
	}
	.lesson .sec_03_h3 h3 {
		margin-bottom: 50px;
		margin-right: 50px;
	}
	.lesson .sec_03_h3 .txt_hidden {
		height: 1200px;
	}
	.lesson .sec_03_h3 .txt_more span {
	font-size: 16px;
	line-height: 1.6;
	}
	.lesson .sec_03_h3 .txt_more span::after {
	top: 37px;
	border: 10px solid transparent;
	border-top: 9px solid #05004b;
	}
	.lesson .sec_03_h3 .txt_more .btn_close::after {
	top: 27px;
	border: 10px solid transparent;
	border-bottom: 9px solid #05004b;
	}
}

@media screen and (max-width:600px) {
	.lesson .sec_01 h2 img {
		max-width: 184px;
	}
	.lesson .sec_01 .lesson_img li {
    max-width: 63px;
	}
	.lesson .sec_01 .lesson_img li:last-of-type {
    max-width: 100px;
    margin-left: 23px;
	}
	.lesson .sec_01 .lesson_img li {
    max-width: 63px;
	}
	.lesson .sec_01 .lesson_img {
    margin: 70px auto 75px;
	}
	.lesson .sec_01 h3 {
	font-size: 18px;
	}
	.lesson .sec_01 .line_red {
	margin: 25px auto 30px;
	}
	.lesson .sec_01 h3 {
	letter-spacing: -0.05em;
	padding: 0 25px;
	}
	.lesson .sec_01 .txt_box {
	font-size: 14px;
	padding: 0 52px;
    padding-left: 0;
    padding-right: 0;
	}
	.lesson .sec_01 .txt_box p {
	margin-bottom: 35px;
	}
	.lesson .sec_01 .txt_box p:last-of-type {
	margin-bottom: 50px;
	}
	/*　ボタンｘ2　*/
	.lesson .sec_01 .link_col2 li {
	max-width: 125px;
	font-size: 14px;
	}
	.lesson .sec_01 .link_col2 a::before {
	left: calc(50% + 12px);
	}
	/*	02_step	*/
	.lesson .sec_02 {
	margin-top: 50px;
	padding: 40px 7% 25px;
	}
	.lesson .inner_sec_02 {
    padding: 34px 9.5% 50px 9.5%;
	}
	.lesson .inner_sec_02 h2 {
	max-width: 110px;
	margin-bottom: 50px;
	}
	.lesson .inner_sec_02 ul.list_box01 li {
    margin-bottom: 112px;
	}
	.lesson .inner_sec_02 ul.list_box01 li .icon {
	max-width: 44px;
	margin: 0 auto;
	}
	.lesson .inner_sec_02 ul.list_box01 li .ttl {
    font-size: 18px;
    margin: 25px auto;
	}
	.lesson .inner_sec_02 ul.list_box01 li .txt,
    .lesson .inner_sec_02 ul.list_box01 li .txt span{
	font-size: 14px;
    margin-bottom: 48px;
	}
	/*注意事項*/
	.lesson .inner_sec_02 ul.list_box02 {
    font-size: 13px;
    margin-top: 83px;
	}
	.lesson .inner_sec_02 ul.list_box02 li {
    margin-bottom: 20px;
	}
	.lesson .inner_sec_02 ul.list_box02 li:first-of-type {
    margin-bottom: 17px;
	}
	/*	03_interview	*/
	.lesson .sec_03 h2 {
	max-width: 157px;
	margin: 45px 0 30px;
	}
	.lesson .sec_03 .txt_q,
	.lesson .sec_03 .txt_a {
	font-size: 15px;
	}
	.lesson .sec_03_h3 h3 {
		margin-bottom: 25px;
		margin-right: 25px;
	}
	.lesson .sec_03 .txt_q {
	padding-left: 40px;
	margin-bottom: 24px;
	}
	.lesson .sec_03 .txt_a {
	padding: 0 40px;
    margin-bottom: 50px;
	}
	.lesson .sec_03_h3 {
		margin-bottom: 100px;
	}
	.lesson .sec_03_h3 .txt_hidden {
		height: 500px;
	}
	.lesson .sec_03_h3 .txt_more {
		height: 0;
		padding-top: 200px;
	}
	.lesson .sec_03_h3 .txt_more span {
	max-width: 122px;
	font-size: 12px;
	line-height: 1.6;
	padding: 14px 22px 14px 12px;
	}
	.lesson .sec_03_h3 .txt_more span::after {
    right: 16px;
    border: 5px solid transparent;
    border-top: 5px solid #05004b;
	top: 22px;
	}
	.lesson .sec_03_h3 .txt_more .btn_close::after {
	top: 17px;
	right: 24px;
	border: 6px solid transparent;
	border-bottom: 5px solid #05004b;
	}
}
@media screen and (max-width:520px) {
    .lesson .sec_03 li:nth-child(n + 3) {
        margin-top:0px;
    }
    .lesson .sec_01 .txt_box{
        padding:0 52px;
    }
    .lesson.interview .sec_01 .txt_box{
        padding:0;
    }
    .lesson #interview.sec_03{
        padding:0 6%;
    }
    .lesson .sec_03 h2{
        padding-left: 0;
    }
}

/*------------------------------------------------
	04_02 INTERVIEW
------------------------------------------------*/
.interview .sec_01 {
    max-width: 800px;
    margin: 0 auto 100px;
}
.interview .sec_01 h2{
    text-align: center;
    margin-bottom: 60px;
}
.interview .sec_01 .inner {
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 100px 128px;
}
.interview .sec_01 .main_img {
    text-align: center;
    margin: 0 auto 30px;
}
.interview .sec_01 .main_img.sp {
    display: none;
}
.interview .sec_01 .name_box {
    display: inline-block;
    text-align: center;
    font-size: 14px;
    color: #fff;
    background-color: #ff0000;
    border-radius: 16px;
    padding: 2px 12px;
    margin-bottom: 18px;
}
.interview .sec_01 h3 {
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 30px;
}
.interview .sec_01 .txt_box.gaiyou {
    line-height: 1.7;
    background-color: #fbf2ef;
    padding: 20px;
    margin-bottom: 40px;
}
.interview .sec_01 .txt_box.gaiyou p {
    margin-bottom: 30px;
}
.interview .sec_01 .txt_box.gaiyou p:last-of-type {
    margin-bottom: 0;
}
.interview [class*="sec_01_"] {
    display: block;
    margin-bottom: 40px;
}
.interview [class*="sec_01_"]:last-of-type {
    margin-bottom: 50px;
}
.interview [class*="sec_01_"] h4 {
    letter-spacing: -0.03em;
    border-left: 5px solid #ff0000;
    padding-left: 10px;
    margin-bottom: 20px;
}
.interview [class*="sec_01_"] h4 .l_spacing {
    letter-spacing: -0.1em;
}
.interview [class*="sec_01_"] h4 span {
    font-size: 20px;
    line-height: 1.5;    
}
.interview [class*="sec_01_"] p {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 34px;
}
.interview [class*="sec_01_"] .img_box {
    text-align: center;
    margin-bottom: 20px;
}
/*ボタン*/
.interview .sec_01 .btn_area {
    display: flex;
    justify-content: space-between;
}
.interview .sec_01 .btn_area li.first {
    visibility: hidden;
}
.interview .sec_01 .btn_area li a{
    display: block;
    position: relative;
    width: 60px;
    height: 46px;
    background-color: #ff0000;
    border-radius: 5px;
}
.interview .sec_01 .btn_area li .icon_area {
    position: absolute;
    top: calc(50% - 8px);
    right: calc(50% - 4px);
    width: 0;			
    height: 0;		
    content: "";
    border: 8px solid transparent;
    border-right: 10px solid #fff;
}
.interview .sec_01 .btn_area li:last-of-type .icon_area {
    left: calc(50% - 4px);
    border-right: none;
    border-left: 10px solid #fff;
}
@media screen and (max-width:800px) {
    .interview.wrapper {
        margin-top: 224px;
    }
    .interview .sec_01 {
        max-width: inherit;
        margin: 0 6.8% 100px;
    }
    .interview .sec_01 .inner {
        padding: 30px 24px;
    }
    .interview .sec_01 .main_img {
        display: none;
        margin-bottom: 50px;
    }
    .interview .sec_01 .main_img.sp {
        display: block;
    }
    .interview .sec_01 .name_box {
        margin-bottom: 40px;
    }
    .interview .sec_01 h3 {
        font-size: 36px;
        line-height: 1.4;
        letter-spacing: -0.14em;
        margin-bottom: 50px;
    }
    .interview .sec_01 .txt_box.gaiyou {
        padding: 24px 38px 54px;
        margin-bottom: 100px;
    }
    .interview .sec_01 .txt_box.gaiyou p {
        font-size: 30px;
        line-height: 1.5;
    }
    .interview .sec_01 .txt_box.gaiyou p {
        margin-bottom: 66px;
    }
    .interview .sec_01 .txt_box.gaiyou p:last-of-type {
        margin-bottom: 0;
    }
    .interview [class*="sec_01_"],
    .interview [class*="sec_01_"]:last-of-type {
        margin-bottom: 100px;
    }
    .interview [class*="sec_01_"] h4 {
        margin-bottom: 50px;
    }
    .interview [class*="sec_01_"] h4 span {
        font-size: 32px;
        line-height: 1.5;
    }
    .interview [class*="sec_01_"] p {
        font-size: 30px;
        line-height: 1.5;
        margin-bottom: 66px;
    }
    .interview [class*="sec_01_"] .img_box {
        margin-bottom: 50px;
    }
}
@media screen and (max-width:480px) {/*変更前数値：400px*/
    .interview.wrapper {
        margin-top: 114px;
    }
    .interview .sec_01 {
        max-width: inherit;
        margin: 0 6.8% 70px;
    }
    .interview .sec_01 h2 {
         margin-bottom: 30px;
    }
    .interview .sec_01 h2 img {
        max-width: 190px;
    }
    .lesson.interview .sec_01 h2 img{
        max-width:250px;
    }
    .interview .sec_01 .inner {
        padding: 15px 12px 20px;
    }
    .interview .sec_01 .main_img {
        margin-bottom: 25px;
    }
    .interview .sec_01 .name_box {
        margin-bottom: 20px;
    }
    .interview .sec_01 h3 {
        font-size: 18px;
        line-height: 1.4;
        letter-spacing: inherit;
        margin-bottom: 25px;
        padding-left: 0;/*2020.05.18追記*/
        padding-right: 0;/*2020.05.18追記*/
        text-align: left;/*2020.05.18追記*/
    }
    .interview .sec_01 .txt_box.gaiyou {
        padding: 12px 19px 27px;
        margin-bottom: 50px;
    }
    .interview .sec_01 .txt_box.gaiyou p {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 33px;
    }
    .interview .sec_01 .txt_box.gaiyou p:last-of-type {
        margin-bottom: 0;
    }
    .interview [class*="sec_01_"],
    .interview [class*="sec_01_"]:last-of-type {
        margin-bottom: 50px;
    }
    .interview [class*="sec_01_"] h4 {
        line-height: 1.2;
        margin-bottom: 25px;
    }
    .interview [class*="sec_01_"] h4 span{
        font-size: 16px;
    }
    .interview [class*="sec_01_"] p {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 33px;
    }
    .interview [class*="sec_01_"] .img_box {
        margin-bottom: 25px;
    }
    .interview .sec_01 .btn_area li a {
        width: 50px;
        height: 36px;
    }
    span.marker{
        font-size:14px;
    }
}



/*------------------------------------------------
	05_REPORT
------------------------------------------------*/
.report .sec_01 {
    max-width: 800px;
    margin: 0 auto 100px;
}
.report .sec_01 .inner {
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 60px 70px 100px;
}
.report .sec_01 .date {
    font-size: 14px;
    color: #ff0000;
}
.report .sec_01 h2 {
    font-size: 20px;
    line-height: 1.5;
    color: #05004b;
    margin-bottom: 50px;
}
.report .sec_01 h2:after {
    display: block;
    content: "";
    border-bottom: 2px solid #05004b;
    margin-top: 20px;
}
.report .sec_01 .img_box:first-of-type {
    margin: 0 auto 50px;
}
.report .sec_01 .img_box {
    margin: 50px auto;
}
.report .sec_01 .txt_box {
    line-height: 1.875;
}
.report .sec_01 .txt_box .font_italic {
    font-style: italic;
}
.report .sec_01 .txt_box p,
.report .sec_01 .txt_box ul {
    margin-bottom: 30px;
}
.report .sec_01 .txt_box a {
    text-decoration: underline;
    color: #00F;
}
.report .sec_01 .btn_area {
    display: flex;
    justify-content: space-between;
    margin-top: 100px;
}
.report .sec_01 .btn_area li.first {
    visibility: hidden;
}
.report .sec_01 .btn_area li a{
    display: block;
    position: relative;
    width: 60px;
    height: 46px;
    background-color: #05004b;
    border-radius: 5px;
}
.report .sec_01 .btn_area li .icon_area {
    position: absolute;
    top: calc(50% - 8px);
    right: calc(50% - 4px);
    width: 0;			
    height: 0;		
    content: "";
    border: 8px solid transparent;
    border-right: 10px solid #fff;
}
.report .sec_01 .btn_area li:last-of-type .icon_area {
    left: calc(50% - 4px);
    border-right: none;
    border-left: 10px solid #fff;
}
.report .sec_01 .txt_comment li:not(:first-of-type){/*02.html*/
    font-size: 15px;
    text-indent: -1em;
    padding-left: 2em;
}
.report .sec_01 .list_indent li:nth-child(n+2):nth-last-child(n+2){/*03.html*/
    font-size: 15px;
    text-indent: 1em;
}
.report17 .sec_01 .img_box{
    display: flex;
}
.report17 .img_box img{
    width:50%;
}
.report17 .img_box img:first-child{
    margin-right:10px;
}
@media screen and (max-width:750px) {
    .report.wrapper {
        margin-top: 224px;
    }
    .report .sec_01 {
        max-width: inherit;
        margin: 0 6% 50px;
    }
    .report .sec_01 .inner {
        padding: 30px 20px;
    }
    .report .sec_01 .date {
        font-size: 12px;
    }
    .report .sec_01 h2 {
        font-size: 17px;
        margin-bottom: 30px;
    }
    .report .sec_01 h2::after {
        margin-top: 10px;
    }
    .report .sec_01 .img_box {
        margin: 36px auto;
    }
    .report .sec_01 .txt_box p,
    .report .sec_01 .txt_box li {
        font-size: 15px;
        line-height: 1.7;
    }
    .report .sec_01 .btn_area {
        margin-top: 50px;
    }
    .report .sec_01 .btn_area li a {
        width: 50px;
        height: 36px;
    }
    .report .sec_01 .txt_comment li:not(:first-of-type){/*02.html*/
        font-size: 0.875rem;/*14px*/
    }
    .report .sec_01 .txt_comment li {/*02.html*/
        margin-bottom: 10px;
    }
    .report .sec_01 .list_indent li:nth-child(n+2):nth-last-child(n+2){/*03.html*/
        font-size: 0.875rem;/*14px*/
        text-indent: 0.5em;
    }
    .report17 .sec_01 .img_box{
        flex-flow: column;
    }
    .report17 .img_box img{
        width:100%;
    }
    .report17 .img_box img:last-child{
        margin-top:20px;
    }
}

/*------------------------------------------------
	06_ privacy / site_poricy / sitemap
------------------------------------------------*/
.poricy p,
.poricy sapn,
.poricy h2,
.poricy h3,
.poricy li,
.poricy a {
	font-family: "Times New Roman", Times, "serif";
}
.poricy .sec_01 {
	max-width: 800px;
	width: 80%;
	font-size: 14px;
	margin: 0 auto;
}
.poricy .sec_01 h2 {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}
.poricy .sec_01 .line_red {
	margin: 40px auto 80px;
}
.poricy .sec_01 .sec_inner_h3 {
	margin-bottom: 40px;
}
.poricy .sec_01 h3 {
    font-weight: bold;
}
@media screen and (max-width:700px) {
	.poricy .sec_01 h2 {
    font-size: 18px;
	margin: 0 auto;
	}
	.poricy.sitepolicy .sec_01 h2 {
		max-width: 142px;
	}
	.poricy.privacy .sec_01 h2 {
		max-width: 142px;
	}
.poricy.sitemap .sec_01 h2 {
		max-width: 118px;
	}
}
@media screen and (max-width:500px) {
	.poricy .sec_01 {
    font-size: 13px;
	}
	.poricy .sec_01 .line_red {
    margin: 10px auto 30px;
	}
}

/*サイトマップ*/
.poricy.sitemap .sec_01 {
	max-width: 300px;
}
.poricy.sitemap .sec_01 li {
	border-bottom: 1px solid #333;
	margin-bottom: 40px;	
}

/*------------------------------------------------
	07_よくある質問
------------------------------------------------*/

/*FAQ　本番化したら削除するCSS*/
.test_faq .sec_01 {
	max-width: 800px;
    padding: 0px 2%;
	margin: 0 auto;
}
.test_faq .sec_01 h2 {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}
.test_faq .sec_01 .line_red {
    margin: 40px auto 80px;
}
.coming_soon p {
    text-align: center;
    margin: 100px auto 200px;
}
@media screen and (max-width:500px) {
    .test_faq .sec_01 h2 {
        margin: 0 auto 25px;
    }
    .test_faq .sec_01 .line_red {
        margin: 20px auto 80px;
    }
    .test_faq .coming_soon img {
        max-width: 200px;
    }
}
/*ここまで削除　FAQ　本番化したら削除するCSS*/


.faq .sec_01 {
	max-width: 800px;
    padding: 0px 2%;
	margin: 0 auto;
}
.faq .sec_01 h2 {
    text-align: center;
    margin: 130px auto;
}
.faq h3 {
    font-size: 24px;
    border-bottom: 1px solid #05004b;
    color: #05004b;
    padding-bottom: 4px;
    margin-bottom: 30px;
}
.faq dl {
    margin-bottom: 50px;
}
/*ラベル*/
.faq .ttl_txt {
	position: relative;
    font-size: 16px;
    color: #05004b;
    border: 1px solid #bfbfbf;
    padding: 16px 100px 16px 50px;
    transition: 1s;
    cursor: pointer;
}
.faq .ttl_txt:nth-child(n+2) {
    border-top: none;
}
.faq .ttl_txt::before,
.faq .ttl_txt::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 50px;
	width: 20px;
	height: 1px;
	background: #05004b;
	transition: all .3s ease-in-out;
}
.faq .ttl_txt::before {
	transform: rotate(90deg);
}
/*オープン時*/
.faq .ttl_txt.open {
    color: #fff;
    background: #05004b;
    border: none;
}
.faq .ttl_txt.open::before {
	transform: rotate(180deg);
    background: #fff;
}
.faq .ttl_txt.open::after {
	opacity: 0;
}
/*ラベル内*/
.faq dd {
	display: none;
    border: 1px solid #bfbfbf;
    padding: 16px 50px;
}
.faq dd a {
    color: #00f;
    text-decoration: underline;
}
@media screen and (max-width:750px) {
    .faq .sec_01 {
        max-width: 750px;
        padding: 0px 50px;
    }
    .faq .sec_01 h2 {
        text-align: center;
        margin: 300px auto 80px;
    }
    .faq h3 {
        font-size: 36px;
        margin-bottom: 50px;
    }
    .faq dl {
        margin-bottom: 100px;
    }
    .faq .ttl_txt {
        font-size: 30px;
        line-height: 1.8;
        padding: 20px 100px 20px 50px;
    }
    .faq .ttl_txt::before,
    .faq .ttl_txt::after {
        width: 30px;
    }
    .faq dd {
        font-size: 30px;
        line-height: 1.8;
    }
}
@media screen and (max-width:550px) {
    .faq .sec_01 {
        max-width: 375px;
        padding: 0px 25px;
    }
    .faq .sec_01 h2 {
        margin: 150px auto 40px;
    }
    .faq .sec_01 h2 img {
        max-width: 75px;
    }
    .faq h3 {
        font-size: 18px;
        margin-bottom: 25px;
    }
    .faq dl {
        margin-bottom: 50px;
    }
    .faq .ttl_txt {
        font-size: 15px;
        padding: 15px 50px 15px 25px;
    }
    .faq .ttl_txt::before,
    .faq .ttl_txt::after {
        width: 15px;
        right: 25px;
    }
    .faq dd {
        font-size: 15px;
        padding: 8px 25px;
    }
}

/*------------------------------------------------
	08_login<メンバーページ>
------------------------------------------------*/

/*ログイン入力*/
.login .sec_01 {
	max-width: 800px;
	text-align: center;
	margin: 0 auto;
}
.login .sec_01 .line_red {
    margin: 60px auto;
}
.login .sec_01 h2 {
	font-size: 20px;
}
.login .sec_01 p.alert {
	font-size: 14px;
	color: #ff0000;
	margin-bottom: 40px;
}
.login .sec_01 form p:first-of-type {
	margin-bottom: 20px;
}
.login .sec_01 form input {
	line-height: 0;
	border: none;
	width: 200px;
	height: 30px;
	font-size: 18px;
	background-color: #f1f1f1;
	box-sizing: border-box;
	border-radius: 3px;
	padding: 2px 10px;
}
.login .sec_01 form input.btn {
	height: 50px;
	font-size: 16px;
	color: #fff;
	border-radius: 10px;
	background-color: #ff0000;
	transition: background-color 0.4s;
	margin-top: 70px;
}
.login .sec_01 form input.btn:hover {
	background-color: rgba(255,0,0,0.46);
}
@media screen and (max-width:375px) {
	.login .sec_01 h2 {
		font-size: 18px;
	}
	.login .sec_01 .line_red {
		margin: 14px auto 50px;
	}
	.login .sec_01 form p {
		font-size: 14px;
	}
	.login .sec_01 form input.btn {
		margin-bottom: 100px;
	}
}

/*資料ページ*/
.member .tool_box {
	padding-right: 20px;
	padding-left: 20px;
}
.member {
	text-align: center;
}
.member h2 {
	font-size: 30px;
}
.member .line_red {
    margin: 30px auto;
}
.member .sec_01 .txt_box {
    margin-bottom: 250px;
}
.member .sec_01 .txt_info {
	margin-bottom: 100px;
}
.member .sec_01 [class^="tool_0"] {
	margin-bottom: 80px;
}
.member .sec_01 [class^="tool_0"]:last-of-type {
	margin-bottom: 0;
}
.member .sec_01 .ttl {
	margin-bottom: 10px;
}
.member .tool_box .line_red {/*各ツールの下線*/
    margin: -5px auto 30px;
}
.member .sec_01 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.member .sec_01 li.hidden_box{
    visibility: hidden;
}
.member .sec_01 li {
    max-width: 200px;
	width: 20%;
	min-height: 102px;
	background: #ff0000;
    border-radius: 10px;
	margin-bottom: 20px;
}
.member .sec_01 li:not(:last-of-type) {
    margin-right: 2px;/*10px*/
}
.member .sec_01 li a {
	min-height: 102px;
    position: relative;
    box-sizing: border-box;
    display: block;
    line-height: 2.25;
    text-align: center;
    color: #fff;
    padding: 12px 0 18px;
}
.member .tool_01,.member .tool_02,.member .tool_03,.member .tool_04{
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width:910px) {
	.member .sec_01 li .sp_font {
		font-size: 0.9rem;
	}
}
@media screen and (max-width:890px) {
    .member .sec_01 ul{
        justify-content: center;
    }
	.member .sec_01 li {
		width:60%;/*元数値50%*/
        margin-right:24px;
	}
    .member .sec_01 li:not(:last-of-type){
        margin-right:24px;
    }
    .member .sec_01 .txt_box {
        margin-bottom: 100px;
    }
}
@media screen and (max-width:650px) {
	.member .sec_01 li:nth-child(2) {
		margin-right: 0;
	}
}
@media screen and (max-width:445px) {
    .member .sec_01 ul{
        flex-flow: column;
    }
	.member .sec_01 li:nth-child(2) {
		margin-right: auto;/*元数値10px*/
	}
    .member .sec_01 li:not(:last-of-type){
        margin-right:auto;
    }
    .member .sec_01 li {
        min-height: inherit;
        margin-left:auto;
        margin-right:auto;
    }
    .member .sec_01 li.hiden_box {
        display: none;
    }
    .member .sec_01 li a {
        line-height: 1.8;
        min-height: 80px;
    }
}
@media screen and (max-width:375px) {
	.member h2 {
		font-size: 20px;
	}
	.member .line_red {
		margin: 30px auto;
	}
	.member .txt_info .sp {
		display: block;
	}
	.member .sec_01 .txt_box {
		margin-bottom: 125px;
	}	
}
