@charset "utf-8";
@import url('style-base.css');
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap'); */


/*-----------------------------------------------------
 * カスタム変数
 *----------------------------------------------------*/
:root {
  --bace-blue: #2a4a7f;
  --dark-blue: #252c37;
  --bace-red: #cd1f27;
}
.r { color: #cd1f27; }
.y { color: #ffd634; }
/*-----------------------------------------------------
 * body
 *----------------------------------------------------*/
body {
  font-family: 'Noto Sans JP', "メイリオ", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 300;
  letter-spacing: 0.1rem;
}
@media only screen and (max-width: 768px) {
body {
  font-family: 'Noto Sans JP', "メイリオ", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1rem;
}
}
/*-----------------------------------------------------
 * 幅
 *----------------------------------------------------*/
#wrapper {
  margin: 0 auto;
}
.w1000 { min-width: 100rem; max-width: 100rem; box-sizing: border-box; position: relative; margin: 0 auto; }
.w960 { max-width: 96rem; position: relative;  margin: 0 auto; box-sizing: border-box; padding: 0 1.5rem; }
.w900 { max-width: 90rem; position: relative;  margin: 0 auto; box-sizing: border-box; padding: 0 0; }
.w840 { max-width: 84rem; position: relative;  margin: 0 auto; box-sizing: border-box; padding: 0 0; }

@media only screen and (max-width: 768px) {
.w1000 { max-width: 100rem; box-sizing: border-box; position: relative; min-width: 100%;}
.w960 { max-width: 96rem; position: relative;  margin: 0 auto; box-sizing: border-box; padding: 0 1.5rem; min-width: 100%; }
.w900 { max-width: 92rem; position: relative;  margin: 0 auto; box-sizing: border-box; padding: 0 1.5rem; min-width: 100%; }
.w860 { max-width: 86rem; position: relative;  margin: 0 auto; box-sizing: border-box; padding: 0 1.5rem; min-width: 100%; }
}

/*-----------------------------------------------------
 * ファンネルと同じ
 *----------------------------------------------------*/
.topobi {
  padding: 0.5rem 0.5rem;
}
.topobi-inner {
  display: flex;
  max-width: 100%;
  margin: 0 auto;
  justify-content: space-between;
  align-items:center;
}
.gmenu {
  padding: 1rem 0;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center;
}
.gmenu li {
  display: inline-block;
  font-size: 1.2rem;
  color: #378090;
}
.gmenu li a {
  text-decoration: none;
  color: #378090;
  padding: 0 1rem;
}
.gmenu li:last-child:after {
  content: "";
}
.gmenu li:after {
  content: "|";
}

.hamburger-menu .menu-btn {
  position: fixed;
  top: 10px;
  right: 10px;
  display: flex;
  height: 50px;
  width: 50px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: var(--bace-blue);
}
.hamburger-menu .menu-btn span,
.hamburger-menu .menu-btn span:before,
.hamburger-menu .menu-btn span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: #ffffff;
  position: absolute;
}
.hamburger-menu .menu-btn span:before {
  bottom: 8px;
}
.hamburger-menu .menu-btn span:after {
  top: 8px;
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
.hamburger-menu #menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}
.hamburger-menu .menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;/*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  background-color: var(--dark-blue);
  transition: all 0.5s;/*アニメーション設定*/
}
.hamburger-menu .menu-content ul {
  padding: 70px 10px 0;
}
.hamburger-menu .menu-content ul li {
  border-bottom: solid 1px #ffffff;
  list-style: none;
}
.hamburger-menu .menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 15px;
  box-sizing: border-box;
  color:#ffffff;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}
.hamburger-menu .menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}
.hamburger-menu #menu-btn-check:checked ~ .menu-content {
  left: 0;/*メニューを画面内へ*/
}
.hamburger-menu #menu-btn-check {
  display: none;
}




/*-----------------------------------------------------
 * header
 *----------------------------------------------------*/
