@charset "UTF-8";
/* --------------------------------------------------------------
   共通
-------------------------------------------------------------- */
body {
  min-width: 1000px;
  color: #040000;
  font-size: .18rem;
  font-family: "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  background-color: #fff;
}

@media screen and (min-width: 768px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 767px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/* 会員 */
#menber_box{
    margin: 2em 0 6em;
    line-height: 1.4em;
    background: #191970;
    padding: 2em 1em;
}
#menber_box p#mb{margin-bottom: 0.4em;}
#menber_box p#small_tex{
    font-size: 0.8em;
    margin-bottom: 1em;
}
#menber_box a{color: #fff;font-weight: 600;font-size: 0.9em;padding: 0.8em 1em;}
div#white_box{background: #fff;padding: 1.2em 1em;}
#menber_box h3{text-align: center;font-size: 1.4em;margin-bottom: 0.6em;color: #fff;}
@media screen and (max-width: 767px){
    #menber_box h3{line-height: 1.4em;font-size: 1.2em;}
    #menber_box p#mb{font-size: 0.9em;}
    #menber_box.btn--orange,
    #menber_box a.btn--orange{line-height: 1.2em;}
    #menber_box p#small_tex{font-size: 0.7em;}
}
#menber_box.btn--orange,
#menber_box a.btn--orange {
  border-radius:5px;
  background-color: #eb6100;
    display: inline-block;
}
#menber_box btn--orange:hover,
#menber_box a.btn--orange:hover {
  border-radius:5px;
  background: #f56500;
  display: inline-block;  
}

.gnav__menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: .3rem;
}
.gnav__menu__item a {
  color: #333;
  text-decoration: none;
}
.want_last {
	background: #dadada;
  /*
  background-image: url(../img/want_bg_pc.jpg);*/
	padding: 5% 0;
}
#comment .target {
  padding-top: 0;
  padding-bottom: 0;
  line-height: 0;
  pointer-events: none;
  font-size: 0px;
}
#comment .target.is-hidden {
  background-color: #fff;
  line-height: 1.9;
  transition:
    padding-top 300ms, line-height 300ms;
}
#comment .text {
  color: white;
  transition: opacity 200ms;
}
.mod_flex_between2 {
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
button {
  background-color: #fff;
  border: 1px solid #b1852b;
  border-radius: 0px 0px 0px 0px;
  box-shadow: 2px 2px 0px 0px #977225;
  cursor: pointer;
  outline: none;
  appearance: none;
  padding: 15px 34px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
  font-size: 18px;
  line-height: 1em;
  align-items: center;
  display: flex;
}
button img {
  margin-right: 15px;
}
#comment .target .text {
  opacity: 0;
}
#comment p {
  margin: 0;
  font-size: 16px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 600;
  font-style: normal;
}
h5 {
  font-size: 140%;
  margin-bottom: 20px;
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  text-align: center;
}
h6{
  font-family: a-otf-midashi-mi-ma31-pr6n, serif;
  font-weight: 700;
  font-style: normal;
	text-align: center;
	line-height: 0.6em;
	letter-spacing: -0.4px;
}
.small{
	font-size: 0.6em;
}
.seminar_bace{
	padding: 3em 0 0.01em;
}
.seminar_bace dt{
    font-family: a-otf-midashi-mi-ma31-pr6n, serif;
    font-weight: 600;
    font-style: normal;
    text-align: center;
    line-height: 1.8em;
    letter-spacing: -5px;
}

.seminar_bace dt span{
	color: #fff;
	background: #000;
	padding: 0.3em 0.8em 0.15em;
	margin:0 0.4em 0 0;
	font-size: 0.4em;
	vertical-align: 12%;
}
.seminar_bace dd{
	 font-family: a-otf-midashi-mi-ma31-pr6n, serif;
	line-height: 1.8em;
    letter-spacing: -1px;
	    margin-bottom: 0.7em;
}
.seminar_bace p {
  font-size: 16px;
}

.seminar_bace table {
  margin: 1.2em auto;
}
.seminar_bace .tbl-r02 th {
  background: #ad8617;
  border: solid 1px #ccc;
  color: #fff;
  padding: 0.75em 0.78em;
	display: table-cell;
    vertical-align: middle;
font-weight: 600;
    font-size: 1.2em;
}
.seminar_bace .tbl-r02 td {
	background: #fff;
　border: solid 1px #ccc;
  padding: 0.8em 1.8em;
}
.seminar_bace section#mini span#icon{
	color: #000;
	background:#BDA696;
	padding: 0.1em 0.8em 0.12em;
	margin:0.1em 0.6em 0 0;
	font-size: 1em;
	vertical-align: 12%;
}
.seminar_bace section#mini span#sm{
	font-size: 0.8em;
    line-height: 1.4em;
}
.seminar_bace section#mini a{
	text-decoration: underline;
	color: #000;
}
div.btn_box{
	display: block;
}
div.btn_box ul{
	list-style-type: none;
	padding-left: 0;
	text-align: center;
	margin-bottom: 15px;
}
div.btn_box ul li{
	display: inline;
}



/*@media screen and (max-width: 767px)
div.btn_box ul li:first-child{
	margin-right: 2%;
}
*/
div.btn_box ul::after{
	content: ' ';
display: block;
clear: both;
}
.btn_box ul::before{
	content: ' ';
display: block;
clear: both;
}
.btn_form{
  font-size: 1em;
  font-weight: 600;
  line-height: 1.5;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.06em;
  border-radius: 0.1rem;
	width: 100%;
}

.btn--green,
.btn--green a{
  color: #fff;
  background-color: #3782bc;
}

.btn--green:hover,
.btn--green:hover a{
  color: #fff;
  background: #76b2e2;
}
.ca_tex{
	text-align: center;
}
.onlineguide{
	text-align: center;
}
p#none_menver{
	line-height: 1.8em;
    letter-spacing: -1px;
	margin-bottom: 1em;
	margin:1.2em auto 0;
}
@media screen and (max-width: 640px) {
 .seminar_bace  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
 .seminar_bace .tbl-r02 th,
.seminar_bace .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 766px) {
  .site-header2 {
    background: #fff;
    padding: 16px 15px 10px;
    position: fixed;
    justify-content: space-between;
    width: 100%;
    z-index: 10000;
  }
  #btn_box {
    background: url("../img/bg_comment_sp.png") no-repeat;
    background-size: 100% auto;
    margin-bottom: 60px;
    padding-top: 1.2rem;
    height: 157px;
  }
  button {
    margin: 0 auto;
  }
  button img {
    width: 15px;
    font-size: 18px;
  }
  #comment .target.is-hidden {
    padding: 26px 22px;
    letter-spacing: -0.05em;
  }
  #comment {
    margin-bottom: 20px;
  }
  #comment .target.is-hidden {
    font-size: 18px;
    margin-bottom: 60px;
  }
	.btn_form{
padding: 0.8em;
	}
	.seminar_bace .tbl-r02 td p.mt{
	margin-top: 1%;
	}
}
@media screen and (max-width: 549px){
	.seminar_bace section#mini{
	font-size: 0.7em;
	padding: 1em;
	margin-bottom: 1em;
	line-height: 1.7em;
} 
	.seminar_bace dt{
		font-size: 1.3em;
	letter-spacing: -2px;
	margin-bottom: 3%;
		line-height: 1em;
	}
	.seminar_bace dd{
		font-size: 0.8em;
    line-height: 1.8em;
	}
	.message .item .intro .desc {
    padding: .075rem 0 0;
	font-size: 0.75em;
	}
	#follow_btn{
		margin-bottom: 2em;
	}
	.cmn_header .mv {
		padding: 1em 0 1.2em;}
	
	div.btn_box ul li{
    width: 100%;
    margin: 1em auto 0;
	}
	
	}