.header-wrap {
  background:#fff url("../img/header_bg_x.jpg") left bottom repeat-x;
}
.header-inner {
  background: url("../img/header_bg.png" ) center top no-repeat;
}
.share {
  margin: 2.5rem auto;
  cursor: pointer;
  max-width: 616px;
}

.main {
  max-width: 100rem;
  margin: 0 auto;
  padding: 3rem 0 2rem 0;
}

.header-bottom {
  margin: 3rem auto;
}
.header-bottom a {
  display: block;
  max-width: 604px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
.header-wrap {
  padding-bottom: 0rem;
}
.main {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0.5rem 0 0.5rem 0;
}
.header-bottom {
  margin: 2rem auto;
}
.header-bottom a {
  display: block;
  max-width: 100%;
  margin: 0 1.5rem;
}
.share {
  margin: 1.5rem auto;
  cursor: pointer;
  padding: 0 1.5rem;
}

}


/*-----------------------------------------------------
 * 見出しと汎用的なもの
 *----------------------------------------------------*/
h2.midasi-img {
  margin: 4rem 0 2rem 0;
}
h3 {
  color: #378090;
  font-size: 2.2rem;
  padding: 1.5rem;
  text-align: center;
  margin: 4rem 0 2rem 0;
  line-height: 1.4;
  border: 1px solid #378090;
  border-width: 1px 0;
  font-weight: normal;
}
.text-box {
  margin: 2rem 0;
}
p.text {
  margin: 3rem 0;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #444;
}
.info-thumb {
  margin: 3rem 4rem 1rem 4rem;
}
h5.midasi {
  font-size: 1.6rem;
  padding-left: 1rem;
  border-left: 5px solid #378090;
  line-height: 1.3;
  margin: 0 0 2rem 0;
  text-align: left;
  color: #378090;
}
h5.midasi span {
  color: #378090;
}
h6.midasi {
  font-size: 1.6rem;
  margin: 1rem 0;
  border-bottom: 1px dotted #378090;
  color: #378090;
}


@media only screen and (max-width: 768px) {
h2.midasi-img {
  margin: 2.8rem 0 1.5rem 0;
}
h3 {
  color: var(--bace-blue);
  font-size: 1.8rem;
  padding: 1.2rem;
  text-align: center;
  margin: 3rem 0 1.5rem 0;
  line-height: 1.3;
  border: 1px solid var(--bace-blue);
  border-width: 1px 0;
  font-weight: normal;
}
}


/*-----------------------------------------------------
 * 注意書き
 *----------------------------------------------------*/
.intro-box {
  box-sizing: border-box;
  border: 1px solid #999;
  padding: 0.2rem;
  background: #fffae7;
}
.intro-box-inner {
  border: 1px solid #999;
  padding: 2rem 4rem 2rem 3rem;
}
.intro-box-inner p.text {
  font-size: 1.6rem;
  line-height: 1.65;
  color: #333;
  text-indent: -5rem;
  padding-left: 5rem;
  letter-spacing: 1px;
  margin: 2.5rem 0;
}
.intro-box-inner p.text span.num {
  color: var(--bace-blue);
}
.intro-bottom {
  font-size: 3rem;
  line-height: 1.6;
  margin: 3rem 0 7rem 0;
  text-align: center;
  letter-spacing: 1px;
}

@media only screen and (max-width: 768px) {
.intro-box {
  box-sizing: border-box;
  border: 1px solid #999;
  padding: 0.2rem;
  background: #fffae7;
}
.intro-box-inner {
  border: 1px solid #999;
  padding: 1rem 1.5rem 1rem 1.5rem;
}
.intro-box-inner p.text {
  font-size: 1.5rem;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1px;
  margin: .5rem 0 3rem 0;
  text-indent: 0;
  padding-left: 0;
}
.intro-box-inner p.num {
  font-size: 1.4rem;
  color: #fff;
  letter-spacing: 1px;
  margin: .5rem auto;
  padding: .5rem;
  text-align:center;
  background: #564841;
}

.intro-box-inner p.text span.num {
  color: var(--bace-blue);
}
.intro-bottom {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 2rem 0 2rem 0;
  text-align: center;
  letter-spacing: 1px;
}

}

/*-----------------------------------------------------
 * 背景
 *----------------------------------------------------*/
.bg01 {
  background: #ebebeb;
  padding: 0.5rem 0;
  margin: 5rem 0;
}
.bg02 {
  background: #daf2f7;
  padding: 0.5rem 0;
  margin: 5rem 0;
}
.bg03 {
  background: #fffce7;
  padding: 0.5rem 0;
  margin: 5rem 0 0 0;
}

/*-----------------------------------------------------
 * 復習動画
 *----------------------------------------------------*/
.video-ttl {
  margin: 2rem 0;
}
.video-area {
  border: 1px solid #d3cfb6;
  background: url("../img/video_bg.png");
  padding: 2rem;
  box-sizing: border-box;
}
.video-sub {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  margin: 1rem 0;
}
.video-sub .video-thumb {
  border: 1px solid #d3cfb6;
  background: url("../img/video_bg.png");
  padding: 1rem;
  box-sizing: border-box;
  margin: 1rem;
}
.video-sub-text {
  text-align:center;
  margin: 1rem 0;
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px) {
.video-ttl {
  margin: 1.5rem 0;
}
.video-area {
  border: 1px solid #d3cfb6;
  background: url("../img/video_bg.png");
  padding: 0.5rem;
  box-sizing: border-box;
}
.video-sub {
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  margin: 1rem 0;
}
.video-sub .video-thumb {
  border: 1px solid #d3cfb6;
  background: url("../img/video_bg.png");
  padding: 0.5rem;
  box-sizing: border-box;
  margin: 1rem;
}
.video-sub-text {
  text-align:center;
  margin: 1rem 0;
  font-size: 1.4rem;
}
}
/*-----------------------------------------------------
 * vision
 *----------------------------------------------------*/
.vision-wrap {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
.vision-wrap {
  margin-bottom: 2rem;
}
}
/*-----------------------------------------------------
 * 参加
 *----------------------------------------------------*/
.sanka-wrap {
  margin: 2rem auto;
}
@media only screen and (max-width: 768px) {
.sanka-wrap {
  margin: 1.5rem auto;
}
}
/*-----------------------------------------------------
 * できるようになること
 *----------------------------------------------------*/
.dekiru-wrap {
  margin: 3rem auto 5rem auto;
}
@media only screen and (max-width: 768px) {
.dekiru-wrap {
  margin: 2rem auto 2rem auto;
}
}
/*-----------------------------------------------------
 * ロジック
 *----------------------------------------------------*/
.logic-info {
  border: 2px solid #ccc;
  padding: 2rem 3rem;
  margin: 2rem auto;
  box-sizing: border-box;
}
.logic-info p.text {
  font-size: 1.6rem;
  margin: 2rem 0 0 0;
}
.logic-thumb {
  margin: 2rem auto;
}

@media only screen and (max-width: 768px) {
.logic-info {
  border: 2px solid #ccc;
  padding: 1rem 2rem;
  margin: 2rem auto;
  box-sizing: border-box;
}
.logic-info p.text {
  font-size: 1.5rem;
  margin: 2rem 0 0 0;
}
.logic-thumb {
  margin: 2rem auto;
}
}

/*-----------------------------------------------------
 * 講義内容
 *----------------------------------------------------*/
.kougi-thumb {
  margin: 3rem auto;
}

/*-----------------------------------------------------
 * サポート
 *----------------------------------------------------*/
.support-thumb {
  margin: 3rem auto 5rem auto;
}

/*-----------------------------------------------------
 * スケジュール
 *----------------------------------------------------*/
.sch p.text {
  font-size: 1.6rem;
  line-height: 1.6;
  margin: 5rem 0;
}
.sch {
  margin-bottom: 7rem;
}

/*-----------------------------------------------------
 * よくある質問
 *----------------------------------------------------*/