@media screen and (min-width: 767px) {
  .header-change {
    height: 1rem;
    background-image: url(../img/cmn/header_nav_bg_pc.jpg);
    background-size: cover;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    position: fixed;
    top: -1rem;
    transition: .5s;
    width: 100%;
  }
	h6{font-size: 0.7em;
	line-height: 1.4em;}
	.seminar_bace dt{font-size: 1.1em;}
	.seminar_bace dd{font-size: 0.5em;
	line-height: 1.6em;}
  button {
    margin: 85px 193px;
    float: right;
  }
	.btn_form{
padding: 1.2em;
	}
  .book_list {
    width: 100%; /* 任意の数値を */
    margin: 0 auto 30px;
  }
  .book_list ul {
    list-style-type: none;
    padding-left: 0;
    text-align: center;
  }
  .book_list li {
    display: inline;
  }
  .book_list li:not(:first-child) {
    margin-left: 10px;
  }

  #btn_box {
    background: url("../img/bg_comment.png") no-repeat right;
    margin-bottom: 15px;
  }
  #comment .target.is-hidden {
    padding: 58px 38px;
    margin-bottom: 30px;
  }
  /*   #comment {
    margin-bottom: .55rem;
  } */
  #btn_box {
    height: 157px;
  }
  #comment .target.is-hidden {
    font-size: 16px;
  }
  .header-change.show {
    top: 0;
    z-index: 1001;
  }
  .header-change .gnav__menu__item a {
    color: #fff;
    text-decoration: none;
  }