ul.faq {
  list-style:none;
  margin: 0;
  padding: 3rem 0 0 0;
  font-size: 1.6rem;
  line-height: 1.5;
}
ul.faq li.q {
  background: url("../img/icon_q.jpg") left center no-repeat;
  padding: 10px 10px 10px 40px;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 10px;
  font-weight: bold;
}
ul.faq li.a {
  background: url("../img/icon_a.jpg") left top no-repeat;
  padding: 0 10px 10px 40px;
  margin-bottom: 30px;
}

.faq-mv {
  max-width: 720px;
  margin: 2rem auto;
}

@media only screen and (max-width: 768px) {

ul.faq {
  list-style:none;
  margin: 0;
  padding: 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
}
}

/*-----------------------------------------------------
 * 問い合わせ
 *----------------------------------------------------*/
.sup-box {
  border: 5px solid #eee;
  padding: 2rem;
  text-align: center;
  margin-bottom: 5rem;
}
.sup-ttl {
  background: #1a6ba8;
  padding: 1rem;
  text-align: center;
  font-size: 2rem;
  color: #fff;
}
a.inq {
  display: inline-block;
  border: 1px solid #f90;
  font-size: 1.6rem;
  padding: 2rem 3rem;
  text-decoration: none;
  color: #fff;
  background: #f60;
}
a.inq:hover {
  background: #f90;
}
div.inq {
  margin: 2rem 0;
}

/*-----------------------------------------------------
 * プロフィール
 *----------------------------------------------------*/
.prof-box {
  margin: 6rem 0;
}
.movie-thumb {
  margin: 3rem auto;
}
.prof-mv-ttl {
  margin-bottom: 2rem;
}
.prof-mv-wrap {
  max-width: 800px;
  margin: 2rem auto;
}

@media only screen and (max-width: 768px) {
.movie-thumb {
  margin: 3rem auto;
}
}

/*-----------------------------------------------------
 * ムービー
 *----------------------------------------------------*/
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 768px) {
}

/*-----------------------------------------------------
 * 推薦 左
 *----------------------------------------------------*/
.recommend-wrap {
  border-bottom: 1px dotted #133b44;
  padding-bottom: 4rem;
  margin: 6rem 1rem 0rem 1rem;
}
.recommend {
  display: flex;
}
.recommend .recommend-thumb {
  min-width: 180px;
  width: 20%;
}
.recommend .recommend-text {
  width: 80%;
  box-sizing: border-box;
  padding: 0 0 0 2rem;
}
.recommend-text .ttl {
  font-size: 2.4rem;
  margin-bottom: 1rem;
  color: #0e5868;
  font-weight: bold;
  letter-spacing: 1px;
}
.recommend-text .ttl2 {
  font-size: 2.4rem;
  margin-bottom: 1rem;
  color: #28261e;
  font-weight: bold;
  letter-spacing: 1px;
}
.recommend-text .author {
  font-size: 1.8rem;
  margin-bottom: 3rem;
  text-align: right;
  color: #0e5868;
}
.recommend-text .author2 {
  font-size: 1.8rem;
  margin-bottom: 3rem;
  text-align: right;
  color: #28261e;
}
.recommend-text p {
  line-height: 1.75;
  font-size: 1.6rem;
  color: #333;
}
.prof-ttl {
  display: inline-block;
  padding: 0.3rem;
  background: #0e5868;
  color: #fff;
  font-size: 1.3rem;
  margin-top: 3rem;
}
.prof-ttl2 {
  display: inline-block;
  padding: 0.3rem;
  background: #28261e;
  color: #fff;
  font-size: 1.3rem;
  margin-top: 3rem;
}
.recommend-wrap .prof-area {
  display: flex;
}
.recommend-wrap .prof-area .prof-thumb {
  width: 25%;
}
.prof-thumb .thumb-ttl {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: #0e5868;
}
.prof-thumb .thumb-ttl2 {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: #28261e;
}
.recommend-wrap .prof-area .prof-txt {
  color: #0e5868;
  padding-top: 1rem;
  font-size: 1.3rem;
  width: 75%;
  box-sizing: border-box;
  padding-right: 2rem;
}

.recommend-wrap .prof-area .prof-txt2 {
  color: #28261e;
  padding-top: 1rem;
  font-size: 1.3rem;
  width: 75%;
  box-sizing: border-box;
  padding-right: 2rem;
}

.recommend-wrap .prof-area .prof-txt3 {
  color: #28261e;
  padding-top: 1rem;
  font-size: 1.3rem;
  width: 100%;
  box-sizing: border-box;
}


@media only screen and (max-width: 768px) {

.recommend-wrap {
  border-bottom: 1px dotted #133b44;
  padding-bottom: 4rem;
  margin: 2rem 0 0rem 0;
}
.recommend {
  display: flex;
  flex-flow: column;
}
.recommend .recommend-thumb {
  width: 33%;
  margin: 1rem auto;
}
.recommend .recommend-text {
  width: 100%;
  box-sizing: border-box;
  padding: 0;
}
.recommend-text .ttl {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #0e5868;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
}
.recommend-text .ttl2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #28261e;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
}
.recommend-text .author {
  font-size: 1.6rem;
  margin-bottom: 3rem;
  color: #0e5868;
  text-align: center;
}
.recommend-text .author2 {
  font-size: 1.6rem;
  margin-bottom: 3rem;
  color: #28261e;
  text-align: center;
}
.recommend-text p {
  line-height: 1.65;
  font-size: 1.5rem;
  color: #333;
}
.prof-ttl {
  display: inline-block;
  padding: 0.3rem;
  background: #0e5868;
  color: #fff;
  font-size: 1.3rem;
  margin-top: 3rem;
}
.prof-ttl2 {
  display: inline-block;
  padding: 0.3rem;
  background: #28261e;
  color: #fff;
  font-size: 1.3rem;
  margin-top: 3rem;
}
.recommend-wrap .prof-area {
  display: flex;
  flex-flow: column;
}
.recommend-wrap .prof-area .prof-thumb {
  width: 50%;
}
.prof-thumb .thumb-ttl {
  font-size: 1.3rem;
  margin-top: 1rem;
  color: #0e5868;
}
.prof-thumb .thumb-ttl2 {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: #28261e;
}
.recommend-wrap .prof-area .prof-txt {
  color: #0e5868;
  padding-top: 1rem;
  font-size: 1.3rem;
  width: 100%;
  box-sizing: border-box;
  padding-right: 0;
}

.recommend-wrap .prof-area .prof-txt2 {
  color: #28261e;
  padding-top: 1rem;
  font-size: 1.3rem;
  width: 100%;
  box-sizing: border-box;
  padding-right: 0;
}

.recommend-wrap .prof-area .prof-txt3 {
  color: #28261e;
  padding-top: 1rem;
  font-size: 1.3rem;
  width: 100%;
  box-sizing: border-box;
}

}





/*-----------------------------------------------------
 * 推薦 右
 *----------------------------------------------------*/
.recommend2 {
  display: flex;
}
.recommend2 .recommend-thumb {
  min-width: 180px;
  width: 20%;
}
.recommend2 .recommend-text {
  width: 80%;
  box-sizing: border-box;
  padding: 0 2rem 0 0;
}

@media only screen and (max-width: 768px) {
.recommend2 {
  display: flex;
  flex-flow: column;
  flex-direction: column-reverse;
}
.recommend2 .recommend-thumb {
  width: 33%;
  margin: 1rem auto;
}
.recommend2 .recommend-text {
  width: 100%;
  box-sizing: border-box;
  padding: 0;
}
}

/*-----------------------------------------------------
 * フッター
 *----------------------------------------------------*/