.seminar_bace .tbl-r02 td p.mt{
	margin-top: 1%;
	}
}
@media screen and (max-width: 766px) {
  .header-change {
    display: none;
  }
  #nav-drawer {
    position: relative;
  }
  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display: none;
  }
	h6{font-size: 0.8em;
	margin-bottom: 1em;}
  /*アイコンのスペース*/
  #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
  }
  /*ハンバーガーアイコンをCSSだけで表現*/
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px; /*線の太さ*/
    width: 25px; /*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
  }
  #nav-open span:before {
    bottom: -8px;
  }
  #nav-open span:after {
    bottom: -16px;
  }
  /*閉じる用の薄黒カバー*/
  #nav-close {
    display: none; /*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0; /*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
  }
  /*中身*/
  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999; /*最前面に*/
    width: 90%; /*右側に隙間を作る（閉じるカバーを表示）*/
    max-width: 330px; /*最大幅（調整してください）*/
    height: 100%;
    transition: .3s ease-in-out; /*滑らかに表示*/
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%); /*左に隠しておく*/
  }
  /*チェックが入ったらもろもろ表示*/
  #nav-input:checked ~ #nav-close {
    display: block; /*カバーを表示*/
    opacity: .5;
  }
  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); /*中身を表示（右へスライド）*/
    box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
    height: auto;
  }
  .book_list {
    width: 100%; /* 任意の数値を */
    margin: 0 auto 30px;
  }
  .book_list ul {
    list-style-type: none;
    padding-left: 0;
    text-align: center;
  }
  .book_list li {
    display: inline-block;
	  margin-bottom: 15px;
  }
	.book_list li img{
		max-width: 162px;
		max-height: 214px;
	}
	
}
@media screen and (min-width: 1301px) {
  ul.global li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: .6rem;
    padding: 0 .3rem;
  }
  ul.global li:not(:last-child) a {
    border-right: .0171rem solid #fff;
  }
  #nav-drawer {
    display: none;
  }
}
@media screen and (min-width: 767px) and (max-width: 1300px) {
  ul.global li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: .6rem;
  }
  #nav-drawer {
    display: none;
  }
  ul.top_menu li img {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    font-size: .15rem;
  }
}
.wrapper {
  overflow: hidden;
}
.container_w {
  width: 9.6rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container_w {
    width: 100%;
  }
}
.container {
  width: 930px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container {
    width: calc(100% - .15rem);
  }
}
.container_s {
  width: 8rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .container_s {
    width: calc(100% - .3rem);
  }
}
.img_switch {
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .pconly {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sponly {
    display: none;
  }
}

/* --------------------------------------------------------------
   Module
-------------------------------------------------------------- */
/* Flex ---------- */
.mod_flex_between {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.mod_flex_center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
/* Background ---------- */
.mod_bg01 {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
/* 線のアニメーション ---------- */
.mod_border_anim {
  transition-delay: 250ms;
  position: relative;
}
.mod_border_anim::before {
  content: "";
  width: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: .7s;
}
.mod_border_anim.load01::before {
  width: 100%;
}
/* mainHero 260630追加分
--------------------------------------------------------------*/
.mainHero {	
	width: 100%;
	background:url("../img/topback_pc.jpg")top center no-repeat;
	background-size:cover;
  aspect-ratio: 16 / 9;
	z-index: 1;
	margin:0;
	padding:0;
  position:relative;
  max-height: 630px;
}
ul.mainBtn a:hover{opacity: 0.7;}
h1{margin: 0;
  height: auto;}
@media screen and (min-width: 768px) {
  h1{padding: 0.3em 0.8em;}
  ul.mainBtn{
  text-align:
  center;
  padding:3em 0 1em;
}
}
@media screen and (max-width: 767px) {
  h1{padding: 0em 0.2em 0;}
  ul.mainBtn{
  text-align:
  center;
  padding:4em 0 1em;
    position: absolute;
    bottom: 0;
}
}
.mainHero ul.mainCopy {
  margin:3em auto 0.4em;
  max-width: 1080px;
  justify-content: center;
  align-items:flex-end;
  /*
  display:flex;
  gap:10px;
  width:900px;*/
}

ul.mainBtn  li{display: inline;}
/*.mainHero ul.mainCopy li:first-child {
  width:58%;
}*/
.mainHero ul.mainCopy li:last-child {
  width:66%;}

.mainHero ul.mainCopy li:first-child img {
  width:100%;
}
.mainHero ul.mainCopy li:last-child img {
  width:100%;
}

.mainHero ul.maniBtn {
  position:absolute;
  bottom:50px;
  right:0;
  left:0;
  margin:0 auto;
  justify-content: space-between;
  align-items: center;
  gap:10px;
  width:420px;
}

.mainHero ul.maniBtn li {
  width:48%;

}
.mainHero ul.maniBtn li img {
  width:100%;
}
.mainHero ul.maniBtn li a {
  transition:.5s;
}
.mainHero ul.maniBtn li a:hover {
  opacity:.5;
}

@media screen and (max-width: 767px) {
  .mainHero {
    margin-top: 50px;
    background:url("../img/topback_sp.jpg")top center no-repeat;
    background-size: cover;
    margin-top: 50px;
    aspect-ratio: 9 / 16;
  }  
  ul.mainBtn{
    position: absolute;
    bottom: 0;
    padding: 0;
  }
  ul.mainBtn li img{
    max-height: 70px;
  }
  .mainHero ul.mainCopy {
    width:90%;
    flex-direction: column; 
  }
  .mainHero ul.mainCopy li:first-child {
    width:100%;
  }
  .mainHero ul.mainCopy li:last-child {
    width:100%;
  }
  .mainHero ul.maniBtn {
    width:60%;
    flex-direction: column;
  }
  .mainHero ul.maniBtn li {
    width:100%;
  }
  .mainHero ul.maniBtn li:first-child {
    margin-bottom:20px;
  }
}

/* header
--------------------------------------------------------------*/
.cmn_header {
  text-align: right;
  /* MV ---------- */
  /* globalNav ---------- */
}
.cmn_header a {
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
.cmn_header a:hover {
  opacity: .7;
}
.cmn_header .mv {
  padding: 0 0 .25rem;
  text-align: center;
  background-image: url(../img/mv_pc.jpg);
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .cmn_header .mv {
    padding: 0.1rem 0 .12rem;
    background-image: url(../img/mv_sp02.jpg);
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .top_inner {
    width: 100%;
  }
}
.cmn_header .mv .top_inner .logo {
  padding: .19rem 0 0;
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .top_inner .logo {
    width: 1.08rem;
    padding: 0;
    margin: .12rem 0 0 .1125rem;
  }
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .top_inner .img {
    width: .665rem;
  }
}

@media screen and (min-width: 768px) {
.cmn_header .mv .main_txt {
    margin: .18rem auto .4rem;
  }
		div#follow_btn{
	text-align: center;
	padding: 1em 0 ;
	margin-bottom: 3em;
	background: #a7a7a7;
}
}
@media screen and (min-width: 550px) and (max-width: 767px) {
.cmn_header .mv .main_txt {
    width: 2.78rem;
    margin: .18rem auto .3rem;
  }
	#follow_btn{
		text-align: center;
		padding: 1em 0 2em;	
		padding: 2em 0 ;
	margin-bottom: 3em;
	background: #a7a7a7;
    }
	.seminar_bace dt{
		font-size: 1.4em;
		line-height: 1em;
		margin-bottom: 0.4em;
	}
	.seminar_bace dd{
		font-size: 0.6em;
	}
	.seminar_bace .tbl-r02 th{
		font-size: 0.6em;
	}
	.seminar_bace .tbl-r02 td{
		padding: 0.8em 0.4em;
	}
}
@media screen and (max-width: 549px) {
	.cmn_header .mv .main_txt {
		 width: 90%;
    /*　margin: .33rem auto .45rem;　ボタン1つの際に利用*/
	margin: 0.53rem auto .45rem;  /* ボタン2つ以上の際に利用*/
}
	#follow_btn{
		text-align: center;
		padding: 1em 0;	
	background: #a7a7a7;
}
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .catch {
    width: 3.05rem;
    margin: 0 auto .25rem;
  }
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .bottom_inner {
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .bottom_inner .img {
    width: 100%;
    margin: 0 auto .2rem;
  }
}
.cmn_header .mv .bottom_inner .txt .productname {
  margin: 4em 0 .4rem;
  position: relative;
  top: -.05rem;
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .bottom_inner .txt .productname {
    width: 1.77rem;
    margin: 0;
    top: 0;
    left: -.075rem;
  }
}
@media screen and (max-width: 767px) {
  .cmn_header .mv .bottom_inner .txt .buy_btn {
    width: 1.64rem;
    position: absolute;
    bottom: -.2rem;
    right: 0;
  }
}
.cmn_header .nav {
  height: 1.39rem;
  background-image: url(../img/renew/nav_back_pc.jpg);
}
@media screen and (max-width: 767px) {
  .cmn_header .nav {
    height: 2.35rem;
    background-image: url(../img/renew/nav_back_sp.jpg);
  }
  .sp_menu {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .cmn_header .nav .global {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
	h6{
		font-size: 1.3em;
		line-height: 0.4em;
	}
	.seminar_bace dt{
		font-size: 2.4em;
	line-height: 1.2em;
    margin: 2% 0;
}
	.seminar_bace dd{font-size: 1em;}
  .cmn_header .nav .global li:not(:last-child) a {
    border-right: .0171rem solid #fff;
  }
  .cmn_header .nav .global li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: .6rem;
    padding: 0 .3rem;
  }
	div.btn_box ul{
		width: 8rem;
	}
}
@media screen and (max-width: 767px) {
  .cmn_header .nav .global li:not(:last-child) a {
    border-bottom: .01rem solid #fff;
  }
  .cmn_header .nav .global li a {
    display: block;
    text-align: center;
    padding: .1rem 0;
  }
  .cmn_header .nav .global li img {
    width: 1.69rem;
  }
}
@media screen and (orientation: landscape) {
  .cmn_header .nav .global li a img {
    width: 100%;
  }
}

@media screen and (max-width: 896px) and (orientation: landscape) {
  .cmn_header .nav .global li a img {
    width: 75%;
  }
	
	
	
.message .item .intro .pic1{
  width: 1rem;
  position: absolute;
  bottom:-0.19rem;
  left: 0;
}
.message .item .intro .pic2{
  width: 1rem;
  position: absolute;  
  bottom: 0.27rem;
  left: 0;
}
.message .item .intro .pic3{
  width: 1rem;
  position: absolute;  
  bottom: -0.35rem;
  left: 0;
}
  .cmn_header .mv {
    margin-top: 7%;
  }
}
@media screen and (max-width: 415px) and (orientation: portrait) {
  .cmn_header .mv {
    margin-top: 12.4%;
  }
}
@media screen and (max-width: 767px) {
  .cmn_article {
    padding: 0 0 .5rem;
  }
}
/* pagetop ---------- */
.pagetop, .product {
  position: fixed;
  bottom: .3rem;
  z-index: 100;
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
.pagetop:hover, .product:hover {
  opacity: .7;
}
@media screen and (max-width: 767px) {
  .pagetop, .product {
    bottom: .15rem;
  }
}
.pagetop {
  right: calc((100% - 9.3rem) / 2);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .pagetop {
    width: .31435rem;
    right: .075rem;
  }
}
.product {
  left: calc((100% - 9.45rem) / 2);
}
@media screen and (max-width: 767px) {
  .product {
    width: .4031rem;
    left: .075rem;
  }
}
/* TOP
--------------------------------------------------------------*/
/* concept ----------- */
.concept .top_inner {
  padding: 1.15rem 0 1.05rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .concept .top_inner {
    padding: .4rem 0 .5rem;
  }
}
@media screen and (max-width: 767px) {
  .concept .top_inner .tit, .concept .top_inner .catch {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .concept .top_inner .tit {
    width: 2.9rem;
  }
}
.concept .top_inner .desc {
  margin: .75rem 0 .95rem;
}
@media screen and (max-width: 767px) {
  .concept .top_inner .desc {
    width: 2.49rem;
    margin: .3rem auto .35rem;
  }
}
@media screen and (max-width: 767px) {
  .concept .top_inner .catch {
    width: 2.68rem;
  }
}
.concept .bottom_inner {
  padding: .95rem 0 .9rem;
  background-image: url(../img/concept_bg_pc.jpg);
}
@media screen and (max-width: 767px) {
  .concept .bottom_inner {
    height: 5.655rem;
    padding: .32rem 0 0;
    background-image: url(../img/concept_bg_sp.jpg);
    background-position: top center;
  }
  .concept .bottom_inner .container_s {
    width: calc(100% - .15rem);
  }
}
/* info_list ----------- */
.info_list {
  padding: 1.25rem 0 0;
}
@media screen and (max-width: 767px) {
  .info_list {
    width: calc(100% - .15rem);
    margin: 0 auto;
    padding: .45rem 0 0;
  }
}
.info_list li {
  width: 4.45rem;
  margin: 0 .2rem;
}
@media screen and (max-width: 767px) {
  .info_list li {
    width: 100%;
    margin: 0;
  }
  .info_list li + li {
    margin-top: .4rem;
  }
}
.info_list li .person {
  position: relative;
}
.info_list li .person .pic {
  margin: 0 0 .66rem;
}
@media screen and (max-width: 767px) {
  .info_list li .person .pic {
    margin: 0 0 .45rem;
  }
}
.info_list li .person .desc {
  position: absolute;
  left: 0;
  bottom: -.17rem;
}
@media screen and (max-width: 767px) {
  .info_list li .person .desc {
    width: 2.97rem;
    bottom: -.1rem;
  }
}
.info_list li .comment {
  line-height: 1.44;
  letter-spacing: -.1em;
}
@media screen and (max-width: 767px) {
  .info_list li .comment {
    line-height: 1.6;
  }
}
/* about ----------- */
.about {
  padding: 1.65rem 0 1.45rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about {
    padding: .47rem 0;
  }
}
.about .desc {
  color: #221815;
  line-height: 1.66;
  letter-spacing: -.05em;
}
@media screen and (max-width: 767px) {
  .about .desc {
    line-height: 1.6;
  }
}
.about .inner {
  padding-left: 4.15rem;
}
@media screen and (max-width: 767px) {
  .about .inner {
    padding-left: 0;
  }
}
.about .inner .tit {
  padding-bottom: .4rem;
  margin: 0 0 .45rem;
}
@media screen and (max-width: 767px) {
  .about .inner .tit {
    padding-bottom: .23rem;
    margin: 0 0 .25rem;
  }
}
.about .inner .tit.mod_border_anim::before {
  height: .01rem;
  background-color: #b28850;
}
@media screen and (max-width: 767px) {
  .about .inner .tit.mod_border_anim::before {
    height: .005rem;
  }
}
.about .inner .desc {
  letter-spacing: -.02em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .about .inner .desc {
    padding: 0 .075rem;
    letter-spacing: -.05em;
  }
}
.about .img {
  width: calc((100% - 8rem) / 2 + 3.05rem);
  min-width: 9.06rem;
  height: 3.54rem;
  position: absolute;
  top: 1.05rem;
  right: calc((100% - 8rem) / 2 + 4.95rem);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .about .img {
    width: 100%;
    min-width: 100%;
    height: auto;
    margin: .22rem 0 0;
    position: static;
  }
}
.about .img img {
  width: 100%;
  display: block;
  position: relative;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .about .img img {
    top: 0;
    transform: translate(0, 0);
  }
}
.about .list {
  margin: 1.35rem 0 0;
}
@media screen and (max-width: 767px) {
  .about .list {
    width: calc(100% - .075rem);
    margin: .33rem auto 0;
  }
}
.about .list li {
  margin: 0 -.05rem;
}
@media screen and (max-width: 767px) {
  .about .list li {
    width: calc(100% / 2);
    margin: 0 0 .25rem;
  }
}
.about .catch {
  margin: .5rem 0 .55rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about .catch {
    margin: .12rem .15rem .25rem;
  }
}
@media screen and (max-width: 767px) {
  .about .container.add {
    width: calc(100% - .3rem);
  }
}
/* voice ----------- */
.voice {
  padding: 0 0 1.35rem;
}
@media screen and (max-width: 767px) {
  .voice {
    padding: 0 0 .3rem;
  }
}
.voice .tit {
  margin: 0 0 .4rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice .tit {
    margin: 0 0 .2rem;
  }
}
.voice .item {
  padding: .32rem .54rem .3rem .2rem;
  background-color: #fff;
  box-shadow: 0 0 0.27rem rgba(54, 54, 54, 0.19);
}
@media screen and (max-width: 767px) {
  .voice .item {
    padding: .18rem .12rem .27rem .12rem;
    box-shadow: 0 0 0.135rem rgba(54, 54, 54, 0.19);
    position: relative;
  }
}
.voice .item + .item {
  margin-top: .3rem;
}
@media screen and (max-width: 767px) {
  .voice .item + .item {
    margin-top: .2rem;
  }
}
.voice .item .pic {
  width: 1.85rem;
}
@media screen and (max-width: 767px) {
  .voice .item .pic {
    width: .925rem;
    margin: 0 0 .25rem;
  }
}
.voice .item .txt {
  width: 6.26rem;
}
@media screen and (max-width: 767px) {
  .voice .item .txt {
    width: 100%;
  }
}
.voice .item .txt .intro {
  margin: .1rem 0 .3rem;
}
@media screen and (max-width: 767px) {
  .voice .item .txt .intro {
    width: 1.75rem;
    margin: 0;
    position: absolute;
    right: .075rem;
    top: .47rem;
  }
  .voice .item .txt .intro.add {
    top: .32rem;
  }
}
.voice .item .txt .desc {
  line-height: 1.66;
  letter-spacing: -.01em;
}
@media screen and (max-width: 767px) {
  .voice .item .txt .desc {
    line-height: 1.6;
    letter-spacing: -.05em;
  }
}
/* want ----------- */
.want {
  padding: 1.35rem 0 1.15rem;
  text-align: center;
  background-image: url(../img/want_bg_pc.jpg);
}
@media screen and (max-width: 767px) {
  .want {
    padding: .59rem 0 .5rem;
    background-image: url(../img/want_bg_sp.jpg);
  }
}
.want .tit {
  margin: 0 0 .75rem;
}
@media screen and (max-width: 767px) {
  .want .tit {
    width: 3rem;
    margin: 0 auto .35rem;
  }
}
.want .catch {
  margin: 0 0 .75rem;
}
@media screen and (max-width: 767px) {
  .want .catch {
    width: 2.67rem;
    margin: 0 auto .3rem;
  }
}
@media screen and (max-width: 767px) {
  .want .desc {
    width: 2.9rem;
    margin: 0 auto;
  }
}
/* message ----------- */
.message {
  background-color: #dadada;
	padding-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .message {
    padding: .5rem 0 .4rem;
  }
}
.message .item + .item {
  margin-top: 1.3rem;
}
@media screen and (max-width: 767px) {
  .message .item + .item {
    margin-top: .45rem;
  }
}
.message .item .tit {
  margin: 0 0 .5rem;
  line-height: .85rem;
  text-align: center;
  background-color: #ad8617;
}
.message .item .tit h3{
	padding:20px 10px;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color:#ffffff;
	font-size:.3rem;
	font-weight:bold;
	line-height:180%;
	text-shadow:2px 2px 2px #000000;
}

@media screen and (max-width: 767px) {
  .message .item .tit {
    margin: 0 0 .15rem;
    line-height: .425rem;
  }
	.message .item .tit h3{
		font-size:.16rem;
	}
}
.message .item .tit img {
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .message .item .tit img {
    width: auto;
    height: .21rem;
  }
}
.message .item .mov {
  width: 8rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .message .item .mov {
    width: 100%;
  }
}
.message .item .mov iframe {
  width: 100%;
  height: 4.6rem;
  background-color: #000;
}
@media screen and (max-width: 767px) {
  .message .item .mov iframe {
    height: 2rem;
  }
}
.message .item .intro {
  position: relative;
  margin-bottom: 40px;
}
.message .item .intro + .intro {
  margin-top: .55rem;
}
@media screen and (max-width: 767px) {
  .message .item .intro + .intro {
    margin-top: .525rem;
  }
}
.message .item .intro .pic1{
  width: 1.84rem;
  position: absolute;
  bottom:1.6em;
  left: 0;
}
.message .item .intro .pic2{
  width: 1.84rem;
  position: absolute;
  /* bottom: .05rem; */
  bottom: 0.27rem;
  left: 0;
}
.message .item .intro .pic3{
  width: 1.84rem;
  position: absolute;  
  bottom: -0.85rem;
  left: 0;
	padding-bottom: 2%;
}
@media screen and (max-width: 767px) {
  .message .item .intro .pic {
    margin: 0 auto .3rem;
    position: static;
  }
}
.message .item .intro .name {
  margin: 0 0 .25rem;
}
@media screen and (max-width: 767px) {
  .message .item .intro .name {
    margin: 0 0 .17rem;
  }
}
.message .item .intro .desc {
  padding-left: 2.05rem;
  color: #221815;
  font-size: .15rem;
  line-height: 1.6;
  letter-spacing: -.05em;
}
@media screen and (max-width: 767px) {
  .message .item .intro .desc {
    padding: 0 .075rem;
  }
}
/* 追加2022/03/23 */
.message .mainTitle {
	text-align:center;
	margin:0 auto 40px;
	padding-top:40px;
}
.message .mainTitle h2 img {
	margin-bottom:20px;
}

.message .mainTitle h3 {
	font-size:1em;
	line-height:150%;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


/* what ----------- */
.what {
  padding: 1.25rem 0 .1rem;
  text-align: center;
  background-image: url(../img/what_bg_pc.jpg);
}
@media screen and (max-width: 767px) {
  .what {
    padding: .5rem .15rem .12rem;
    background-image: url(../img/what_bg_sp.jpg);
  }
}
.what .tit {
  margin: 0 0 .75rem;
}
@media screen and (max-width: 767px) {
  .what .tit {
    width: 100%;
    margin: 0 auto .37rem;
  }
}
.what .catch {
  margin: 0 0 .8rem;
}
@media screen and (max-width: 767px) {
  .what .catch {
    width: 2.665rem;
    margin: 0 auto .3rem;
  }
}
/* 追加2022/3/23 */
.what .desc {
  margin: 0 auto .75rem;
	display:flex;
	justify-content:space-around;
	flex-wrap: wrap;
	width:1000px;
}
.what .desc img {
	width:20%;
}
@media screen and (max-width: 767px) {
	.what .desc { 
		width:100%;
	}
	.what .desc img {
		width:48%;
		margin-bottom:10px;
	}
}

@media screen and (max-width: 767px) {
  .what .desc {
    width: 2.65rem;
    margin: 0 auto .3rem;
  }
}
/* program ----------- */
.program {
  padding: 1.1rem 0 .9rem;
}
@media screen and (max-width: 767px) {
  .program {
    padding: .47rem 0 .6rem;
  }
}
.program .item + .item {
  margin-top: 1.15rem;
}
@media screen and (max-width: 767px) {
  .program .item + .item {
    margin-top: .52rem;
  }
}
.program .item .tit {
  height: .85rem;
  line-height: .85rem;
  text-align: center;
  background-color: #ad8617;
  position: relative;
}
@media screen and (max-width: 767px) {
  .program .item .tit {
    height: .425rem;
    line-height: .425rem;
  }
}
.program .item .tit::after, .program .item .tit::before {
  content: "";
  position: absolute;
  top: 0;
}
.program .item .tit::after {
  width: calc((100% - 10.4rem) / 2);
  height: 100%;
  background-color: #fff;
  right: 0;
}
@media screen and (max-width: 767px) {
  .program .item .tit::after {
    width: .075rem;
  }
}
.program .item .tit::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 .85rem .4rem;
  border-color: transparent transparent #fff transparent;
  right: calc((100% - 10.4rem) / 2);
}
@media screen and (max-width: 767px) {
  .program .item .tit::before {
    border-width: 0 0 .425rem .075rem;
    right: .075rem;
  }
}
.program .item .tit img {
  vertical-align: middle;
}
.program .item .main_img {
  margin: 0 0 .65rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .program .item .main_img {
    width: 2.9131rem;
    margin: 0 auto .13rem;
  }
}
@media screen and (max-width: 767px) {
  .program .item .s_main_img {
    width: 2.8631rem;
    margin: 0 auto;
  }
}
.program .item .s_main_img li {
  margin: 0 .08rem;
}
@media screen and (max-width: 767px) {
  .program .item .s_main_img li {
    width: calc((100% - .15rem) / 3);
    margin: 0 .025rem;
  }
}
.program .item .stit {
  text-align: center;
}
.program .item .catch {
  margin: 0 0 .1rem;
}
@media screen and (max-width: 767px) {
  .program .item .catch {
    margin: 0 0 .05rem;
  }
}
.program .item .catch.mod_border_anim::before {
  height: .02rem;
  background-color: #000;
  bottom: .1rem;
}
@media screen and (max-width: 767px) {
  .program .item .catch.mod_border_anim::before {
    height: .005rem;
    bottom: .05rem;
  }
}
.program .item .catch.mod_border_anim.anim_add::before {
  bottom: -.05rem;
}
@media screen and (max-width: 767px) {
  .program .item .catch.mod_border_anim.anim_add::before {
    bottom: -.025rem;
  }
}
.program .item .desc {
  margin: 0 0 .35rem;
}
@media screen and (max-width: 767px) {
  .program .item .desc {
    margin: 0 0 .23rem;
  }
}
.program .item .desc.mb55 {
  margin: 0 0 .55rem;
}
@media screen and (max-width: 767px) {
  .program .item .desc.mb55 {
    margin: 0 0 .28rem;
  }
}
.program .item .desc.mb45 {
  margin: 0 0 .45rem;
}
@media screen and (max-width: 767px) {
  .program .item .desc.mb45 {
    margin: 0 0 .27rem;
  }
}
@media screen and (max-width: 767px) {
  .program .item .list01, .program .item .list02, .program .item .list03, .program .item .list04 {
    width: 100%;
	}
  .program .item .list01 li, .program .item .list02 li, .program .item .list03 li, .program .item .list04 li {
    width: 100%;
  }
}
.program .item.program_cot .tit {
  margin: 0 0 .55rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .tit {
    margin: 0 0 .27rem;
  }
  .program .item.program_cot .tit img {
    width: auto;
    height: .235rem;
  }
}
.program .item.program_cot .story {
  margin: 1.1rem auto 0;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .story {
    margin: .84rem auto 0;
  }
}
.program .item.program_cot .story .stit {
  margin: 0 0 .45rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .story .stit {
    width: .975rem;
    margin: 0 auto .25rem;
  }
}
.program .item.program_cot .story .list01 li {
  margin: 0 0 -.2rem;
  position: relative;
}
.program .item.program_cot .story .list01 li.prologue {
  margin: 0 0 .05rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .story .list01 li.prologue {
    margin: 0 0 .02rem;
  }
}
.program .item.program_cot .story .list01 li:nth-child(2) {
  z-index: 13;
}
.program .item.program_cot .story .list01 li:nth-child(3) {
  z-index: 12;
}
.program .item.program_cot .story .list01 li:nth-child(4) {
  z-index: 11;
}
.program .item.program_cot .story .list01 li:nth-child(5) {
  z-index: 10;
}
.program .item.program_cot .story .list01 li:nth-child(6) {
  z-index: 9;
}
.program .item.program_cot .story .list01 li:nth-child(7) {
  z-index: 8;
}
.program .item.program_cot .story .list01 li:nth-child(8) {
  z-index: 7;
}
.program .item.program_cot .story .list01 li:nth-child(9) {
  z-index: 6;
}
.program .item.program_cot .story .list01 li:nth-child(10) {
  z-index: 5;
}
.program .item.program_cot .story .list01 li:nth-child(11) {
  z-index: 4;
}
.program .item.program_cot .story .list01 li:nth-child(12) {
  z-index: 3;
}
.program .item.program_cot .story .list01 li:nth-child(13) {
  z-index: 2;
}
.program .item.program_cot .story .list01 li:nth-child(14) {
  z-index: 1;
}
.program .item.program_cot .story .list01 li.epilogue {
  margin: .05rem 0 0;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .story .list01 li.epilogue {
    margin: .01rem 0 0;
  }
}
.program .item.program_cot .application {
  margin: .9rem auto 0;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .application {
    margin: .75rem auto 0;
  }
}
.program .item.program_cot .application .stit {
  margin: 0 0 .6rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .application .stit {
    width: 1.565rem;
    margin: 0 auto .25rem;
  }
}
.program .item.program_cot .application .catch.mt70 {
  margin: .7rem 0 .1rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .application .catch.mt70 {
    margin: .52rem 0 .08rem;
  }
}
.program .item.program_cot .application .catch.mt55 {
  margin: .55rem 0 .25rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .application .catch.mt55 {
    margin: .48rem 0 .14rem;
  }
}
.program .item.program_cot .application .list02 li:not(:last-child), .program .item.program_cot .application .list03 li:not(:last-child), .program .item.program_cot .application .list04 li:not(:last-child) {
  margin: 0 0 .15rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .application .list02 li:not(:last-child), .program .item.program_cot .application .list03 li:not(:last-child), .program .item.program_cot .application .list04 li:not(:last-child){
    margin: 0 0 .08rem;
  }
	.btn_box ul li img {
		margin: 0 0 .08rem;
	}
}
@media screen and (max-width: 767px) {
  .program .item.program_cot .application .list03 + .list03 {
    margin-top: .1rem;
  }
}
.program .item.program_how .tit {
  margin: 0 0 .45rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .tit {
    margin: 0 0 .28rem;
  }
  .program .item.program_how .tit img {
    width: 2.85rem;
    margin-right: .15rem;
  }
}
.program .item.program_how .list05 li {
  padding: .4rem .45rem .45rem .3rem;
  box-shadow: 0 0 0.12rem rgba(54, 54, 54, 0.41);
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .list05 li {
    padding: .3rem .25rem .37rem;
    box-shadow: 0 0 0.06rem rgba(54, 54, 54, 0.41);
    text-align: justify;
  }
}
.program .item.program_how .list05 li.add {
  padding: .55rem .45rem .35rem .3rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .list05 li.add {
    padding: .3rem .25rem .37rem;
  }
}
.program .item.program_how .list05 li + li {
  margin-top: .3rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .list05 li .pic {
    width: 2.33rem;
    margin: 0 auto .23rem;
  }
}
.program .item.program_how .list05 li .txt {
  width: 4.2rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .list05 li .txt {
    width: 100%;
  }
}
.program .item.program_how .list05 li .txt .li_tit {
  margin: 0 0 .3rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .list05 li .txt .li_tit {
    width: 2.55rem;
    margin: 0 auto .17rem;
  }
}
.program .item.program_how .list05 li .txt .li_tit.add {
  margin: .1rem 0 .3rem;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .list05 li .txt .li_tit.add {
    margin: 0 auto .17rem;
  }
}
.program .item.program_how .list05 li .txt .li_desc {
  line-height: 1.66;
  letter-spacing: .01em;
}
@media screen and (max-width: 767px) {
  .program .item.program_how .list05 li .txt .li_desc {
    letter-spacing: -.05em;
  }
}
.program .item.program_how .list05 li .txt .li_desc .ls05 {
  letter-spacing: -.5em;
}
.program .item.program_how .list05 li .txt .li_desc .add {
  text-align: justify;
}
.benefit {
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .benefit {
    margin-bottom: 45px;
  }
}
/* buying ----------- */
.buying {
  padding: .85rem 0 .75rem;
  border-top: .03rem solid #ad8617;
  background-color: #f8f8f8;
}

.buying h6{
    background: #ad8617;
    padding: 0.6em 0.8em;
    text-align: center;
    max-width: 500px;
    margin: 0 auto 1.2em;
    font-weight: 600;
    font-size: 1.4em;
    line-height: 1em;
    color: #fff;
}
@media screen and (max-width: 767px) {
  .buying {
    padding: .3rem .15rem .35rem;
    border-top: .015rem solid #ad8617;
  }
}
.buying .pic {
  margin-right: -.25rem;
}
@media screen and (max-width: 767px) {
  .buying .pic {
    /* width: 1.935rem; */
    margin: 0 auto;
  }
}
.buying .txt {
  width: 4.84rem;
  padding-top: .3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .buying .txt {
    width: 100%;
    padding-top: .28rem;
  }
}
.buying .name {
  margin: 0 0 .1rem;
}
@media screen and (max-width: 767px) {
  .buying .name {
    margin: 0 0 .25rem;
  }
}
.buying .txt .inner {
  padding-left: .65rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .buying .txt .inner {
    padding-left: 0;
  }
}
.buying .txt .inner .desc {
  margin: 0 0 .5rem;
}
@media screen and (max-width: 767px) {
  .buying .txt .inner .desc {
    margin: 0 0 .3rem;
  }
}
.buying .txt .inner .price {
  margin: 0 0 .25rem;
}
@media screen and (max-width: 767px) {
  .buying .txt .inner .price {
    margin: 0 auto .2rem;
  }
}
.buying .txt .inner .btn a {
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
}
.buying .txt .inner .btn a:hover {
  opacity: .7;
}



/* satisfy 追加20220317 ----------- */
.satisfy{
  padding: 0 0 1.35rem;
}
@media screen and (max-width: 767px) {
  .satisfy {
    padding: 0 0 .3rem;
  }
}
.satisfy .contentBox {
	width: 830px;
  margin: 50px auto;
  text-align: center;
	border-top:5px solid #1c2a4d;
	background: url("../img/renew/satisfaction_back.jpg")50% 50% no-repeat;
	background-size:cover;
}
@media screen and (max-width: 767px) {
	.satisfy .contentBox {
		width:90%;
	}
}
.satisfy .tit {
  margin: 0 0 .4rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .satisfy .tit {
    margin: 0 0 .2rem;
  }
}

.satisfy .contentBox .inner {
	margin:30px auto;
	width:90%;
	
}
.satisfy .contentBox .inner h4 {
	text-align:left;
}
.satisfy .contentBox .inner h5 {
	text-align:center;
}

.satisfy .contentBox .inner dl {
	display:flex;
	text-align:center;
	justify-content: center;
	margin:20px auto;
}
.satisfy .contentBox .inner dl dt img{
	width:80%;
}
@media screen and (max-width: 767px) {
	.satisfy .contentBox .inner dl {
		 flex-direction: column;
	}
	.satisfy .contentBox .inner dl dt{
		margin-bottom:20px;
	}
	.satisfy .contentBox .inner dl dt img {
		width:100%;
	}
}


.satisfy .item {
  padding: .32rem .54rem .3rem .2rem;
  box-shadow: 0 0 0.27rem rgba(54, 54, 54, 0.19);
}
@media screen and (max-width: 767px) {
  .satisfy .item {
    padding: .18rem .12rem .27rem .12rem;
    box-shadow: 0 0 0.135rem rgba(54, 54, 54, 0.19);
    position: relative;
  }
}
.satisfy .item + .item {
  margin-top: .3rem;
}
@media screen and (max-width: 767px) {
  .satisfy .item + .item {
    margin-top: .2rem;
  }
}

/* user 追加20220317 ----------- */
.user{
  padding: 0 0 1.35rem;
}
@media screen and (max-width: 767px) {
  .user {
    padding: 0 0 .3rem;
  }
}
.user .contentBox {
	width: 930px;
  margin: 50px auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
	.user .contentBox {
		width:90%;
	}
}
.user .contentBox h2 {
	font-size: 1rem;
	position: relative;
	padding: .1rem;
	text-align: center;
	border-bottom:solid 1px #000000;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

.user .contentBox h2 span {
	font-size: .4rem;
	display: block;
}

.user .contentBox h2:before {
  position: absolute;
  bottom: 0;
  left: calc(50% - 100px);
  width: 200px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #1c2a4d;
}
.user .contentBox h3 {
	margin:10px auto 40px;
	line-height:150%;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size:.2rem;
}
@media screen and (max-width: 767px) {
	.user .contentBox h2 span {
		font-size:.3rem;
	}
	.user .contentBox h3 {
		font-size:.13rem;
	}
}


.user .tit {
  margin: 0 0 .4rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .user .tit {
    margin: 0 0 .2rem;
  }
}

.user .contentBox dl {
	text-align:left;
	display:flex;
	justify-content: space-around;
	margin:0 auto 8px;
	width:100%;
	border-top:solid 1px #999999;
	border-right:solid 1px #999999;
	border-bottom:solid 1px #999999;
	border-left:solid 10px #1c2a4d;
	
}
.user .contentBox p{
	text-align: right;
	display: block;
	margin-bottom: 25px;
	font-size: 0.8em;
}
.user .contentBox dl dt{
	width:28%;
	padding:10px 0;
}
.user .contentBox dl dt img{
	width:100%;
}
.user .contentBox dl dd{
	position:relative;
	width:68%;
	padding:10px 0;
	font-size:.97em;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	line-height:180%;
}
.user .contentBox dl dd h5 {
	position:absolute;
	bottom:0;
	right:0;
	font-size:1.3em;
	font-weight:bold;
}

.user .contentBox dl dd h5 span {
	font-size:.8em;
}

@media screen and (max-width: 767px) {
	.user .contentBox dl {
		flex-direction:column;
		margin:0 auto 20px;
		border-top:solid 10px #1c2a4d;
		border-right:solid 1px #999999;
		border-bottom:solid 1px #999999;
		border-left:solid 1px #999999;
	}
	.user .contentBox dl dt { 
		width:96%;
		margin:0 auto 10px;
	}
	.user .contentBox dl dd {
		width:96%;
		margin:0 auto;
		position:static;
	}
	.user .contentBox dl dd h5 {
		text-align:right;
		position:static;
		line-height:140%;
	}
	.user .contentBox dl dd h5 span{
		font-size:.6em;
	}
}
/* 91日 追加20220323 ----------- */
.none{
  padding: 0 0 1.35rem;
}
@media screen and (max-width: 767px) {
  .none {
    padding: 0 0 .3rem;
  }
}
.none .contentBox {
	width: 930px;
  margin: 50px auto;
  text-align: center;
}

.none .titleWrap {
	width:100%;
	margin:0 auto 40px;
	background-color:#ad8617;
}
.none .titleWrap h2 {
	text-align:center;
	padding:40px 0;
	margin:0 auto;		
}
@media screen and (max-width: 767px) {
	.none .titleWrap h2 {
		width:90%;		
	}
}

@media screen and (max-width: 767px) {
	.none .contentBox {
		width:100%;
	}
}
.none .contentBox .chartWrap {
	margin:40px auto;
}
.none .contentBox .chartWrap img {
	width:90%;
}

/* study 追加20220317 ----------- */
.study{
  padding: 0 0 1.35rem;
	background-color:#f0ebdd;
}
@media screen and (max-width: 767px) {
  .study {
    padding: 0 0 .3rem;
  }
}
.study .contentBox {
	width: 930px;
  margin: 50px auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
	.study .contentBox {
		width:90%;
	}
}
.study .contentBox .titleWrap {
	margin:0 auto 40px;
	width:930px;
	height:100px;
	border-left:5px solid #2b3c62;
	display: flex;
    align-items: flex-end;
}

.study .contentBox .titleWrap h2 {
	text-align:left;
	padding-left:10px;
}
@media screen and (max-width: 767px) {
	.study .contentBox .titleWrap {
		width:100%;
	}
}
dl.studyStyle {
	display:flex;
	text-align:left;
	justify-content: space-between;
	margin:0 auto 40px;
	width:100%;
}

dl.studyStyle dt{
	width:67%;
	font-size:.9em;
	line-height:160%;
}
dl.studyStyle dt h3{
	font-size:1.1em;
	font-weight:bold;
	padding:15px;
	width:100%;
	background-color:#ffffff;
	margin-bottom:10px;
}

dl.studyStyle dd {
	width:29%;
}
@media screen and (max-width: 767px) {
	dl.studyStyle {
		flex-direction:column;
	}
	dl.studyStyle dt{
		width:100%;
		margin-bottom:10px;
	}
	dl.studyStyle dd {
		width:100%;
	}
}

/*
オンラインプログラムとは
 ----------------------------------------------------------
*/
.white_bg{background: #fff;padding: 0 30px 30px;}
.about-program-title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
@media screen and (min-width: 768px){
    .about-program{
    width: 90%;
    max-width: 930px;
    margin: 2em auto 0;  
    }  
}
@media screen and (max-width: 767px) {
    .about-program{
    width: 90%;
    max-width: 930px;
    margin: 1em auto 0;  
    }  
  .about-program-title-wrap {
    gap: 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.about-program-title h3 {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 0.3rem;
    font-weight: 600;
}
@media screen and (max-width: 768px) {
  .about-program-title h3 {
      padding: 1.2em 1em;
    font-size: 1.1em;
    background-color: #F6EFE7;
    line-height: 1.4em;
  }
}
.about-program-title p {
  font-size: 0.18rem;
    margin-top: 20px;
    line-height: 1.6em;
}
@media screen and (max-width: 768px) {
  .about-program-title p {
    font-size: 0.8em;
    line-height:1.6em;
  }
}
.about-program-img {
  width: 35%;
}
@media screen and (max-width: 768px) {
  .about-program-img {
    width: 100%;
    height: auto;
    margin-top: 0;
  }
}

.flow {
  background-color: #F6EFE7;
  padding: 10px 20px 30px;
}
.flow p{font-size: 0.8em;
line-height: 1.6em;}
@media screen and (max-width: 768px) {
  .flow {
    padding: 10px 10px;
  }
}
.flow h4 {
  font-size: 0.2rem;
  padding: 0.8em 1em 1.2em;
  line-height: 1.4em;
font-weight: 600;
}
.flow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
	margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .flow-list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 10px;
    gap: 34px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.flow-item {
  font-size: 14px;
  display: block;
  position: relative;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .flow-item {
    width: 100%;
  }
}
.flow-item{
  padding: 4px 16px 4px 20px;
  background: #ad8617;
  height: 80px;
	line-height: 1.4em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          /*justify-content: center;*/
}
@media screen and (max-width: 768px) {
  .flow-item {
    height: auto;
  }
}
.flow-item::before, .flow-item::after {
  content: "";
  position: absolute;
  right: -1px;
}
.flow-item::before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 48px 0;
  border-color: transparent #F6EFE7 transparent transparent;
  top: -1px;
}
@media screen and (max-width: 768px) {
  .flow-item::before {
    display: none;
  }
}
.flow-item::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 48px 10px;
  border-color: transparent transparent #F6EFE7 transparent;
  bottom: -1px;
}
@media screen and (max-width: 768px) {
  .flow-item::after {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -10px;
    border-width: 10px 10px 0 10px;
    border-color: #ad8617 transparent transparent transparent;
  }
}
.flow-item span {
  position: absolute;
  bottom: 100%;
  left: 0;
  color: #5A1E0F;
}
.flow-item {
  width : calc(100% / 3) ;
}
@media screen and (max-width: 768px) {
  .flow-item{
    margin-top: -10px;
    width: 100%;
  }
}
/*
更新用画像のテキスト化　トップページ次
 ----------------------------------------------------------
*/

h3.thesis {
	font-weight:900;
	font-family: "heisei-mincho-std", serif;
	font-size:.37rem;
	text-shadow: 1px 2px 3px #808080;
	line-height:160%;
}

h3.thesis span.emphasize {
	font-size:.49rem;
}
h3.thesis span.particle {
	font-size:.29rem;
}

.profileTitle {
	width:100%;
	margin:0 auto;
}

.profileTitle h2 {
	display:block;
	width:370px;
	background-color:#ad8617;
	clip-path: polygon(0 0, 100% 0%, 92% 100%, 0% 100%);
	padding:15px;
	color:#ffffff;
	font-weight:900;
	font-family: "heisei-mincho-std", serif;
	font-size:.35rem;
	text-shadow: 3px 4px 5px #666666;	
}
.profileTitle dl {
	display:flex;
	width:100%;
	justify-content: flex-start;
	margin:20px auto;
}
.profileTitle dl dt {
	width:40%;
	font-weight:900;
	font-family: "heisei-mincho-std", serif;
	font-size:.5rem;
	align-items:bottom;
}
.profileTitle dl dt span {
	font-size:.2rem;
}
.profileTitle dl dd {
	width:55%;
	font-weight:500;
	font-family: "heisei-mincho-std", serif;
	font-size:.2rem;
	align-items:bottom;
}


/* 240315追加　集中トレーニング */
#training .contentBox h2 {
	max-width: 950px;
	width: 70%;
	margin: 3em auto 2em;
}
#training .contentBox dl {
	max-width: 950px;
	width: 100%;
	margin: 0 auto 2em;
}
#training .contentBox dl dt{
	max-width: 658px;
	width: 100%;
	margin: 0 auto 2em;
}



#training a.btn-c {
  font-size: 1.8rem;
  position: relative;
  padding: 2rem 4rem 2rem 2rem;
  color: #fff;
  border-radius: 100vh;
  -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, .2);
  box-shadow: 0 10px 10px rgba(0, 0, 0, .2);
}

#training .btn,
#training a.btn,
#training button.btn {
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  display: inline-block;
  padding: 0.3rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
}

#training a.btn-c {
  font-size: 1.2em;
display: block;
    width: 100%;
    max-width: 658px;
    margin: 0 auto 5em;
  position: relative;
  padding: 1.5em 2em 1.5em 2em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #fff;
  border-radius: 30px;
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#472513),
    to(#261712)
  );
  background-image: -webkit-linear-gradient(left, #472513 0%, #261712 100%);
  background-image: linear-gradient(to right, #472513 0%, #261712 100%);
  -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

#training a.btn-c:before {
  font-family: "Font Awesome 5 Free";
  font-size: 0.2rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.1rem);
  right: 0.5rem;
  margin: 0;
  padding: 0;
  content: ">";
}

/*
#training a.btn-c:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  color: #fff;
}
*/
@media screen and (max-width: 767px) {
	#training a.btn-c {
		font-size: 0.8em;}
	#training a.btn-c:before {
  font-family: "Font Awesome 5 Free";
  font-size: 0.2rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.1rem);
  right: 0.2rem;
  margin: 0;
  padding: 0;
  content: ">";
}
#training .contentBox h2 {
	width: 100%;
	margin: 2em auto 1em;
}
	#training .contentBox dl dt { 
		width:96%;
		margin:0 auto 10px;
	}
	#training .contentBox dl dd {
		width:96%;
		margin:0 auto;
	}
	#training .contentBox dl dd h5 span{
		font-size:.6em;
	}
}