.copy-wrapper {
  margin-bottom: 0;
}
.copy {
  font-size: 1.2rem;
  text-align: center;
  padding: 1rem;
  background: #252525;
  color: #fff;
}
.tgp-text{
  margin-top: 4rem;
  text-align: center;
  font-size: 1.4rem;
}
.copy-notice {
  font-size: 1.4rem;
  margin: 2rem auto;
}
.filogo {
  margin: 5rem auto 2rem auto;
}
.fitext{
  padding: 1rem 0;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.8;
}
ul.filink {
  text-align: center;
  padding-bottom: 2rem;
}
ul.filink li {
  display: inline-block;
  font-size: 1.4rem;
  padding-right: 1rem;
}
ul.filink li a {
  color: #333;
  text-decoration: none;
}
ul.filink li a:hover {
  color: #666;
  text-decoration: underline;
}
#go-pagetop{
  right: 20px;
  bottom: 80px;
  position: fixed;
  z-index:2;
}
.clearfix:after{content:".";display:block;clear:both;height:0;visibility:hidden;}
.clearfix{min-height:1px;}
* html .clearfix{height:1px;}

.yureru-updown {
	animation: yureru-updown 2s infinite;
}
@keyframes yureru-updown {
	0% {
		transform: translate(0px, 2px);
	}
	5% {
		transform: translate(0px, -2px);
	}
	10% {
		transform: translate(0px, 2px);
	}
	15% {
		transform: translate(0px, -2px);
	}
	20% {
		transform: translate(0px, 2px);
	}
	25% {
		transform: translate(0px, -2px);
	}
	30% {
		transform: translate(0px, 0px);
	}
}


/*-----------------------------------------------------
 * 比較
 *----------------------------------------------------*/
.hikaku-wrap {
  margin: 2rem auto 5rem auto;
}


/*-----------------------------------------------------
 * お申込み
 *----------------------------------------------------*/
.reg-wrap {
  background: #fff;
  border: 1px solid var(--bace-blue);
  padding: 6rem 3rem;
  margin-bottom: 5rem;
}
.reg-info {
  margin: 2rem 0;
  text-align: center;
  font-size: 1.5rem;
}
.kiyaku {
  font-size: 1.6rem;
  margin: 2rem 0;
  text-align: center;
}
.btn-wrapper {
  margin: 3rem auto;
  max-width: 345px;
}

@media only screen and (max-width: 768px) {
.btn-wrapper {
  margin: 3rem auto;
  max-width: 90%;
}
}

/*-----------------------------------------------------
 * チェックで購入
 *----------------------------------------------------*/
.chkbox-wrapper {
  box-sizing: border-box;
  text-align:center;
  padding: 2rem 0 1rem 0;
  margin: 2rem auto 2rem auto;
  box-sizing: border-box;
  color: #333;
  background: #eee;
  display: block;
  max-width: 60%;
}
.chkbox {
  margin: 0 0 1rem 2rem;
}
/* ラベルのスタイル　*/
.chkbox label {
  padding-left: 3.6rem;
  font-size: 2rem;
  line-height: 3rem;
  display: inline-block;
  cursor: pointer;
  position: relative;
}

/* ボックスのスタイル */
.chkbox label:before {
  content: '';
  width: 32px;  /* ボックスの横幅 */
  height: 32px;  /* ボックスの縦幅 */
  display: inline-block;
  position: absolute;
  left: 0;
  background-color: #fff;
  box-shadow: inset 1px 2px 3px 0px #000;
  border-radius: 6px 6px 6px 6px;
}
/* 元のチェックボックスを表示しない */
.chkbox input[type=checkbox] {
  display: none;
}
/* チェックした時のスタイル */
.chkbox input[type=checkbox]:checked + label:before {
  content: '\2713'; /* チェックの文字 */ 
  font-size: 34px; /* チェックのサイズ */
  color: #fff; /* チェックの色 */
  background-color:	#06f; /* チェックした時の色 */
}

@media only screen and (max-width: 768px) {
.chkbox-wrapper {
  box-sizing: border-box;
  text-align:center;
  padding: 1rem 0 1rem 0;
  margin: 2rem auto 1rem auto;
  box-sizing: border-box;
  color: #333;
  background: #eee;
  display: block;
  max-width: 90%;
}
.chkbox {
  margin: 0 0 1rem 2rem;
}
/* ラベルのスタイル　*/
.chkbox label {
  padding-left: 3.6rem;
  font-size: 1.6rem;
  line-height: 2.5rem;
  display: inline-block;
  cursor: pointer;
  position: relative;
}

/* ボックスのスタイル */
.chkbox label:before {
  content: '';
  width: 32px;  /* ボックスの横幅 */
  height: 32px;  /* ボックスの縦幅 */
  display: inline-block;
  position: absolute;
  left: 0;
  background-color: #fff;
  box-shadow: inset 1px 2px 3px 0px #000;
  border-radius: 6px 6px 6px 6px;
}
/* 元のチェックボックスを表示しない */
.chkbox input[type=checkbox] {
  display: none;
}
/* チェックした時のスタイル */
.chkbox input[type=checkbox]:checked + label:before {
  content: '\2713'; /* チェックの文字 */ 
  font-size: 34px; /* チェックのサイズ */
  color: #fff; /* チェックの色 */
  background-color:	#06f; /* チェックした時の色 */
}
}


/*-----------------------------------------------------
 * タイマー
 *----------------------------------------------------*/
.header-timer {
  background: #378090;
  padding: 1rem 0;
  font-size: 2rem;
  text-align: center;
  color: #fff;
  letter-spacing: 2px;
}
@media only screen and (max-width: 768px) {
.header-timer {
  background: #378090;
  padding: 1rem 0;
  font-size: 1.6rem;
  text-align: center;
  color: #fff;
  letter-spacing: 1px;
}
}

/*-----------------------------------------------------
 * 規約
 *----------------------------------------------------*/
.kiyaku-info {
  border: 2px solid #ccc;
  padding: 3rem 3rem 4rem 3rem;
  margin: 3rem auto;
  box-sizing: border-box;
  background: #fff;
}
.kiyaku-info2 {
  border: 2px solid #ccc;
  padding: 2rem 3rem 3rem 3rem;
  margin: 3rem auto;
  box-sizing: border-box;
  background: #fff;
}
.kiyaku-info .ttl-wrapper,
.kiyaku-info2 .ttl-wrapper {
  text-align: center;
}
.kiyaku-info .ttl {
  display: inline-block;
  background: #f9db74;
  padding: 1rem 2rem;
  margin: 0 auto;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: #222;
}
.kiyaku-info p.text {
  font-size: 1.5rem;
  margin: 1.5rem 0 0 0;
}
.kiyaku-info .ttl2 {
  display: inline-block;
  padding: 3rem 0 0 0;
  margin: 0 auto;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: #222;
  border-bottom: 1px solid #222;
}

@media only screen and (max-width: 768px) {

}


/*-----------------------------------------------------
 * プレゼントステップ
 *----------------------------------------------------*/