/* --------------------------------------------------------------
   修了者限定テキスト　　2025/03/17
-------------------------------------------------------------- */

section#text{
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
}
section#text h3{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #231815;
  font-weight: 600;
  font-style: normal;
	font-size: 1.9em;
	text-align: center;
	line-height: 1.6em;
	letter-spacing: -0.05em;
margin-bottom: 20px;
}
section#text dl dt{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 600;
	color: #a72126;
	font-size: 1.4em;
	text-align: center;
	line-height: 1.6em;
	margin: 1em 0;
}
section#text span{
	display:inline-block;
	padding: 0.6em 0.8em 0.4em;
	text-align: center;
	background: #a72126;
	color: #fff;
	margin: 0 1em 0.6em 0;
	line-height: 1em;
	width: 7em;
}
section#text p{
	font-size: 0.8em;
	line-height: 1.5em;
	margin-bottom: 30px;
}

section#text ul li{
	width: 100%;
    margin: 0 0 5em;
}
@media screen and (min-width: 768px) {
	section#text ul li{max-width: 420px; margin: 0 auto ;}
}
@media screen and (max-width: 767px) {
	section#text ul{
	display: block;}
	section#text ul li{
	width: 100%;
    margin: 0 auto 1em;}
}
section#text div{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 1.2em;
	text-align: center;
	line-height: 1.4em;
  position: relative;
  padding: 1.5em 2em 1.5em 2em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #fff;
  border-radius: 30px;
}
section#text div#card{
	    background-image: -webkit-gradient(linear, left top, right top, from(#cb3838), to(#ba4141));
    background-image: -webkit-linear-gradient(left, #cb3838 0%, #ba4141 100%);
    background-image: linear-gradient(90deg, #cb3838, #ba4141);
    -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}
section#text div#bank{
	background: rgb(128,120,173);
	background: linear-gradient(90deg, rgba(128,120,173) 0%, rgba(33,65,148,1) 100%);
	background-image: -webkit-linear-gradient(left, #8078ad 0%, #214194 100%);
    background-image: linear-gradient(90deg, #8078ad, #214194);
    -webkit-box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

section#text div#card:before,
section#text div#bank:before{
  font-family: "Font Awesome 5 Free";
  font-size: 0.2rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - 0.1rem);
  right: 0.2rem;
  margin: 0;
  padding: 0;
  content: ">";
}
@media screen and (max-width: 767px) {
	section#text div:before {
		right: 0.3rem;
	}
	section#text div{font-size: 0.8em;}
	section#text h3{font-size: 1.5em;line-height: 1.4em;}
	section#text dl dt{font-size: 1.1em;}
	section#text dl dd{line-height: 1.5em;
    margin-bottom: 1em;}
	section#text span{display: block;line-height: 1.5em;margin-bottom: 0.6em;}
	section#text p{font-size: 0.7em;}
}

section#text div:hover{
opacity: .6;
}