.entry-ttl {
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  padding: 0.2rem;
  background: #f94141;
  text-align: center;
  margin-top: 3rem;
}
.entry-ttl-inner {
  padding: 1rem 0;
  text-align: center;
  border: 1px solid #fff;
}
.entry-step {
  border: 2px solid #f94141;
  border-width: 0 2px 2px 2px;
  padding: 3rem 3rem 4rem 3rem;
  margin: 0 auto 3rem auto;
  box-sizing: border-box;
  background: #fff;
}
.entry-step .ttl-wrapper {
  text-align: center;
}
.entry-step .ttl {
  display: inline-block;
  background: #f94141;
  padding: 1rem 2rem;
  margin: 0 auto;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
}
.entry-step p.text {
  font-size: 1.5rem;
  margin: 1.5rem 0 0 0;
}
.amazonbtn {
  margin: 1rem auto 3rem auto;
}
.amazonbtn a {
  display: block;
  max-width: 360px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {

}


/*-----------------------------------------------------
 * フォーム
 *----------------------------------------------------*/

.form-wrapper {
  margin: 2rem auto;
}
.formtable {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #8ab6c0;
  border-collapse: collapse;
  background: #fff;
}
.formtable td,
.formtable th {
  padding: 2rem 1rem;
  border: 1px solid #8ab6c0;
  font-size: 1.6rem;
  color: #444;
}
.formtable th {
  background: #bcdae1;
  color: #333;
  white-space: nowrap;
}
.nameform {
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #333;
  padding: 1rem 1rem;
  max-width: 350px;
}
.mailform {
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #333;
  padding: 1.5rem 1rem;
  max-width: 600px;
}
.txtarea {
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #333;
  padding: 1.5rem 1rem;
  width: 100%;
}
.chktxt {
  margin: 1rem;
}
.chk {
  border: 1px solid #ccc;
}
span.hissu {
  color: #db2238;
}
p.exp {
  color: #666;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
.formbtn-wrapper {
  margin: 2rem auto;
  max-width: 414px;
}
.form-chk {
  margin: 2rem;
  text-align: center;
  font-size: 1.6rem;
}
.form-notice {
  font-size: 1.2rem;
  color: #444;
  padding: 2rem 0;
  line-height: 1.5;
}


@media only screen and (max-width: 768px) {

.form-wrapper {
  margin: 1.5rem auto;
}
.formtable {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #8ab6c0;
  border-collapse: collapse;
  background: #fff;
}
.formtable td,
.formtable th {
  padding: 1rem 1rem;
  border: 1px solid #8ab6c0;
  font-size: 1.6rem;
  color: #444;
  display: block;
}
.formtable th {
  background: #bcdae1;
  color: #333;
  white-space: nowrap;
}
.nameform {
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #333;
  padding: 1rem 1rem;
  width: 100%;
}
.mailform {
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #333;
  padding: 1.5rem 1rem;
  width: 100%;
}
.txtarea {
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #333;
  padding: 1.5rem 1rem;
  width: 100%;
}
.chktxt {
  margin: 1rem;
}
.chk {
  border: 1px solid #ccc;
}
span.hissu {
  color: #db2238;
}
p.exp {
  color: #666;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
.formbtn-wrapper {
  margin: 2rem auto;
  max-width: 414px;
}
.form-chk {
  margin: 2rem;
  text-align: center;
  font-size: 1.6rem;
}
.form-notice {
  font-size: 1.2rem;
  color: #444;
  padding: 2rem 0;
  line-height: 1.5;
}




}



/*-----------------------------------------------------
 * プロフィール
 *----------------------------------------------------*/
.prof-name {
  font-size: 3.4rem;
  color: #1e3337;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 2rem;
}
.prof-text {
  font-size: 1.6rem;
  line-height: 1.7;
  color: #333;
}
.prof-insta {
  margin: 3rem 0;
}
.media-ttl-wrap {
  text-align: center;
  margin: 2rem 0 2rem 0;
}
.media-ttl {
  background: #378090;
  display: inline-block;
  font-size: 1.8rem;
  color: #fff;
  padding: 1rem 2rem;
}


/*-----------------------------------------------------
 * 章立て
 *----------------------------------------------------*/
.index-thumb {
  margin: 3rem auto;
}
.two-box {
  display: flex;
  margin: 4rem 0 0 0;
  justify-content: space-between;
}
.two-item {
  box-sizing: border-box;
  margin: 0 2rem;
  width: 100%;
}
.koumoku {
  margin-bottom: 3rem;
}
.koumoku li {
  font-size: 1.4rem;
  margin: 0.3rem 0;
  color: #444;
}

@media only screen and (max-width: 768px) {
.two-box {
  display: flex;
  margin: 2rem 0 0 0;
  justify-content: space-between;
  flex-flow: column;
}
.two-item {
  box-sizing: border-box;
  margin: 0 0;
  width: 100%;
}
.koumoku {
  margin-bottom: 2rem;
}
.koumoku li {
  font-size: 1.3rem;
  margin: 0.3rem 0;
  color: #444;
}

}
@media only screen and (max-width: 768px) {
div.img-right {
  width: 40%;
  margin: 1rem auto;
  float: none;
}
.mt8 {
  margin-top: 3rem !important;
}
}










