@charset "UTF-8";

/*! normalize.css v3.0.2 | MIT License | git.io/normalize*/
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

::-moz-selection {
  background: #e7e7e7;
}

::selection {
  background: #e7e7e7;
}

html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  line-height: 1.15;
/*  -ms-overflow-style: scrollbar;*/
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

body {
/*  overflow-x: hidden;
  overflow-y: scroll;*/
  overflow-x: hidden;
  overflow-y: scroll;
  width: 100%;
  height: 100%;
  background: #fff;
  font: normal normal normal 1.2rem/1 "Zen Maru Gothic", "Allura", serif;
  color: #050505;
  letter-spacing: 0;
  word-break: break-all;
  -ms-content-zooming: none;
  -webkit-font-smoothing: antialiased;
  -webkit-overflow-scrolling: touch;
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb;
}

@media screen and (min-width: 768px) {
  body {
    font-size: 1.5rem;
  }
}

body[data-bodyfixed='true'] {
  position: relative;
  left: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video,
img {
  display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

small {
  font-size: inherit;
}

address {
  font: inherit;
}

ul,
ol {
  list-style: none;
}

img,
picture,
video {
  max-width: 100%;
  height: auto;
}

img {
  border-style: none;
  vertical-align: middle;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

input,
button,
select,
textarea {
  border: none;
  border-radius: 0;
  background: transparent;
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  overflow-y: auto;
  resize: vertical;
}

[type='submit'],
[type='button'],
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

[hidden] {
  display: none;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(.focus-visible) {
  outline: 0;
}


/*------------------------------------------------------------
賢威テンプレートの共通設定
-------------------------------------------------------------*/
a {
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	color: #03c;
}

a:hover,
a:active,
a:focus {
	color: #f60;
}

address,
caption,
cite,
code,
dfn,
var,
h1,
h2,
h3,
h4,
h5,
h6 {
	font-style: normal;
	font-weight: normal;
}

q {
	quotes: none;
}

q:before,q:after {
	content: '';
	content: none;
}

img {
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}

div {
	word-wrap: break-word;
}

pre {
	overflow: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}

form {
	margin: 0;
}

button,
input,
select,
textarea,
optgroup,
option {
	vertical-align: baseline;
}

select {
	max-width: 100%;
}

textarea {
	min-height: 100px;
	vertical-align: top;
}

button::-moz-focus-inner,
input::-moz-focus-inner{
	margin: 0;
}

table {
	width: 100%;
	word-break: break-all;
	word-wrap: break-word;
	border-spacing: 0;
}

caption {
	text-align: left;
}

img {
	height: auto;
	max-width: 100%;
}

img {
	max-width: none\9;/*IE8への対応*/
}

html:not(:target) img{
    max-width: 100%; /*IE9以上への対応*/
}
/*

p{
	margin: 0 1em 1em 1em;
}

ul, ol, dl{
  padding: 0;
  margin: 0;
}



li{
	margin-bottom: 0.5em;
}
*/
/*引用*/
blockquote{
	position: relative;
	margin: 2em 0;
	padding: 115px 45px 80px;
	background: #eeeeee;
}

blockquote p:last-child{
	margin-bottom: 0;
}

blockquote:before{
	position: absolute;
	top: 40px;
	left: 30px;
	width: 58px;
	height: 45px;
	content: url(./images/icon/icon-laquo.png);
}

blockquote:after{
	position: absolute;
	right: 30px;
	bottom: 20px;
	width: 58px;
	height: 45px;
	content: url(./images/icon/icon-raquo.png);
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){

		blockquote:before{
			display: inline-block;
			width: 58px;
			height: 45px;
			vertical-align: middle;
			background: url(./images/icon/icon-laquo@2x.png);
			-webkit-background-size: 58px 45px;
			background-size: 58px 45px;
			content: " ";
		}

		blockquote:after{
			display: inline-block;
			width: 58px;
			height: 45px;
			vertical-align: middle;
			background: url(./images/icon/icon-raquo@2x.png);
			-webkit-background-size: 58px 45px;
			background-size: 58px 45px;
			content: " ";
		}

	}

blockquote a{
	color: #15a5e6;
}

blockquote a:hover,
blockquote a:active,
blockquote a:focus{
	color: #f60;
}

q{
	background: #ccc;
}

/*table{
	width: 100%;
	margin: 1em 0;
	padding: 0;

}*/

th{
	width:180px;
	padding: 0;
	vertical-align: middle;
}

td{
	padding: 1em 0 1em 2em;
	vertical-align: middle;
}
input,
textarea,
select {box-shadow: 0px 1px 2px 0px #ddd inset;border-radius: 4px;}

thead th{
	background-color: #dd6c11;
	color: #fff;
	text-align: center;
}

dd{
	margin-left: 0;
	padding-left: 1em;
}

figure{
	margin: 1em 0;
}

.pt-50 {
	padding-top: 50px;
}

.ls-2 {
	letter-spacing: 2px;
}

/*--------------------------------------------------------
テンプレートレイアウト
--------------------------------------------------------*/
.header {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.site-header,
.global-nav,
.main-body,
.site-footer{
	min-width: 1120px;
}
.site-header-in,
.global-nav-in,
.main-image-in,
.main-image-in-text,
.main-image-in-text-cont,
.main-body-in,
.site-footer-in{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
/*	width: 1120px;*/
	margin: auto;
}

.main-image-in img{
	width: 100%;
}

.main-image-in.wide,
.main-image-in-text.wide{
	width: 100%;
}

/*1カラムレイアウト*/
.col1 .main-body-in{
	width: 100%;
}

.col1 .breadcrumbs{
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
}


/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/

/*ヘッダーロゴ*/

.site-title{
	text-align:center;
	position: relative;
	background-color: #eefbfb;
/*	background: url("../img/bg_block1.png");*/
}

.site-title .img-header {
	width: 100%;
}

.site-title .img_top_diary {
	position: absolute;
	top: 20%;
  left: 10%;
	width: 240px;
}

@media screen and (max-width: 1080px) {
	.site-title .img_top_diary {
		width: 220px;
	}
}

@media screen and (max-width: 1024px) {
	.site-title .img_top_diary {
		width: 180px;
	}
}

@media screen and (max-width: 840px) {
	.site-title .img_top_diary {
		width: 160px;
	}
}


.swing-image {
width: 240px;
/*display: block;*/
transform-origin: top center;
animation: nya-swing 3s ease-in-out infinite alternate;
}

@keyframes nya-swing {
0% {
transform: rotate(-5deg);
}
100% {
transform: rotate(5deg);
}
}

.site-title a{
	text-decoration: none;
}
.site-title a:hover,
.site-title a:active,
.site-title a:focus{
	text-decoration: none;
}

.normal-screen .site-title{
	font-size: 3em;
}
.normal-screen .lp-catch{
	font-size: 1.5em;
}

/*ヘッダー右側の要素*/
.header-box{
	display: table-cell;
	text-align: right;
}

/*ヘッダーの全画面表示*/
.full-screen{
	-webkit-background-size: cover;
	background-size: cover;
	color: #fff;
}

.full-screen .site-header-in{
	display: table;
}

.full-screen .site-header-conts{
	display: table-cell;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	padding: 1em;
	text-align: center;
	vertical-align: middle;
	text-shadow: 1px 1px 8px #666;
}

.full-screen .site-title{
	display: block;
}

.contact-btn{
	margin-bottom: 0;
}

.full-screen .site-header-conts h1{
	width: auto;
	margin: 0;
}

.full-screen .site-header-conts p{
	font-size: 2em;
}

.full-screen .site-header-conts p a{
	color: #fff;
	text-decoration: none;
}


/*--------------------------------------------------------
グローバルナビ
--------------------------------------------------------*/
.global-nav {
	padding: 0;
	background: #F6F7F2;
}

/*グローバルナビの開閉用ボタン*/
.global-nav-panel{
	display: none;
	font-size: 12px;
}

.global-nav-panel span{
	display: block;
	min-height: 20px;
	line-height: 20px;
}

.icon-gn-menu{
	padding-left: 25px;
	background: url(./images/icon/icon-gn-menu.png) left center no-repeat;
}

.icon-gn-close{
	padding-left: 25px;
	background: url(./images/icon/icon-gn-close.png) left center no-repeat;
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){
		.icon-gn-menu{
			background: url(./images/icon/icon-gn-menu@2x.png) left center no-repeat;
			-webkit-background-size: 20px 20px;
			background-size: 20px 20px;
		}

		.icon-gn-close{
			background: url(./images/icon/icon-gn-close@2x.png) left center no-repeat;
			-webkit-background-size: 20px 20px;
			background-size: 20px 20px;
		}
	}

.global-nav .show-menu,
.global-nav .show-menu li ul{
	display: block!important;
}

.global-nav-in ul{
	display: table;
	width: 100%;
	margin: 0;
	padding: 0;
	border-left: 1px solid #bcbcbc;
	table-layout: fixed; /*メニューの幅を均等に*/
}

.global-nav-in li{
	display: table-cell;
	list-style: none;
	position: relative;
	vertical-align: middle;
	margin: 0;
	border-right: 1px solid #bcbcbc;
	text-align: center;
}

.global-nav-in li a{
	display: block;
	min-height: 1.5em; /*メニュー毎に高さが変わるときに調整*/
	padding: 1em; /*画像をメニューにする場合は値を0に*/
	background-color: #e78435;
	color: #fff;
	text-decoration: none;
}

.global-nav-in li a:hover,
.global-nav-in li a:active,
.global-nav-in li a:focus{
	background-color: #eee;
	color: #333;
}

.global-nav-in li ul{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	width: 100%;
	border-left: 0;
}

/*ドロップダウンメニューのデザイン*/
.global-nav li ul li{
	display: list-item;
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: 0;
	border-right: 0;
	white-space: normal;
}

.global-nav li ul li a{
	display: block;
	padding: 0.8em 2em;
}

.global-nav-in li ul ul{
	top: 0;
	left: 100%;
}

/*--------------------------------------------------------
メインボディ
--------------------------------------------------------*/
.main-body{
	margin-top: 50px;
	padding-bottom: 0px;
}

/*--------------------------------------------------------
メインコンテンツ
--------------------------------------------------------*/
.main-conts{
	line-height: 2.2;
	font-size: 16px;
	letter-spacing: -0.05em;
}

/*コンテンツの基本単位（「section-wrap」＋「section-in」でコンテンツを覆う）*/
.section-wrap{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 0px;
	padding: 50px;
	padding: 0;
/*	border: 1px solid #ccc;*/
}

.section-wrap.wide{
	border-right: 0;
	border-left: 0;
}

.section-wrap.wide.bgcolor{
	background: #ECF7FB;
}


.section-wrap .section-in,
.float-area{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.float-area{
	margin-bottom: 10px;
}

/*1カラムレイアウト*/
.col1 .section-wrap,
.col1 .float-area{
/*	width: 1200px;*/
	margin-right: auto;
	margin-left: auto;
}

.col1 .section-wrap{
	padding: 40px 100px;
}

.col1 .section-wrap.wide{
/*	width: 100%;
*//*	padding: 40px 10px;*/
}

.col1 .section-wrap.wide .section-in {
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding: 0;
}

@media screen and (max-width: 768px) {
  .col1 .main-conts .section-wrap.wide .section-in {
	  padding: 20px 0 40px;
  }
}

@media screen and (max-width: 940px) {
  .col1 .main-conts .section-wrap.wide.-tokuten .section-in {
  	margin-top: -50px;
  }
}

@media screen and (max-width: 768px) {
  .col1 .main-conts .section-wrap.wide.-tokuten .section-in {
  	margin-top: -100px;
	  padding: 0 0 50px;
  }
}

@media screen and (max-width: 560px) {
  .col1 .main-conts .section-wrap.wide.-tokuten .section-in {
  	margin-top: -80px;
  }
}

@media screen and (max-width: 480px) {
  .col1 .main-conts .section-wrap.wide.-tokuten .section-in {
  	margin-top: -50px;
  }
}

.col1 .section-wrap.wide.-tokuten {
  padding: 10px;
}

.section-wrap .section-desc {
/*	padding-bottom: 50px;*/
	font-size: 1.8rem;
/*	text-align: center;*/
	line-height: 2.0;
	letter-spacing: .2rem;
} 

@media screen and (max-width: 1024px) {
  .section-wrap .section-desc {
	  padding: 0 30px 50px;
	  font-size: 1.6rem;
  } 
}

@media screen and (max-width: 768px) {
  .section-wrap .section-desc {
	  padding-bottom: 50px;
	  padding: 0 2rem 50px;
	  font-size: 1.4rem;
	  letter-spacing: 0;
  } 
}

@media screen and (max-width: 480px) {
  .section-wrap .section-desc {
/*	  padding-bottom: 0;*/
	  padding: 0 2rem 0;
	  font-size: 1.5rem;
  } 
}

.fnt-75 {
  font-size: 75%;
}

.-font-s20 {
	font-size: 33px;
  font-weight: 700;
/*	letter-spacing: .3rem;*/
}

@media screen and (max-width: 1024px) {
  .-font-s20 {
	  font-size: 28px;
  } 
}

@media screen and (max-width: 768px) {
  .-font-s20 {
	  font-size: 1.4rem;
    font-weight: 600;
		letter-spacing: .1rem;
  }
}

@media screen and (max-width: 480px) {
  .-font-s20 {
	  font-size: 1.3rem;
		letter-spacing: 0;
  }
}

.-font-s30 {
	font-size: 2.4rem;
  font-weight: 700;
	letter-spacing: .3rem;
}

@media screen and (max-width: 1024px) {
  .-font-s30 {
	  font-size: 2.1rem;
    font-weight: 600;
	  letter-spacing: .1rem;
  }
}

@media screen and (max-width: 768px) {
  .-font-s30 {
	  font-size: 1.8rem;
		letter-spacing: .1rem;
  }
}

@media screen and (max-width: 480px) {
  .-font-s30 {
	  font-size: 1.6rem;
  } 
}

.section-wrap .section-desc .fnt-c-g {
  color: #b18146;
}

/*--------------------------------------------------------
フッター
--------------------------------------------------------*/
.site-footer{
	text-align:center;
}

.site-footer-in a{
	color: #2d2d2d;
	text-decoration: none;
}

.site-footer-in a:hover,
.site-footer-in a:active,
.site-footer-in a:focus{
	color: #0047B9;
	text-decoration:underline;
}

/*フッターナビ*/
.site-footer-nav{
	margin: 0 auto;
	padding: 1em 0;
	text-align: center;
}

.site-footer-nav li{
	display: inline;
	list-style: none;
	margin-left: 50px;
	padding: 0 0 0 13px;
	background: url(./images/icon/icon-arw-next02.png) left center no-repeat;
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){

		.site-footer-nav li{
			background: url(./images/icon/icon-arw-next02@2x.png) left center no-repeat;
			-webkit-background-size: 7px 10px;
			background-size: 7px 10px;
		}

	}

.site-footer-nav li:first-child{
	margin-left: 0;
}

/*コピーライト*/
.copyright{
	margin: 0;
	padding: 5px 0 15px 0;
	background: #72c7c7;
	color: #2d2d2d;
	text-align: center;
/*	font-size: 0.7em;*/
}

.p-global-footer-sns {
	margin: 10px 0;
}
.p-global-footer-sns-wrap {
  display: -webkit-box;
  display: flex;
  justify-content: center;
  list-style: none;
}

#global-nav .p-global-footer-sns {
	display: none;
}

@media screen and (max-width: 900px) {
	.open #global-nav .p-global-footer-sns {
		display: block;
	}
  #global-nav .p-global-footer-sns-wrap {
    display: -webkit-box;
    display: flex;
    justify-content: center;
    list-style: none;
  }

}
.p-global-footer-sns-item {
	margin: 0 10px;
	min-width: 20px;
  font-size: 19px;
}

.p-global-footer-sns-item.-icon-amazon a {
	margin-top: 1px;
}

.p-global-footer-sns-item a {
  color: #000;
  text-decoration: none;
}

/*ページトップボタン*/
.page-top{
	display: none;
	position: fixed;
	right: 0px;
	bottom: 5px;
	z-index: 99;
	line-height: 1.2;
	margin-bottom: 0;
}

#pageTop {
  position: fixed;
  bottom: 5px;
  right: 15px;
  z-index: 999;
}

#pageTop a {
  display: block;
  z-index: 999;
  padding: 0px;
  text-decoration: none;
  text-align: center;
-webkit-filter:drop-shadow(0px 2px 2px rgba(0,0,0,0.5));
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

#btnAmazon {
  position: fixed;
  bottom: 80px;
  right: 15px;
  z-index: 999;
}
@media screen and (max-width: 1024px) {
  #btnAmazon {
	  position: fixed;
	  bottom: 10px;
	  right: 88px;
	  z-index: 999;
  }
}

#btnAmazon a {
  display: block;
  z-index: 999;
  padding: 0px;
  text-decoration: none;
  text-align: center;
/*-webkit-filter:drop-shadow(0px 2px 2px rgba(0,0,0,0.5));*/
  display: block;
/*  padding: 25px 30px;*/
  padding: 10px 0 5px;
/*  border-radius: 50px;*/
  background-color: #FFFA00;
  background-image: url(/assets/img/icons/arrow@2x.png);
  background-repeat: no-repeat;
  background-size: 40px;
  background-position: right 20px center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
/*  background-color: #fe9802;*/
  background-color: #fff;
  border: 1px solid #ccc;
}

#btnAmazon img {
  width: 200px;
}

@media screen and (max-width: 1024px) {
	#btnAmazon img {
	  width: 160px;
	}
/*  #btnAmazon a {
  	padding: 15px 20px;
    font-size: 16px;
  }*/
}


#btnAmazon a:hover {
  text-decoration: none;
  opacity: 0.7;

}

.fix-bottom-link {
  position: fixed;
  bottom: 0;
  text-align: center;
  right: 0;
  left: 0;
  background: rgba(255,255,255,0.7);
  padding: 10px
}

.fix-bottom-link .btn-red{
	padding: 5px 30px 3px 30px
}
/*--------------------------------------------------------
見出し
--------------------------------------------------------*/

.section-in > h1:first-child/*,
.section-in > h2:first-child,
.section-in > h3:first-child,
.section-in > h4:first-child,
.section-in > h5:first-child,
.section-in > h6:first-child*/{
	margin-top: 0;
}

.main-body h1{
	margin: 0px auto;
}

.main-body h4{
	margin: 55px 0 25px 0;
	padding: 0 0 0 5px;
}

/*画像を使う場合などに見出しのデザインを解除*/
.main-body .img-title{
	padding: 0;
	border: none;
	background: none;
	border-radius: 0;
	box-shadow: none;
	font-weight: normal;
	font-size: 1.0em;
}

/*コンテンツの外にある見出し*/
.main-body .archive-title{
	margin: 0 0 30px;
}

.col1 .main-body .archive-title{
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}

/*記事タイトルや基本単位毎の最初の見出し*/
.section-wrap .section-title{
	line-height: 1.5;
	margin: 0 0 1em 0;
	padding: 0;
	border: none;
}

.sub-conts .section-wrap .section-in .section-title,
.sub-conts .section-wrap .article-header .section-title{
	margin: 0 -20px 30px;
	padding: 0 0 .5em 0;
	border-bottom: 4px double #FE7902;
	font-weight: normal;
	font-size: 1.125em;
}

/*--------------------------------------------------------
パーツ毎のスタイル
--------------------------------------------------------*/
/*記述リスト 横並び*/
.dl-style01 dt,
.dl-style01 dd{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 20px;
}

.dl-style01 dt{
	display: block;
	float: left;
	width: 35%;
}

.dl-style01 dd{
	padding-left: 35%;
	border-bottom: 1px solid #bbb;
}

/*記述リスト 縦並び*/
.dl-style02 dt,
.dl-style02 dd{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 20px;
	border-bottom: 1px solid #fff;
}

.dl-style02 dt{
	display: block;
	background: #dd6c11;
	color: #fff;
}

.dl-style02 dd{
	background: #e9e9e9;
}

/*テーブル（横幅がはみ出る場合にテーブルを囲む要素に設定）*/
.table-scroll{
/*	overflow-x: auto;*/
	-webkit-overflow-scrolling: touch;
}

/*カテゴリー*/
.category-list{
    margin-left: 0;
    padding-left: 0;
}
 
.category-list li{
    list-style: none;
    margin-bottom: 1em;
    padding-left: 15px;
    background: url(./images/icon/icon-tag.png) left 6px no-repeat;
}
 
    /*Retina（高解像度）ディスプレイ用*/
    @media screen and (-webkit-min-device-pixel-ratio:2),
    (min-resolution: 2dppx){
 
        .category-list li{
            background: url(./images/icon/icon-tag@2x.png) left 6px no-repeat;
            -webkit-background-size: 12px 12px;
            background-size: 12px 12px;
        }
 
    }
 
.category-list ul{
    margin-top: 1em;
    margin-left: 10px;
    padding-left: 0;
}

/*段組*/
.col4-wrap,
.col3-wrap,
.col2-wrap {
	margin: 0 0 1em;
}

.col4-wrap .col,
.col4-wrap .col_2of4,
.col4-wrap .col_3of4,
.col3-wrap .col,
.col3-wrap .col_2of3,
.col2-wrap .col {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left;
	margin-left: 2%;
}

.col4-wrap .col:first-child,
.col4-wrap .col_2of4:first-child,
.col4-wrap .col_3of4:first-child,
.col3-wrap .col:first-child,
.col3-wrap .col_2of3:first-child,
.col2-wrap .col:first-child {
	margin-left: 0;
}

.col4-wrap .col{
	width: 23.5%;
}

.col4-wrap .col_2of4{
	width: 49%;
}

.col4-wrap .col_3of4{
	width: 74.5%;
}

.col3-wrap .col{
	width: 32%;
}

.col3-wrap .col_2of3{
	width: 66%;
}

.col2-wrap .col{
	width: 49%;
}

.col-link{
	border: 1px solid #ccc;
}

.col-link a{
	display: block;
	color: #333;
	text-decoration: none;
}

.col-link a:hover,
.col-link a:active,
.col-link a:focus{
	background: #eee;
}

/*バナーエリア*/
.banner-list{
	margin-left: 0;
}

.banner-list li{
	list-style: none;
}

.col1 .banner-list{
	text-align: center;
}

.col1 .banner-list li,
.main-conts .banner-list li{
	display: inline-block;
	margin-bottom: 1em;
	margin-left: 1em;
}

.col1 .banner-list li:first-child,
.main-conts .banner-list li:first-child{
	margin-left: 0;
}

/*引用元へのリンク*/
.link-ref{
	text-align: right;
}

/*動画などのレスポンシブ対応*/
embed, iframe, object, video{
	max-width: 100%;
}

.col1 .cast-box02 .cast{
	min-height: 210px;
	padding-top: 0;
}

.col1 .cast-box02 .cast-name,
.col1 .cast-box02 .cast-profile{
	padding-left: 210px;
}

.col1 .cast-box02 .cast .cast-headshot{
	width: auto;
}

.bubble {
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 80%;
	min-height: 60px;
	margin-bottom: 2em;
	padding: 1em;
	border: 1px solid #ccc;
	background: #fff;
-webkit-filter:drop-shadow(0px 2px 2px rgba(0,0,0,0.5));
}

.bubble .bubble-in{
	border-color: #fff;
}

/*順位の無しのリスト*/
.main-body .post-list01,
.main-body .post-list02{
	margin-right: 0;
	margin-left: 0;
}

.main-body .post-list01 li,
.main-body .post-list02 li{
	list-style: none;
	overflow: hidden;
	margin-bottom: 40px;
}
.main-body .review-desc-title{
	overflow: hidden;
	margin-top: 0;
	margin-bottom: 1em;
	padding: 0 0 0 14px;
	border: none;
	border-left: 4px solid #fb8e2d;
	background: none;
	font-weight: normal;
	font-size: 1.125em;
}


/*お客様の声*/
.voice-box{
	padding: 30px;
	background: #eee;
}

.voice-content{
	overflow: hidden;
}

/*画像とテキストの組み合わせ*/
.col-onimage > .col{
	position: relative;
	overflow: hidden;
}

.col-onimage > .col .text-onimage{
	position: absolute;
	bottom: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 10px;
	background-color: rgba(0,0,0,0.5);
	background-color: #000000\9; /*IE8への対応*/
	color: #fff;
}

html:not(:target) .col-onimage > .col .text-onimage{
	background-color: rgba(0,0,0,0.5); /*IE9以上への対応*/
}

.col-onimage02 > .col{
	background-position: center center;
	background-size: cover;
}

.col-onimage02 > .col .text-onimage{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 20px;
	background-color: rgba(0,0,0,0.5);
	background-color: #000000\9; /*IE8への対応*/
	color: #fff;
}

html:not(:target) .col-onimage02 > .col .text-onimage{
	background-color: rgba(0,0,0,0.5); /*IE9以上への対応*/
}

.col-onimage > .col .text-onimage a,
.col-onimage02 > .col a{
	color: #fff;
}

.col-onimage > .col .text-onimage a:hover,
.col-onimage > .col .text-onimage a:active,
.col-onimage > .col .text-onimage a:focus,
.col-onimage02 > .col a:hover,
.col-onimage02 > .col a:active,
.col-onimage02 > .col a:focus{
	color: #f60;
}

.page-nav ol{
	margin-left: 0;
	text-align: center;
}

.page-nav li{
	display: inline-block;
	margin-right: 10px;
	padding: 4px 8px;
	border: 1px solid #c1c1c1;
}

.page-nav li:last-child{
	margin-right: 0;
}

.page-nav li a{
	display: block;
	margin: -4px -8px;
	padding: 4px 8px;
	color: #333;
	text-decoration: none;
}

.current,
.page-nav li a:hover,
.page-nav li a:active,
.page-nav li a:focus{
	background: #c1c1c1;
	color: #fff;
}

.page-nav-bf ul{
	margin-left: 0;
}

.page-nav-bf li{
	list-style: none;
}

.page-nav-next{
	float: right;
	padding-right: 13px;
	background: url(./images/icon/icon-arw-next.png) right center no-repeat;
}

.page-nav-prev{
	float: left;
	padding-left: 13px;
	background: url(./images/icon/icon-arw-prev.png) left center no-repeat;
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){

		.page-nav-next{
			background: url(./images/icon/icon-arw-next@2x.png) right center no-repeat;
			-webkit-background-size: 7px 10px;
			background-size: 7px 10px;
		}

		.page-nav-prev{
			background: url(./images/icon/icon-arw-prev@2x.png) left center no-repeat;
			-webkit-background-size: 7px 10px;
			background-size: 7px 10px;
		}

	}


/*--------------------------------------------------------
デザイン調整用のスタイル
--------------------------------------------------------*/

/*注記*/
.note{
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}

.note2{
	display: block;
	padding-left: 2em;
	text-indent: -2em;
}

/*必須項目・警告・エラーの文字色*/
.warning,
.error{
	color: #e53935!important;
}

/*傍点*/
.dot{
	position: relative;
	padding-top: 5px;
}

.dot:before{
	position: absolute;
	top: 0;
	left: 50%;
	width: 0.2em;
	height: 0.2em;
	margin-left: -.1em;
	background: #333;
	border-radius: 50%;
	content: "";
}
	
/*装飾
※IE8等古いブラウザを除く*/
.shadow{
	box-shadow: 4px 4px 0px #e9e9e9;
}

.shadow02{
	box-shadow: 0px 0px 4px #666;
}

.outline{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #ccc;
}

.frame{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	max-width: 95%;
	padding: 8px;
	background: #fff;
	box-shadow: 0px 0px 8px #666;
}

.border{
	border: 1px solid #ccc;
}

html:not(:target) .transparent-panel{
    background-color: rgba(255,255,255,0.7); /*IE9以上への対応*/
}

/*回り込み
※モバイル時にも解除されない*/
.fl-l{
	float: left;
	margin: 0 3em 0 0;
}

.fl-r{
	float: right;
	margin: 0 0 1em 1em;
}

.fl-c{ clear: both; }

/*回り込み
※モバイル時には回り込み解除*/
.left{
	float: left;
	margin: 0 2em 1em 0;
}

.right{
	float: right;
	margin: 0 0 2em 1em;
}

/*文字の横位置*/
.al-l{ text-align: left; }
.al-r{ text-align: right; }
.al-c{ text-align: center; }

/*文字の縦位置*/
.vl-t{ vertical-align: top!important; }/*上寄せ*/
.vl-m{ vertical-align: middle!important; }/*中央寄せ*/
.vl-b{ vertical-align: bottom!important; }/*下寄せ*/

/*周りのブロックからの距離（margin）*/
.m0{ margin: 0!important; }/*周りからのmarginを0に*/
.m0-t{ margin-top: 0!important; }/*上からのmarginを0に*/
.m0-r{ margin-right: 0!important; }/*右からのmarginを0に*/
.m0-b{ margin-bottom: 0!important; }/*下からのmarginを0に*/
.m0-l{ margin-left: 0!important; }/*左からのmarginを0に*/

.m5{ margin: 5px!important; }
.m5-t{ margin-top: 5px!important; }
.m5-r{ margin-right: 5px!important; }
.m5-b{ margin-bottom: 5px!important; }
.m5-l{ margin-left: 5px!important; }

.m10{ margin: 10px!important; }
.m10-t{ margin-top: 10px!important; }
.m10-r{ margin-right: 10px!important; }
.m10-b{ margin-bottom: 10px!important; }
.m10-l{ margin-left: 10px!important; }

.m15{ margin: 15px!important; }
.m15-t{ margin-top: 15px!important; }
.m15-r{ margin-right: 15px!important; }
.m15-b{ margin-bottom: 15px!important; }
.m15-l{ margin-left: 15px!important; }

.m20{ margin: 20px!important; }
.m20-t{ margin-top: 20px!important; }
.m20-r{ margin-right: 20px!important; }
.m20-b{ margin-bottom: 20px!important; }
.m20-l{ margin-left: 20px!important; }

.m25{ margin: 25px!important; }
.m25-t{ margin-top: 25px!important; }
.m25-r{ margin-right: 25px!important; }
.m25-b{ margin-bottom: 25px!important; }
.m25-l{ margin-left: 25px!important; }

.m30{ margin: 30px; }
.m30-t{ margin-top: 30px!important;}
.m30-r{ margin-right: 30px!important; }
.m30-b{ margin-bottom: 30px!important; }
/*.m30-l{ margin-left: 30px!important; }*/
.m30-l{ margin-left: 30px; }

.m40{ margin: 40px!important; }
.m40-t{ margin-top: 40px!important; }
.m40-r{ margin-right: 40px!important; }
.m40-b{ margin-bottom: 40px!important; }
.m40-l{ margin-left: 40px!important; }

.m50{ margin: 50px; }
.m50-t{ margin-top: 50px; }
.m50-r{ margin-right: 50px!important; }
.m50-b{ margin-bottom: 50px!important; }
.m50-l{ margin-left: 50px!important; }

.m60{ margin: 60px!important; }
.m60-t{ margin-top: 60px!important; }
.m60-r{ margin-right: 60px!important; }
.m60-b{ margin-bottom: 60px!important; }
.m60-l{ margin-left: 60px!important; }

.m70{ margin: 70px!important; }
.m70-t{ margin-top: 70px!important; }
.m70-r{ margin-right: 70px!important; }
.m70-b{ margin-bottom: 70px!important; }
.m70-l{ margin-left: 70px!important; }

.m80{ margin: 80px!important; }
.m80-t{ margin-top: 80px!important; }
.m80-r{ margin-right: 80px!important; }
.m80-b{ margin-bottom: 80px!important; }
.m80-l{ margin-left: 80px!important; }

.m90{ margin: 90px!important; }
.m90-t{ margin-top: 90px!important; }
.m90-r{ margin-right: 90px!important; }
.m90-b{ margin-bottom: 90px!important; }
.m90-l{ margin-left: 90px!important; }

.m100{ margin: 100px!important; }
.m100-t{ margin-top: 100px!important; }
.m100-r{ margin-right: 100px!important; }
.m100-b{ margin-bottom: 100px; }
.m100-l{ margin-left: 100px!important; }

.m120{ margin: 120px!important; }
.m120-t{ margin-top: 120px!important; }
.m120-r{ margin-right: 120px!important; }
.m120-b{ margin-bottom: 120px!important; }
.m120-l{ margin-left: 120px!important; }

.m150{ margin: 150px!important; }
.m150-t{ margin-top: 150px!important; }
.m150-r{ margin-right: 150px!important; }
.m150-b{ margin-bottom: 150px!important; }
.m150-l{ margin-left: 150px!important; }

.m200{ margin: 200px!important; }
.m200-t{ margin-top: 200px!important; }
.m200-r{ margin-right: 200px!important; }
.m200-b{ margin-bottom: 200px!important; }
.m200-l{ margin-left: 200px!important; }

.m300{ margin: 300px!important; }
.m300-t{ margin-top: 300px!important; }
.m300-r{ margin-right: 300px!important; }
.m300-b{ margin-bottom: 300px!important; }
.m300-l{ margin-left: 300px!important; }


/*周りのブロックからの距離（padding）*/
.p0{ padding: 0!important; }
.p0-t{ padding-top: 0!important; }
.p0-r{ padding-right: 0!important; }
.p0-b{ padding-bottom: 0!important; }
.p0-l{ padding-left: 0!important; }

.p5{ padding: 5px!important; }
.p5-t{ padding-top: 5px!important; }
.p5-r{ padding-right: 5px!important; }
.p5-b{ padding-bottom: 5px!important; }
.p5-l{ padding-left: 5px!important; }

.p10{ padding: 10px!important; }
.p10-t{ padding-top: 10px!important; }
.p10-r{ padding-right: 10px!important; }
.p10-b{ padding-bottom: 10px!important; }
.p10-l{ padding-left: 10px!important; }

.p15{ padding: 15px!important; }
.p15-t{ padding-top: 15px!important; }
.p15-r{ padding-right: 15px!important; }
.p15-b{ padding-bottom: 15px!important; }
.p15-l{ padding-left: 15px!important; }

.p20{ padding: 20px!important; }
.p20-t{ padding-top: 20px!important; }
.p20-r{ padding-right: 20px!important; }
.p20-b{ padding-bottom: 20px!important; }
.p20-l{ padding-left: 20px!important; }

.p25{ padding: 25px!important; }
.p25-t{ padding-top: 25px!important; }
.p25-r{ padding-right: 25px!important; }
.p25-b{ padding-bottom: 25px!important; }
.p25-l{ padding-left: 25px!important; }

.p30{ padding: 30px!important; }
.p30-t{ padding-top: 30px!important; }
.p30-r{ padding-right: 30px!important; }
.p30-b{ padding-bottom: 30px!important; }
.p30-l{ padding-left: 30px!important; }

.p40{ padding: 40px!important; }
.p40-t{ padding-top: 40px!important; }
.p40-r{ padding-right: 40px!important; }
.p40-b{ padding-bottom: 40px!important; }
.p40-l{ padding-left: 40px!important; }

.p50{ padding: 50px!important; }
.p50-t{ padding-top: 50px!important; }
.p50-r{ padding-right: 50px!important; }
.p50-b{ padding-bottom: 50px!important; }
.p50-l{ padding-left: 50px!important; }

.p60{ padding: 60px!important; }
.p60-t{ padding-top: 60px!important; }
.p60-r{ padding-right: 60px!important; }
.p60-b{ padding-bottom: 60px!important; }
.p60-l{ padding-left: 60px!important; }

.p70{ padding: 70px!important; }
.p70-t{ padding-top: 70px!important; }
.p70-r{ padding-right: 70px!important; }
.p70-b{ padding-bottom: 70px!important; }
.p70-l{ padding-left: 70px!important; }

.p80{ padding: 80px!important; }
.p80-t{ padding-top: 80px!important; }
.p80-r{ padding-right: 80px!important; }
.p80-b{ padding-bottom: 80px!important; }
.p80-l{ padding-left: 80px!important; }

.p90{ padding: 90px!important; }
.p90-t{ padding-top: 90px!important; }
.p90-r{ padding-right: 90px!important; }
.p90-b{ padding-bottom: 90px!important; }
.p90-l{ padding-left: 90px!important; }

.p100{ padding: 100px!important; }
.p100-t{ padding-top: 100px!important; }
.p100-r{ padding-right: 100px!important; }
.p100-b{ padding-bottom: 100px!important; }
.p100-l{ padding-left: 100px!important; }

.p120-l{ padding-left: 120px;padding-bottom: 50px; }
.m350-l{ margin-left: 350px; }

/*フォントの装飾*/
.b{ font-weight: bold!important; }/*太字*/
.normal{ font-weight: normal!important; }/*太字を解除*/

/*フォントサイズの設定*/
.big{ font-size: 1.1em!important; }
.big1{ font-size: 1.2em!important; }
.big2{ font-size: 1.3em!important; }
.big3{ font-size: 1.5em!important; }
.small{ font-size: 0.8em!important; }

.f08em{ font-size: 0.8em; }
.f09em{ font-size: 0.9em; }
.f10em{ font-size: 1.0em; }
.f11em{ font-size: 1.1em; }
.f12em{ font-size: 1.2em; }
.f13em{ font-size: 1.3em; }
.f14em{ font-size: 1.4em; }
.f15em{ font-size: 1.5em; }
.f16em{ font-size: 1.6em; }
.f17em{ font-size: 1.7em; }
.f18em{ font-size: 1.8em; }
.f19em{ font-size: 1.9em; }
.f20em{ font-size: 2.0em; }
.f21em{ font-size: 2.1em; }
.f22em{ font-size: 2.2em; }
.f23em{ font-size: 2.3em; }
.f24em{ font-size: 2.4em; }
.f25em{ font-size: 2.5em; }
.f26em{ font-size: 2.6em; }
.f27em{ font-size: 2.7em; }
.f28em{ font-size: 2.8em; }
.f29em{ font-size: 2.9em; }
.f30em{ font-size: 3.0em; }

.f8pt{ font-size: 8.5pt; }
.f9pt{ font-size: 9.0pt; }
.f10pt{ font-size: 10pt; }
.f11pt{ font-size: 11pt; }
.f12pt{ font-size: 12pt; }
.f13pt{ font-size: 13pt; }
.f14pt{ font-size: 14pt; }
.f15pt{ font-size: 15pt; }
.f16pt{ font-size: 16pt; }
.f17pt{ font-size: 17pt; }
.f18pt{ font-size: 18pt; }
.f19pt{ font-size: 19pt; }
.f20pt{ font-size: 20pt; }
.f21pt{ font-size: 21pt; }
.f22pt{ font-size: 22pt; }
.f23pt{ font-size: 23pt; }
.f24pt{ font-size: 24pt; }

/*フォントの色設定*/
.blue { color: #002bca!important; }/*青*/
.red { color: #BC423D!important; }/*赤*/
.green { color: #7c6c23!important; }/*緑*/
.yellow { color: #ffff00!important; }/*黄*/
.navy { color: #0047B9!important; }/*紺*/
.orange { color: #ff8400!important; }/*橙*/
.pink { color: #fd8092!important; }/*ピンク*/
.purple { color: #2D4CA9!important; }/*紫*/
.olive { color: #808000!important; }/*オリーブ*/
.lime { color: #00ff00!important; }/*黄緑*/
.aqua { color: #00bcd4!important; }/*水色*/
.black { color: #503D43!important; }/*黒*/
.gray { color: #ccc!important; }/*灰*/
.white { color: #fff!important; }/*白*/
.brown { color: #4e472d!important; }/*茶*/

/*マーカー表示（背景に着色）*/
.box-yellow,
.box-orange,
.box-pink,
.box-lime,
.box-gray{ padding: 2px; }

.box-yellow{ background-color: #ff6; }/*黄*/
.box-orange{ background-color: #f90; }/*橙*/
.box-pink{ background-color: #fbedef; }/*ピンク*/
.box-lime{ background-color: #9f9; }/*黄緑*/
.box-gray{ background-color: #ccc; }/*灰*/

.marker_y {
	background: -webkit-linear-gradient(transparent 0%,#ffff7b 0%);
  background:linear-gradient(transparent 70%, #ffff7b 70%);
}

.marker_thin-y {
	background: -webkit-linear-gradient(transparent 0%,#fcf5bd 0%);
  background:linear-gradient(transparent 64%, #fcf5bd 64%);
}

/*行間の設定*/
.lh10{ line-height: 1.0!important; }
.lh11{ line-height: 1.1!important; }
.lh12{ line-height: 1.2!important; }
.lh13{ line-height: 1.3!important; }
.lh14{ line-height: 1.4!important; }
.lh15{ line-height: 1.5!important; }
.lh16{ line-height: 1.6!important; }
.lh17{ line-height: 1.7!important; }
.lh18{ line-height: 1.8!important; }
.lh19{ line-height: 1.9!important; }
.lh20{ line-height: 2.0!important; }

/*横幅を指定*/
.w05{ width: 5%; }
.w10{ width: 10%; }
.w15{ width: 15%; }
.w20{ width: 20%; }
.w25{ width: 25%; }
.w30{ width: 30%; }
.w35{ width: 35%; }
.w40{ width: 40%; }
.w45{ width: 45%; }
.w50{ width: 50%; }
.w55{ width: 55%; }
.w60{ width: 60%; }
.w65{ width: 65%; }
.w70{ width: 70%; }
.w75{ width: 75%; }
.w80{ width: 80%; }
.w85{ width: 85%; }
.w90{ width: 90%; }
.w95{ width: 95%; }
.w100{ width: 100%; }

/*下線や取消線の設定*/
.underline{ text-decoration: underline!important; }
.del{ text-decoration: line-through; }
.noborder{ border: 0!important; }/*枠線を無くす*/

/*重なりの優先度*/
.z1{ z-index: 1!important; }
.z2{ z-index: 2!important; }
.z3{ z-index: 3!important; }
.z4{ z-index: 4!important; }
.z5{ z-index: 5!important; }
.z10{ z-index: 10!important; }
.z20{ z-index: 20!important; }
.z30{ z-index: 30!important; }
.z40{ z-index: 40!important; }
.z50{ z-index: 50!important; }

/*横並びリスト*/
.inline{ margin: 1em 0; padding: 0; }
.inline li{
	display: inline;
	list-style-type: none;
}

/*マーカー無しのリスト*/
.none{ margin: 1em 0; padding: 0; }
.none li{ list-style-type: none; }


/*------------------------------------------------------------
文字列の前にアイコン
-------------------------------------------------------------*/

/*ポイントアイコンアイコン*/
.icon-point{
	padding: 0 0 0 30px;
	background: url(./images/icon/icon-point.png) left 3px no-repeat;
}

.icon-point-l{
	padding: 10px 0 10px 60px;
	background: url(./images/icon/icon-point-l.png) left top no-repeat;
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){
		.icon-point{
			background: url(./images/icon/icon-point@2x.png) left 3px no-repeat;
			-webkit-background-size: 24px 24px;
			background-size: 24px 24px;
		}

		.icon-point-l{
			background: url(./images/icon/icon-point-l@2x.png) left top no-repeat;
			-webkit-background-size: 48px 48px;
			background-size: 48px 48px;
		}
	}

/*注意アイコン*/
.icon-caution{
	padding: 0 0 0 30px;
	background: url(./images/icon/icon-caution.png) left 3px no-repeat;
}

.icon-caution-l{
	padding: 10px 0 10px 60px;
	background: url(./images/icon/icon-caution-l.png) left top no-repeat;
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){
		.icon-caution{
			background: url(./images/icon/icon-caution@2x.png) left 3px no-repeat;
			-webkit-background-size: 24px 24px;
			background-size: 24px 24px;
		}

		.icon-caution-l{
			background: url(./images/icon/icon-caution-l@2x.png) left top no-repeat;
			-webkit-background-size: 48px 48px;
			background-size: 48px 48px;
		}
	}

/*NEWアイコン*/
.icon-new{
	padding: 0 0 0 30px;
	background: url(./images/icon/icon-new.png) left 3px no-repeat;
}

.icon-new-l{
	padding: 10px 0 10px 60px;
	background: url(./images/icon/icon-new-l.png) left top no-repeat;
}

	/*Retina（高解像度）ディスプレイ用*/
	@media screen and (-webkit-min-device-pixel-ratio:2),
	(min-resolution: 2dppx){
		.icon-new{
			background: url(./images/icon/icon-new@2x.png) left 3px no-repeat;
			-webkit-background-size: 24px 24px;
			background-size: 24px 24px;
		}

		.icon-new-l{
			background: url(./images/icon/icon-new-l@2x.png) left top no-repeat;
			-webkit-background-size: 48px 48px;
			background-size: 48px 48px;
		}
	}


/*--------------------------------------------------------
floatの回り込みを解除
--------------------------------------------------------*/
.site-header-conts:after,
.main-body-in:after,
.article-body:after,
.section-in:after,
.col4-wrap:after,
.col3-wrap:after,
.col2-wrap:after,
.news-item:after,
.related-articles-thumbs01 li:after,
.btn-area:after,
.page-nav-bf:after,
.clearfix:after{
	content: '';
	display: block;
	clear: both;
	height: 0;
}

/*---------------------------------------------------------------------
	generated by Keni Template Maker Ver.7.1 on 2018-01-20 20:59:12
----------------------------------------------------------------------*/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important;}
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
/*@media only screen and (max-width: 750px) {*/
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; margin:0px auto;}
}

.fadein {
  opacity : 0.01;
  transform: translateY(40px);
  transition: all 1.0s;
}

/*----------------------------------------
ふわふわアニメーション
----------------------------------------*/
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

/* このクラスをつけると回転を無限に繰り返します */
.anime-fuwafuwa {
  animation: 3s fuwafuwa infinite;
}

/*----------------------------------------
きらきらアニメーション
----------------------------------------*/
.star {
	animation: flashing 2s infinite;
}

@keyframes flashing {
	0% {
		opacity: 1;
	}
	90% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*----------------------------------------
フェード2
----------------------------------------*/
.fade-in-image {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition-delay: calc(var(--delay) * 1.5s);
/*  width: 200px;
  height: 200px;
  aspect-ratio: 1/1;
  object-fit: cover;*/
}

.fade-in-image.visible {
  opacity: 1;
  transform: translateY(0);
}

/*----------------------------------------
点滅
----------------------------------------*/
.blink-img {
  animation: blink 3s ease-in-out infinite;
}

@keyframes blink {
  0%,100% { 
    opacity: 1;
  }
  50% { 
    opacity: 0.2;
  }
}

/*----------------------------------------
輝き
----------------------------------------*/
.shine-wrap {
  position: relative;
}

.shine-wrap::before {
  content: '';
  position: absolute;
  top: -100px;
  left: 0;
  display: inline-block;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: shine 3s ease-in-out infinite;
}

@keyframes shine {
  0% {
    transform: scale(0) rotate(45deg); opacity: 0;
  }
  85% {
    transform: scale(0) rotate(45deg); opacity: 0.5;
  }
  86% {
    transform: scale(4) rotate(45deg); opacity: 1;
  }
  100% {
    transform: scale(30) rotate(45deg); opacity: 0;
  }
}

/*----------------------------------------
スクロール
----------------------------------------*/

.container_scroll {
  height: 40px;
  position: relative;
}

.scroll-down {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-family: serif;
  color: #b6e0e5;
  font-size: 14px;
  text-decoration: none;
}

.circle-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  position: relative;
  margin-bottom:12px;
  margin-inline: auto;
  animation: pulse 1s infinite;
}

.circle-arrow::before {
  content: "";
  position: absolute;
  top: 20%;
  left: 50%;
  width: 30px;
  height: 30px;
  border-left: 2px solid #b6e0e5;
  border-bottom: 2px solid #b6e0e5;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.circle-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  border-left: 2px solid #b6e0e5;
  border-bottom: 2px solid #b6e0e5;
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 768px) {
	.container_scroll {
	  height: 0;
	}

	.scroll-down {
	  position: absolute;
	  bottom: 60px;
	}
}

@media screen and (max-width: 480px) {
	.scroll-down {
	  position: absolute;
	  bottom: 10px;
	}
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
/*----------------------------------------
テキストフェードイン
----------------------------------------*/
.fade-in-text {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
  transition-delay: calc(var(--delay) * 1s);
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  padding-bottom:24px;
}

.fade-in-text.visible {
  opacity: 1;
  transform: translateY(0);
}
/*----------------------------------------
画像アニメーション
----------------------------------------*/
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}

/*----------------------------------------
js-text-loader
----------------------------------------*/
.js-text-loader {
  position: relative;
  display: inline-block;
  transform: scaleX(0);
  transform-origin: center left;
  -webkit-animation: cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
          animation: cubic-bezier(0.19, 1, 0.22, 1) 0.3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.js-text-loader::after {
  position: absolute;
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  display: block;
  background: #f5f5f5;
  content: "";
  transform: scaleX(1);
  transform-origin: center right;
  -webkit-animation: cubic-bezier(0.19, 1, 0.22, 1) 0.3s 0.3s;
          animation: cubic-bezier(0.19, 1, 0.22, 1) 0.3s 0.3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.js-text-loader.is-active {
  -webkit-animation-name: text-loader-wrap;
          animation-name: text-loader-wrap;
}

.js-text-loader.is-active::after {
  -webkit-animation-name: text-loader-mask;
          animation-name: text-loader-mask;
}

@-webkit-keyframes text-loader-wrap {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}

@keyframes text-loader-wrap {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}

@-webkit-keyframes text-loader-mask {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}

@keyframes text-loader-mask {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}


.iframe-wrapper{
	margin: 5px 0 0 0;
	width: 100%;
	height:300px;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
	display: inline-block;
}
.iframe {
	width:100%;
	border:none;
	display:block;
}

/*ボックス*/
.box_proj,
.box_cont {
	width: 910px;
	margin: 60px auto;
	box-shadow: 0 10px 0px #a6dedf;
}

.box_infomation {
	width: 80%;
	max-width:  680px;
	margin: 20px auto;
	font-size: 20px;
	letter-spacing: 1px;
	color: #666;
	background: #E9FAFA;
	border: 2px solid #fff;	
	border-radius: 6px;
}

.box_infomation .-text {
	font-size: 0.86em;
	letter-spacing: 0;
}

@media only screen and (max-width: 750px) {
  .box_infomation {
    font-size: 18px;
  }
  .box_infomation .-text {
	  text-align: left !important;
  }
}

.wrap_message {
	position: relative;
}

.wrap-message {
  position: relative;
}

.start-2025 img.message-e {
  display: block;
  margin: 50px auto;
  width: auto;
  text-align: center;
}

.box_message {
	position: relative;
	width: 580px;
	margin: 0px auto;
	font-size: 18px;
	letter-spacing: 1px;
	color: #222;
}

.box_message p {
	margin-left: 0;
	margin-right: 0;
}

.box_message .dis-b {
  display: block;
}

@media screen and (max-width: 768px) {
  .box_message {
	  width: auto;
	  margin: 0 auto;
	  padding: 0 20px;
	  font-size: 15px;
	  line-height: 1.8;
	  letter-spacing: 0;
  }
  .box_message .dis-b {
    display: inline-block;
  }
}

.box_message .fnt-20 {
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .box_message .fnt-20 {
    font-size: 17px;
  }
}

.site-header-conts {
  border-top: 1px solid #f1f6fa;
}

.box-report {
	position: relative;
  max-width: 540px;
	margin: 50px auto;
	padding: 30px 50px;
  border-radius: 10px;
  text-align: left;
  font-size: 1.6rem;
  box-shadow: 0 5px 0px #f4eeb2;
  background-color: #ffffdb;
  color: #252525;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .box-report {
	  position: relative;
	  margin: 60px auto 40px;
    font-size: 15px;
  }
}

@media screen and (max-width: 480px) {
  .box-report {
  	max-width: unset;
	  margin: 30px 0 30px;
		padding: 30px 5px 10px 15px;
  }
}

@media screen and (max-width: 768px) {
  .box_proj .img-bubble {
    margin: 0 20px;
  }
}

@media screen and (max-width: 768px) {
  .box_proj .img-bubble img {
  	width: 100%;
  	max-width: 400px;
  }
}

.box-report .tit-spe-dec {
  margin: 0 10px;
  padding: 10px 50px;
  font-weight: bold;
  border-radius: 30px;
	background: #ffffff;
	font-size: 2rem;
	box-shadow: 0 3px 0px #f4ee98;
	text-align: center;
}

@media screen and (max-width: 480px) {
  .box-report .tit-spe-dec {
  	padding: 8px 20px;
	  font-size: 1.6rem;
  }
}

.box_proj .yel-obi {
  text-align: center;
}

.box_proj .yel-obi p {
  display: inline-block;
  padding: 5px 30px;
  background-color: #ffff9e;
  border-radius: 30px;
  font-size: 20px;
  font-weight: bold;
  color: #404040;
  letter-spacing: .1rem;
}

@media screen and (max-width: 768px) {
  .box_proj .yel-obi p {
    padding: 5px 20px;
    font-size: 14px;
    line-height: 1.3;
  }
}

.tit-spe-dec .tit-kazari {
  position: absolute;
  left: 94px;
  top: 18px;
}

@media screen and (max-width: 480px) {
  .tit-spe-dec .tit-kazari {
    position: absolute;
    left: 30px;
    top: 18px;
  }
}

.box-report ul {
  padding: 30px 0 10px 20px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;

}

@media screen and (max-width: 768px) {
  .box-report ul {
    padding: 30px 10px 20px 30px;
  }
}	

@media screen and (max-width: 480px) {
  .box-report ul {
    padding: 20px 10px 20px 24px;
  }
}

.box-report ul li {
  position: relative;
  margin:  0;
  padding-left: 1em;
  text-indent: -1em;
  list-style:  none;
  letter-spacing: 0;
}

.box-report ul li:before {
  content:  "★";
  display:  inline-block;
  margin-right: 8px;
  font-size: 24px;
  color: #e1c065;
}

@media screen and (max-width: 768px) {
  .box-report ul li:before {
    font-size: 18px;
  }
}	

.box-report li span {
  color: #f86565;
  font-size: 1.5rem;
}

.box-report ol {
	counter-reset: my-counter;
  padding: 40px 20px 30px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .box-report ol {
    padding: 30px 10px 20px;
    font-size: 15px;
  }
}	

@media screen and (max-width: 440px) {
  .box-report ol {
    font-size: 14px;
  }
}	

.box-report ol li {
  position: relative;
  padding-left: 40px;
  list-style:  none;
}

@media screen and (max-width: 768px) {
  .box-report ol li {
    padding-left: 30px;
  }
}	

.box-report ol > li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #8f7c28;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  width: 30px;
  margin-top: 6px;
  color: #ffffff;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .box-report ol > li:before {
    height: 24px;
    width: 24px;
  }
}	

.box-pink {
	padding: 0 40px 25px;
  border-radius: 20px;
  color: #6d6768;
  font-size: 18px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.8;
}

@media screen and (max-width: 1024px) {
  .box-pink {
    font-size: 16px;
  }
}	

@media screen and (max-width: 768px) {
  .box-pink {
    padding: 0 20px 20px;
  }
}	

@media screen and (max-width: 440px) {
  .box-pink {
    font-size: 14px;
  }
}	

.box-pink .tit-spe-dec2 {
  margin: 0 -40px;
  padding: 8px 50px;
  border-radius: 20px 20px 0 0;
  background-color: #fa97a5;
  font-size: 22px;
  color: #fff;
}


@media screen and (max-width: 768px) {
  .box-pink .tit-spe-dec2 {
    margin: 0 -20px;
    padding: 8px 30px;
    border-radius: 12px 12px 0 0;
    font-size: 16px;
  }
}	

.-ribbon {
	background-image: url(../img/tit_ribbon.png);
  background-repeat: no-repeat;
  background-position: center;
  font-family: 'Noto Serif JP', serif;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: .2rem;
  line-height: 3;
  background-size: contain;
  position: absolute;
	top: -25px;
  left: calc(50% - 110px);  
}

@media screen and (max-width: 768px) {
  .-ribbon {
  	font-size: 20px;
  	letter-spacing: .1rem;
  }
}

.box-pink p {
  margin: 0;
  line-height: 1.8;
}

.note {
  font-size: 14px !important;
  line-height: 1.6;
  margin-top: 8px;
  margin-bottom: 10px;
  color: #4f4f4f;
}

@media screen and (max-width: 768px) {
  .note {
    font-size: 13px;
    line-height: 1.5;
  }
}	

.note li {
  list-style: none	;
}

.box_form{
	width: 910px;
	margin: 0px auto;
}

@media screen and (max-width: 768px) {
  .box_form{
	  width: auto;
  }
}

.detail.bor1 {
	border: 2px solid #ece7d6;
}

.box_proj,
.box_cont,
.box_form,
.detail {
	background: #fff;
}

.box_cont span,
.al-c span,
.ttl_min span {
	display: inline-block;
}

.box_proj .box_in {
	max-width: 630px;
	margin: 30px auto 80px auto;
	color: #222;
}

@media screen and (max-width: 768px) {
  .box_proj .box_in {
	  margin: 30px auto 40px auto;
  }
}	

.box_cont .box_in {
	padding: 10px 110px 80px 110px;
}

.box_form .box_in {
	padding: 0px 80px 60px 80px;
}

.box_proj.bg_daialy {
	padding: 20px 0 60px;
	border-radius: 14px;
	position: relative;
	z-index: 100;
}

@media screen and (max-width: 768px) {
  .box_proj {
    box-shadow: none;
  }
  .box_proj.bg_daialy {
    padding: 20px 0 30px;
  }
}	

.main-body .box_proj h3 {
    border-bottom: none;
    font-weight: bold;
    font-size: 22px;
    color: #222;
    font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (max-width: 768px) {
  .main-body .box_proj h3 {
    font-size: 18px;
  }	
}

.box_cont.bg_flow {
	background: url("../img/flow_deco_tl.png") top 30px left 30px no-repeat, url("../img/flow_deco_tr.png") top 30px right 30px no-repeat, url("../img/flow_deco_bl.png")  bottom 30px left 30px no-repeat, url("../img/flow_deco_br.png")  bottom 30px right 30px no-repeat;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: none;
}

@media screen and (max-width: 768px) {
  .box_cont.bg_flow{
    background-image: none;
  }
}

@media screen and (min-width: 768px) {
  .sec_flow {
    max-width: 600px;
    margin: 0 auto;
  }
}

.sec_flow p {
  letter-spacing: 0;
}

.sec_flow .-font-s20 {
	display: inline;
	font-size: 20px;
	letter-spacing: 1PX;
}

@media screen and (max-width: 768px) {
  .sec_flow .-font-s20 {
	  font-size: 17px;
	  letter-spacing: 0;
  }
}


.sec_flow .note {
	padding: 0;
	text-indent: 0;
	font-size: 13px;
}

.sec_flow img {
	display: block;
	margin: 0 auto;
}

.img-arrow {
	display: block;
	margin: 0 auto;
	text-align: center;
}

.box_form td{
	padding:0 0 1em 0;
}

.box_cont th{
	width:140px;
	padding: 2em 0;
	vertical-align: top;
}

.box_cont td{
	padding: 3em 0  3em 2em;
}

.box_cont td.bor,
.box_cont th.bor{
	border-bottom: 3px solid #ece7d6;
}

.section-wrap.bg_color1 {
	text-align: center;
  background: url(../img/bg_block1.png);
}

.section-wrap.bg_color2 {
	background: #edfbfb;
}

.section-wrap.bg_color3 {
	background: linear-gradient(170deg, #ffffff, #fff2e3);
}

.section-wrap.bg_color4 {
	background-color: #fcf5bd;
}

.section-wrap.bg_color5 {
	background: #fefedc;
/*	background: linear-gradient(180deg, #eefbfb, #f7f6c8);*/
}

.m-t-2em {
	margin-top: 2em;
}

.message-cpink {
	color: #fe95a3;	
	font-weight: 500;
}

.message-cdpink {
	color: #ff7387;	
	font-weight: 500;
}

.message-cgreen {
	color: #18b4b6;
}

.message-cblue {
/*	color: #0078ff;*/
	color: #014087;
}

.message-cyellow {
	color: #c99f28;
	font-weight: 500;
}

.message-cdred {
	color: #ff0000;	
	font-weight: 500;
}

.message-cdpink {
	color: #ff7387;	
	font-weight: 500;
}


.message-line {
	text-decoration: underline;
}

.message-e-italic {
  color: #d08103;
  font-style: italic;
  font-weight: 500;
}

.section-omo {
	padding-bottom: 50px;
}

.parentframe {
  overflow:hidden;
  overflow-x:hidden;
  overflow-y:hidden;
  height:100%;
  width:100%;
  position:relative;
  top:0px;
  left:0px;
  right:0px;
  bottom:0px;
}

h1 {
	position:relative;
}

.after {
  display: block;
  height: 80px;
  position: relative;
}

@media screen and (max-width: 768px) {
	.after {
		height: 0;
  }
}

h1 .after img {
	position: absolute;
  top: -126px;
	right:0;
	left:0;
  margin: 0 auto;
  z-index: 99;
}

@media screen and (max-width: 1024px) {
  h1 .after img {
  	max-width: 540px;
    top: -90px;
	}
}

@media screen and (max-width: 768px) {
  h1 .after img {
    width: 60%;
    top: -215px;
	}
}

@media screen and (max-width: 560px) {
  h1 .after img {
    width: 80%;
    top: -184px;
	}
}

@media screen and (max-width: 480px) {
  h1 .after img {
    width: 90%;
    top: -140px;
	}
}

.box_cont h2{
	margin: 90px 30px 0px 30px;
}
.box_form h2{
	margin: 40px 30px 20px 30px;
}
.rel{
	position:relative;
}

.bgl_t img {
	position: absolute;
	top: 22%;
	left: 3%;
	margin: 0 auto;
}

.bgr_t img {
	position: absolute;
	top: 6%;
	right: 4%;
	margin: 0 auto;
}

.bgl_m img {
	position: absolute;
	top: 50%;
	right: 3%;
	margin: 0 auto;
}

.bgl_b img {
	position: absolute;
	bottom: 4%;
	left: 4%;
	margin: 0 auto;
}

.bgr_b img {
	position: absolute;
	bottom: 1%;
	right: 0%;
	margin: 0 auto;
}

.bg-sign-l img {
	position: absolute;
	width: 220px;
	top: -30%;
	left: 1%;
	margin: 0 auto;
}

@media screen and (max-width: 1180px) {
  .bg-sign-l img {
		width: 160px;
		top: 6%;
		left: 3%;
  }
}

@media screen and (max-width: 980px) {
  .bg-sign-l img {
		width: 120px;
		top: auto;
		bottom: 18%;
		left: 0;
  }
}

.bg-sign-r img {
	position: absolute;
	width: 170px;
	top: -20%;
	right: 0%;
	margin: 0 auto;
}

@media screen and (max-width: 1180px) {
  .bg-sign-r img {
		width: 120px;
		top: 10%;
		right: 4%;
	 }
}

@media screen and (max-width: 980px) {
  .bg-sign-r img {
		width: 90px;
		top: 10%;
		right: 1%;
	 }
}

@media screen and (max-width: 768px) {
  .bgl_t img,
  .bgr_t img,
  .bgl_m img,
  .bgl_b img,
  .bgr_b img,
	.bg-sign-l img,
	.bg-sign-r img {
    display: none !important;
	}
}

.mes_decol1 img {
	position: absolute;
  width: 80px;
	top: 16%;
	left: 10%;
}

@media screen and (max-width: 768px) {
  .mes_decol1 img {
    width: 60px;
	  top: 24%;
	  left: auto;
	  right: 5%;
	}
}

.mes_decol2 img {
	position: absolute;
	top: 40%;
	left: 10%;
}

@media screen and (max-width: 768px) {
  .mes_decol2	 img {
    width: 40px;
	  top: 43%;
	  left: auto;
	  right: 3%;
	}
}

.mes_decol3 img {
	position: absolute;
	top: 60%;
	left: 10%;
}

@media screen and (max-width: 768px) {
  .mes_decol3 img {
    width: 50px;
	  top: auto;
	  bottom: 4%;
	  left: auto;
	  right: 8%;
	}
}

.mes_decol4 img {
	position: absolute;
	bottom: 20%;
	left: 10%;
}

@media screen and (max-width: 768px) {
  .mes_decol4 img {
    display: none !important;
	}
}

.mes_decor1 img {
	position: absolute;
	width: 160px;
	top: 8%;
	right: 18%;
}

@media screen and (max-width: 768px) {
  .mes_decor1 img {
    width: 100px;
	  top: 7%;
	  right: 5%;
	}
}

.mes_decor2 img {
	position: absolute;
	width: 180px;
	top: 30%;
	right: 16%;
}

@media screen and (max-width: 768px) {
  .mes_decor2 img {
    width: 120px;
	  top: 36%;
	  left: auto;
	  right: 5%;
	}
}

.mes_decor3 img {
	position: absolute;
	top: 50%;
	right: 20%;
}

@media screen and (max-width: 768px) {
  .mes_decor3 img {
    width: 70px;
	  top: 52%;
	  right: 3%;
	}
}

.mes_decor4 img {
	position: absolute;
	top: 65%;
	right: 16%;
}

@media screen and (max-width: 768px) {
  .mes_decor4 img {
    width: 80px;
	  top: 62%;
	  left: auto;
	  right: 4%;
	}
}

.mes_decor5 img {
	position: absolute;
	width: 160px;
	bottom: 20%;
	right: 12%;
}

@media screen and (max-width: 768px) {
  .mes_decor5 img {
    width: 100px;
	  top: 68%;
	  left: auto;
	  right: 6%;
	}
}

.mes_decor6 img {
	position: absolute;
	width: 150px;
	bottom: 5%;
/*	right: 20%;*/
	right: 14%;
}

@media screen and (max-width: 768px) {
  .mes_decor6 img {
    width: 80px;
	  top: auto;
	  bottom: 11%;
	  left: auto;
	  right: 5%;
	}
}

.border-dotted {
	margin: 10px 0 20px;
  background-image : linear-gradient(to right, #d5cdaa 5px, transparent 5px);
  background-size: 11px 1px;
  background-repeat: repeat-x; 
  background-position: left bottom;
}

.sh_w {
	text-shadow: 1px 0px 3px #fff;
}

.bg_cur_t {
	position: absolute;
/*	top: -92px;*/
	bottom: 0;
	left: 0;
	width: 100%;
}

.bg_cur_b {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.bg_cur_t img,
.bg_cur_b img {
	width: 100%;
}

.section-wave {
  position: relative;
  background: #2c3e50;
  height: 50vh;
}

.wave {
  position: absolute;
  height: 150px;
  width: 100%;
  background: #2c3e50;
  bottom: 0;
}

.wave::before, .wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100% 50%;
}

.wave::before {
  width: 55%;
  height: 109%;
  background-color: #fff;
  right: -1.5%;
  top: 60%;
}

.wave::after {
  width: 55%;
  height: 100%;
  background-color: #2c3e50;
  left: -1.5%;
  top: 40%;
}

.l-window-full {
  margin: 0 calc(50% - 50vw);
  overflow: hidden;
  width: 100vw;
  background-color: #c8f2f3;
}

.l-svg-separator svg {
  vertical-align: middle;
  width: 100%;
}

.head-title {
	color: #c99f28;
	font-weight: 500;
	font-size: 36px;
	font-size: 3.6rem;
}

@media only screen and (max-width: 768px) {
  .head-title {
	  color: #c99f28;
	  font-weight: 500;
	  font-size: 22px;
	  font-size: 2.2rem;
	}
}

.head-title-kakomi {
	font-weight: 500;
	color: #fcfeff;
}

.head-title-kakomi {
  position: relative;
	display: inline-block;
	height: 58px;
	line-height: 58px;
	padding: 0 24px;
	background: linear-gradient(45deg, #d7a804, #e8ba0c);
	color: #fff;
}

.head-title-kakomi2 {
	font-weight: 500;
	color: #fcfeff;
}

.head-title-kakomi2 {
  position: relative;
	display: inline-block;
	height: 58px;
	line-height: 58px;
	padding: 0 14px;
	background: linear-gradient(45deg, #d7a804, #f37c90);
	color: #fff;
}

.head-title-kakomi2 .head-title-m {
  font-size: 3rem;
}

@media only screen and (max-width: 480px) {
	.head-title-kakomi2 .head-title-m {
  	font-size: 1.8rem;
	}
}

.head-title-l {
	font-size: 4.2rem;
}

.head-title-m {
	font-size: 3.6rem;
}

.head-title-s {
	font-size: 3rem;
}

@media only screen and (max-width: 480px) {
	.head-title-kakomi {
		height: 38px;
		line-height: 38px;
		padding: 0 10px;
	}	
	.head-title-kakomi2 {
		height: 38px;
		line-height: 38px;
		padding: 0 10px;
	}	
	.head-title-l {
		font-size: 2.2rem;
	}

	.head-title-m {
		font-size: 1.8rem;
	}

	.head-title-s {
		font-size: 1.6rem;
	}
}

.section-omoi {
  padding: 0 0 50px;
}

@media only screen and (max-width: 768px) {
	.section-omoi {
	  padding: 0 0 50px !important;
	}
}

.section-intro {
  padding-bottom: 100px;
}

.section-intro .section-desc,
.section-omoi .wrap-message {
  max-width: 700px;
  margin: 0 auto 0;
  padding-top:  30px;
}

@media only screen and (max-width: 768px) {
	.section-wrap.section-intro .section-in {
		padding: 10px 0 30px 0;
	}
}

.section-intro .section-desc {
  padding-top: 10px;
  position: relative;
}

.head-sec-intro {
	margin: 0 0 50px;
  position: relative;
	text-align: center;
}

@media only screen and (max-width: 768px) {
	.head-sec-intro {
		margin: 0 0 20px;
	}
}

.intro-deco-kira,
.intro-deco-celestial,
.intro-deco-star {
  position: absolute;
}

.intro-deco-kira {
  position: absolute;
  top: 78px;
  right: -60px;
}

@media only screen and (max-width: 768px) {
  .intro-deco-kira {
    top: 60px;
    right: -10px;
    width: 33px;
	}
}

.intro-deco-celestial {
  position: absolute;
  top: 10px;
  left: -160px;
}

.intro-deco-star {
  position: absolute;
  top: 68%;
  right: -110px;
}

@media only screen and (max-width: 768px) {
  .intro-deco-star {
  	width: 100px;
  	position: absolute;
  	right: 10px;
	}
}

@media only screen and (max-width: 480px) {
  .intro-deco-star {
  	width: 60px;
	}
}

.intro-ribbon {
	text-align: center;
	margin-top: -80px;
}

.intro-ribbon img {
	width: 80px;
}

@media only screen and (max-width: 768px) {
  .intro-ribbon {
	  margin-top: 0;
  }
}

@media only screen and (max-width: 768px) {
  .intro-ribbon img {
	  width: 40px;
  }
}

.img-kouenkai {
  max-width: 600px;
}

.intro-deco-present {
  position: absolute;
  width: 120px;
  bottom: 40%;
  right: 20%;
}

@media only screen and (max-width: 768px) {
  .intro-deco-present {
  	width: 60px;
  	position: absolute;
  	right: 5%;
	}
}


.head-title-kakomi::before,
.head-title-kakomi::after {
	content: '';
	position: absolute;
	width: 0px;
	height: 0px;
	top: 0px;
}

.head-title-kakomi::before {
	margin: unset;
	border-bottom: 58px solid transparent;
	border-left: 20px solid #e8ba0c;
	border-top: unset;
	border-right: unset;
	right: -20px;
	left: unset;
	bottom: unset;
}

.head-title-kakomi::after {
	margin: unset;
	border-top: 58px solid transparent;
	border-right: 20px solid #d7a804;
	border-bottom: unset;
	border-left: unset;
	left: -20px;
	right: unset;
	bottom: unset;
}

/*.head-title-kakomi::before2,
.head-title-kakomi::after2 {
	content: '';
	position: absolute;
	width: 0px;
	height: 0px;
	top: 0px;
}

.head-title-kakomi::before2 {
	margin: unset;
	border-bottom: 58px solid transparent;
	border-left: 20px solid #e8ba0c;
	border-top: unset;
	border-right: unset;
	right: -20px;
	left: unset;
	bottom: unset;
}

.head-title-kakomi::after2 {
	margin: unset;
	border-top: 58px solid transparent;
	border-right: 20px solid #d7a804;
	border-bottom: unset;
	border-left: unset;
	left: -20px;
	right: unset;
	bottom: unset;
}*/

@media only screen and (max-width: 480px) {
  .head-title-kakomi::before {
		border-bottom: 38px solid transparent;
	}	
	.head-title-kakomi::after {
	  border-top: 38px solid transparent;
	}
}

/*--------------------------------------------------------
ダイアリーの特徴
--------------------------------------------------------*/
.section-wrap.section-howto {
  padding-top: 30px;
}

.start-2025 img {
  width: 100%;
}

.start-2025 .diary-omoi {
  object-fit: none;
  max-width: 100%;
  max-height: 300px;
  text-align: center;
  margin: 0 auto;
  line-height: 1;
}

@media only screen and (max-width: 1024px) {
	.start-2025 .diary-omoi {
	  object-fit: cover;
	  max-width: 100%;
	  max-height: none;
	  text-align: center;
	  margin: 0 auto;
	}
}

.bg-blue-omoi {
	padding-top: 60px;
  background-color: #eefbfb;
}

.bg-omoi {
 	width: 100%;
}

@media only screen and (max-width: 768px) {
 .bg-omoi {
 	  display: none;
 }
}

.tit-h2 {
  margin: 0;
  background-color: #edfbfb;
/*  background: linear-gradient(to bottom right, #f4bb23, #fcba64);*/
  background: linear-gradient(to bottom right, #d6b965, #c7a03b);
  position: relative;
  line-height: 100px;
  color: #fff;
  font-size: 30px;
  text-align: center;
}

.tit-h2:before {
  content: '';
  width: 100%;
  position: absolute;
  top: 5px;
  left: 0;
  border-top: 2px solid #fff;
}

.tit-h2:after {
  content: '';
  width: 100%;
  position: absolute;
  bottom: 5px;
  left: 0;
  border-top: 2px solid #fff;
}

@media only screen and (max-width: 768px) {
  .tit-h2 {
	  line-height: 60px;
	  color: #fff;
	  font-size: 18px;
	  font-weight: 600;
  }
}

.hoshi {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .hoshi {
    width: 80px;
  }
}

.wrap-howto {
	position: relative;
	padding-bottom: 7%;
	background-color: #edfbfb;
	text-align: center;
}

.howto-kazari_star01 {
	position: absolute;
  top: 10%;
  left: 10px;
}

.howto-kazari_star02 {
	position: absolute;
  top: 5%;
  right: -11px;
}

.howto-kazari_star03 {
	position: absolute;
  top: 35%;
  right: -8px;
}

.howto-kazari_star04 {
	position: absolute;
  top: 55%;
  left: 10px;
}

.howto-kazari_star05 {
	position: absolute;
  top: 70%;
  right: 4px;
}

.howto-kazari_star06 {
	position: absolute;
  top: 80%;
  left: 10px;
}

.howto-dsc {
  font-size: 20px;
  text-align: center;
  line-height: 2;
}

@media only screen and (max-width: 768px) {
	.howto-dsc {
	  font-size: 16px;
	}
}

.howto-shikake {
  font-size: 24px;
  color: #ff8120;
  text-decoration: underline;
}

@media only screen and (max-width: 768px) {
	.howto-shikake {
	  font-size: 20px;
	}
}

.wrap-point {
	width: 940px;
	margin: 60px auto 0;
	padding: 50px 0 80px;
	text-align: center;
	position: relative;
	z-index: 0;
	background-color:#fff;/*背景色*/
	border-radius: 10px;
}

@media screen and (max-width: 1024px) {
	.wrap-point {
		width: auto;
/*		margin: 30px auto 0;*/
		margin: 80px auto 0;
		padding: 25px 0 30px;
	}
}	

@media screen and (max-width: 768px) {
	.wrap-point {
		padding: 25px 30px 50px;
	}
}

@media screen and (max-width: 480px) {
	.wrap-point {
		margin: 50px auto 0;
	}
}

.wrap-step {
	width: 840px;
	margin-bottom: 80px;
	padding: 80px 50px 40px;
	box-shadow: 0 10px 0px #f5f1ac;
	font-size: 1.6rem;
}

@media screen and (max-width: 1024px) {
  .wrap-step {
		width: auto;
		margin: 100px auto;
	  padding: 40px 20px 50px;
	}
  .wrap-form .wrap-step {
		margin: 100px 20px;
	}
}

@media screen and (max-width: 768px) {
  .wrap-step {
		margin: 100px auto 70px;
	  padding: 40px 30px 50px;
	  font-size: 1.4rem;
	}
}

@media only screen and (max-width: 768px) {
  .section-form .wrap-step {
		margin: 30px 25px;
	}
}

.wrap-point::before {
	display: block;
	margin:5px;
	content: '';
	top: 5px;
	bottom: 5px;
	left: 5px;
	right: 5px;
	position: absolute;
	border: 1px solid #e1c065;
	z-index: -1;
}

.wrap-step::before {
  border-radius: 5px;
}

.wrap-step::after {
  background: radial-gradient(ellipse at center, #f7d268 0%, #f7d268 25%, transparent 25%, transparent 100%) center 0 repeat-y;
  background-size: 10px 10px;
  width: 10px;
  height: 50px;
  display: block;
  position: absolute;
  bottom: -49px;
  left: calc(50% - 5px);
  content: "";
}

.wrap-step.step-dot-no::after {
  content: none;
}

.howto {
	margin: 30px 0 40px;
	position: relative;
	font-size: 24px;
	color: #c99f28;
	line-height: 1.8;
}

@media only screen and (max-width: 768px) {
	.howto {
		font-size: 20px;
	}
}

@media screen and (max-width: 480px) {
	.howto {
		font-size: 18px;
	}
}

.howto::after {
  content: "";
  width: 150px;
  height: 10px;
  transform: translateX(-50%);
 	background-image: linear-gradient(to right, #e9c057, #e9c057 2px, transparent 2px);
  background-size: 7px 2px;
  background-repeat: repeat-x;
  position: absolute;
  bottom: -20px;
  left: 50%;
}

.diary-point {
  margin-top: 5%;
	margin-left: 10%;
	text-align: left;
  line-height: 1.6;
}

@media only screen and (max-width: 768px) {
	.diary-point {
		margin: 5% 0 0;
	}
}

.howto-point {
  display: flex;
 	align-items: center;
  position: absolute;
  width: 100px;
  height: 100px;
  background: linear-gradient(to top, #edbd34, #ffb48f);
  border-radius: 50%;
  justify-content: center;
  top: -40px;
  left: calc(50% - 50px);
  color: #fff;
  flex-direction: column;
  line-height: 1.2;
}

@media only screen and (max-width: 1024px) {
	.howto-point {
	  top: -60px;
	}
}

@media only screen and (max-width: 768px) {
	.howto-point {
	  width: 80px;
	  height: 80px;
	  left: calc(50% - 40px);
	}
}

@media only screen and (max-width: 768px) {
	.howto-point {
	  top: -30px;
	}
	.wrap-step	.howto-point {
	  top: -45px;
	}
}

/*@media only screen and (max-width: 480px) {
	.howto-point {
	  top: -30px;
	}
}*/

.point-s {
  font-size: 1.8rem;
}

.point-b {
  font-size: 4rem;
}


@media only screen and (max-width: 768px) {
	.point-s {
	  font-size: 1.6rem;
	}
	.point-b {
	  font-size: 3rem;
	}
}

/*--------------------------------------------------------
特典内容
--------------------------------------------------------*/
.tokuten-fukidashi {
  position: relative;
  align-items: center;
  justify-content: center;
	text-align: center;
  padding: 30px 0 60px;
  border-bottom: 3px solid #f8dbe0;
  background-color: #fefedc;
  box-shadow: #f8dbe0;
/*  box-shadow: 0px 10px 10px -6px rgba(255, 110, 110, 0.3);*/
  box-shadow: 0px 5px 5px -6px rgba(255, 110, 110, 0.3);
  background: linear-gradient(170deg, #ffffff, #fff5f3);
  background: #fefee4;
  z-index: 100;
}

.tokuten-fukidashi:before,
.tokuten-fukidashi:after {
  position: absolute;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
}

/*.tokuten-fukidashi:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 105px 0 105px;
  border-color: #fefedc transparent transparent transparent;
  filter: drop-shadow(7px 4px 2px #f8dbe0);
}

.tokuten-fukidashi:after {
  margin-left: -8px;
  top: 99%;
  border: 8px solid;
  border-color: transparent;
  border-top-color: #fefedc;
	z-index: 100;
}*/

.section-tokuten {
	position: relative;
	padding: 100px 0;
	border-bottom: 3px solid #f8dbe0;

  background: repeating-linear-gradient(135deg, #fff1f1, #fff1f1 15px, #fff4f4 0, #fff4f4 30px);
}

@media screen and (max-width: 768px) {
.section-tokuten {
  	background: repeating-linear-gradient(135deg, #fff1f1, #fff1f1 10px, #fff4f4 0, #fff4f4 20px);
  }
}   

@media screen and (max-width: 1024px) {
  .section-wrap .section-tokuten {
    padding: 170px 30px 50px;
  }
}    

@media screen and (max-width: 768px) {
  .section-wrap .section-tokuten {
    padding: 130px 20px 50px;
  }
}   

.wrap-tokuten {
	width: 940px;
	margin: 60px auto 0;
	padding: 50px 0 30px;
	text-align: center;
	position: relative;
	z-index: 0;
	background-color:#fff;/*背景色*/
	border-radius: 10px;
	background-color: #fff;
	position: relative;
}

@media screen and (max-width: 1024px) {
  .wrap-tokuten {
		width: auto;
	  margin: 30px auto 0;
	  padding: 80px 40px 20px;
	}
}

@media screen and (max-width: 768px) {
  .wrap-tokuten {
	  margin: 30px auto 0;
	  padding: 20px 30px 20px;
	}
}

.wrap-tokuten::before {
  display: block;
  position: absolute;
  border: 1px solid #ffc4c6;
  content: '';
  top: 5px;
  bottom: 5px;
  left: 5px;
  right: 5px;
  margin: 5px;
  z-index: -1;
}

.wrap-tokuten-kazari {
	position: absolute;
  width: 220px;
  height: 100px;
  border-radius: 100px 100px 0 0;
  background: #fff;
  background-color: #fff;
  top: -90px;
  left: calc(50% - 110px);
}

.wrap-tokuten-kazari::before {
	content: '';
	position: absolute;
  width: 200px;
  height: 90px;
  border-radius: 90px 90px 0 0;
  background: #ffc4c6;
  border: 1px solid #ffc4c6;
  border-bottom: none;
  top: 12px;
  left: calc(50% - 100px);
  background-color: #fff;
}

.wrap-sptokuten {
	width: 940px;
	margin: 110px auto 0;
	padding: 50px 0 80px;
	text-align: center;
	position: relative;
	z-index: 0;
	background: url(../img/sptokuten_deco_tl.png) top 30px left 30px no-repeat, url(../img/sptokuten_deco_tr.png) top 30px right 30px no-repeat, url(../img/sptokuten_deco_bl.png) bottom 30px left 30px no-repeat, url(../img/sptokuten_deco_br.png) bottom 30px right 30px no-repeat;
	border-radius: 10px;
	background-color: #fff;
	position: relative;
}

@media only screen and (max-width: 1024px) {
  .wrap-sptokuten {
		width: auto;
	  margin: 50px auto 0;
	  padding: 25px 40px 15px;
	}
}

@media only screen and (max-width: 768px) {
  .wrap-sptokuten {
		width: auto;
	  margin: 100px auto 0;
	  padding: 25px 40px 15px;
	}
}

@media only screen and (max-width: 480px) {
	.wrap-sptokuten {
	  padding: 25px 36px 15px;
  	background-size: 20%;
	}
}

@media only screen and (max-width: 418px) {
  .wrap-sptokuten {
	  padding: 25px 32px 15px;
	}
}

.wrap-sptokuten::before {
  display: block;
  position: absolute;
  border: 1px solid #efbc40;
  content: '';
  top: 5px;
  bottom: 5px;
  left: 5px;
  right: 5px;
  margin: 5px;
  z-index: -1;
}

.wrap-sptokuten::after {
  display: block;
  position: absolute;
  border: 5px solid #efbc40;
  content: '';
  top: 8px;
  bottom: 8px;
  left: 8px;
  right: 8px;
  margin: 8px;
  z-index: -1;
}

.sptokuten-desc {
  width: 520px;
  margin: 0 auto 30px;
  line-height:  1.8;
}

@media screen and (max-width: 768px) {
  .sptokuten-desc {
		width: auto;
    padding: 0 50px 50px;
	}
}

@media screen and (max-width: 480px) {
  .sptokuten-desc {
		width: auto;
    padding: 0 40px 50px;
	}
}

.sptokuten-tit {
	margin: 20px auto 10px;
  font-size: 2.4rem;
  text-align: center;
  color: #efbc40;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .sptokuten-tit {
    font-size: 2rem;
	}
}

@media screen and (max-width: 480px) {
  .sptokuten-tit {
    font-size: 1.7rem;
	}
}

/*.mv {
	text-align: center;
	margin: 0 auto;
}*/

.mv {
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
  padding-bottom: 56.25%; /* 16:9 (9÷16=0.5625) */
}
.mv iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  border: none;
/*  height: auto !important;*/
}
.wrap-sptokuten-kazari {
  width: 220px;
  height: 100px;
  border-radius: 100px 100px 0 0;
  background: #fff;
  background-color: #fff;
  top: -90px;
  left: calc(50% - 110px);
	position: absolute;
}

.wrap-sptokuten-kazari::before {
	content: '';
  width: 200px;
  height: 90px;
  border-radius: 90px 90px 0 0;
  background: #ffc4c6;
	border: 1px solid #ffc4c6;
	border-bottom: none;
	top: 11px;
	left: calc(50% - 100px);
	background-color: #fff;
	position: absolute;
}

.wrap-sptokuten-kazari::after {
	content: '';
  width: 190px;
  height: 80px;
  border-radius: 80px 80px 0 0;
  background: #ffc4c6;
	border: 3px solid #ffc4c6;
	border-bottom: none;
	top: 11px;
	left: calc(50% - 100px);
	background-color: #fff;
	position: absolute;
}

.wrap-tokuten-kazari img {
	position: absolute;
  top: 30px;
  left: 30px;
}

.section-apply {
	padding-top: 30px;
	background-color: #ffffdb;
}

.section-apply .tit-h2 {
	margin-bottom: 80px;
}

@media only screen and (max-width: 768px) {
	.section-apply .tit-h2 {
		margin-left: -20px;
		margin-right: -20px;
	}
}	

.sankaku {
  margin: -40px auto 0;
  display: block;
}

.wrap-form {
/*	padding: 20px 0;*/
  padding: 20px 0 0;
  padding: 20px 0 50px;
	background-color: #ffffdb;
}

.ribbon {
  position: relative;
  display: inline-block;
  width: 300px;
  height: 50px;
  line-height: 50px;
  background-color: #f1a4aa;
  background: linear-gradient(90deg, #edbd34,#ffb48f);
  background: linear-gradient(270deg, #edbd34,#ffb48f);
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  position: absolute;
  top: -25px;
  left: calc(50% - 150px);
}

.ribbon-premium {
  width: 300px;
	background: none;
  background-color: #dcb138;
  left: calc(50% - 150px);
  font-family: "Zen Kaku Gothic New", sans-serif;
}

@media screen and (max-width: 768px) {
  .ribbon {
    width: 180px;
    left: calc(50% - 97px);
    font-size: 1.8rem;
	}
}

.ribbon::before,
.ribbon::after {
  position: absolute;
  top: 0;
  width: 0px;
  height: 0px;
  border-color: #ffb48f transparent;
  border-style: solid;
  content: '';
  height: 50px;
}

.ribbon::after {
  border-color: #edbd34 transparent;
}


.ribbon-premium::before,
.ribbon-premium::after {
  border-color: #dcb138 transparent;
}

.ribbon::before {
  left: -14px;
  border-width: 25px 0px 25px 15px;
}

.ribbon::after {
  right: -14px;
  border-width: 25px 15px 25px 0px;
}

.t-tokuten {
	position: relative;
	margin-bottom: 3rem;
  font-size: 2.2rem;
  color: #c99f28;
  line-height: 1.8;
  font-weight: 500;
}

@media only screen and (max-width: 768px) {
	.t-tokuten {
	  font-size: 2.1rem;
	}
}

@media only screen and (max-width: 480px) {
	.t-tokuten {
	  font-size: 1.6rem;
	}
}

@media only screen and (max-width: 418px) {
	.wrap-sptokuten .t-tokuten {
	  font-size: 1.5rem;
	}
}

.t-tokuten::after {
  content: "";
  background-image: linear-gradient(to right, #e9c057, #e9c057 2px, transparent 2px);
  background-size: 7px 2px;
  background-repeat: repeat-x;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 10px;
}

.tit-sptokuten {
  padding: 20px 20px 30px;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .tit-sptokuten {
    padding: 20px 20px 10px;
	} 
}

@media only screen and (max-width: 480px) {
  .tit-sptokuten {
    padding: 20px 20px 0;
	} 
}

.tit-premium img {
	margin: 0 auto;
}

@media screen and (min-width:480px) and ( max-width:1024px) {
	.tit-premium img {
		padding: 0 40px 0;
	} 
}

@media only screen and (max-width: 480px) {
	.img-gift {
		width: 260px;
    margin: 20px auto 0;
	} 
}

.h3-sptokuten {
	position: relative;
	display: inline-block;
  font-size: 40px;
  font-weight: bold;
  background: linear-gradient(180deg, #ff8f21, #e82e00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media screen and (max-width: 480px) {
  .h3-sptokuten {
  	font-size: 28px;
	}
}

.h3-sptokuten-l {
  position: absolute;
  top: 0;
  left: -55px;
}

.h3-sptokuten-r {
  position: absolute;
  top: 0;
  right: -55px;
}

.tit-sptokuten-message {
	display: inline-block;
  margin-top: -50px;
  margin-bottom: 40px;
  padding: 20px 150px 30px;
/*  background: url(../img/tokuten-tit_deco_l.png) top 30px left 50px no-repeat, url(../img/tokuten-tit_deco_r.png) top 30px right 50px no-repeat;	*/
  line-height: 1.5;
}

@media only screen and (max-width: 768px) {
	.tit-sptokuten-message {
		margin-top: 10px;
  	padding: 0 88px 10px;
    background-image: none;
	}
	.tit-sptokuten-message .m20-b {
		margin-bottom: 0 !important;
	}
}

@media only screen and (max-width: 480px) {
	.tit-sptokuten-message {
    margin-top: 0;
    margin-bottom: 20px;
  	padding: 10px 20px 10px;
/*	  background: url(../img/tokuten-tit_deco_l.png) top 100px left 5px no-repeat, url(../img/tokuten-tit_deco_r.png) top 100px right 5px no-repeat;	
    background-size: 14%;*/
	}
}

.tit-sptokuten-message .tit-pre-message-s {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

.tit-pre-message {
	display: inline-block;
	padding: 10px 100px 50px;
  background: url(../img/tokuten-tit_deco_l.png) top 30px left 0px no-repeat, url(../img/tokuten-tit_deco_r.png) top 30px right 0px no-repeat;	
  font-weight: 500;
}

@media only screen and (max-width: 768px) {
	.tit-pre-message {
		display: block;
		padding: 10px 30px 50px;
	  background: url(../img/tokuten-tit_deco_l.png) top 60px left 40px no-repeat, url(../img/tokuten-tit_deco_r.png) top 60px right 40px no-repeat;	
	}
}

@media only screen and (max-width: 480px) {
	.tit-pre-message {
	  margin-left: -15px;
    margin-right: -15px;
		padding: 10px 15px 30px;
	  background: url(../img/tokuten-tit_deco_l.png) top 35px left 0px no-repeat, url(../img/tokuten-tit_deco_r.png) top 35px right 0px no-repeat;	
    background-size: 12%;
	}
}

.tit-pre-message-f {
	font-size: 3.4rem;
}

.tit-pre-message-s {
	font-size: 2.2rem;
}

.tit-pre-message-t {
	font-size: 2.6rem;
	color: #e1c065;
}

@media only screen and (max-width: 768px) {
	.tit-pre-message-f {
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.tit-pre-message-s {
		font-size: 1.5rem;
	}

	.tit-pre-message-t {
		font-size: 1.8rem;
		color: #e1c065;
	}
}

.wrap-benefits {
	width: 700px;
	margin: 0 auto 100px;
	padding: 50px;
	background-color: #ffffdb;
	border-radius: 10px;
	box-shadow: 0 5px 0px #f4eeb2;
	position: relative;
}

@media only screen and (max-width: 1024px) {
  .wrap-benefits {
		width: auto;
		margin: 20px auto 50px;
		padding: 40px 20px;
	}
}

@media only screen and (max-width: 480px) {
  .wrap-sptokuten .wrap-benefits {
		width: auto;
		margin: 20px 0 50px;
		padding: 40px 16px;
	}
}

@media only screen and (max-width: 418px) {
	.wrap-sptokuten .wrap-benefits {
    padding: 40px 14px;
  }
}

.wrap-benefits .h3 {
  margin-top: 40px;
  padding: 6px 0;
  background-color: #dcb138;
  color: #fff;
  font-size: 2.2rem;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
	.wrap-benefits .h3 {
		margin: 40px 0 0;
		font-size: 1.8rem;
		line-height: 1.4;
	}
}

@media only screen and (max-width: 768px) {
	.wrap-benefits .h3 {
		line-height: 1.4;
	}
}

.wrap-benefits .h4 {
  margin: 20px 0 15px 0;
  padding: 0 0 5px 0;
  border-bottom: 2px dashed #dcb138;
  color: #dcb138;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .wrap-benefits .h4 {
    font-size: 2rem;
	}
}

@media only screen and (max-width: 480px) {
  .wrap-benefits .h4 {
    font-size: 1.6rem;
    line-height: 1.4;
	}
}

.wrap-benefits-desc {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .wrap-benefits-desc {
  	display: flex;
  	flex-direction: column;
  	align-items: center;
	}
}

.benefits-desc-r,
.benefits-desc-all {
	line-height: 2;
}

.benefits-desc-ul {
	text-indent: -1em;
  padding-left: 1em;
}

.benefits-desc-all p {
	font-size: 1.7rem;
/*	font-weight: 500;*/
}

/*@media screen and (max-width: 768px) {
  .benefits-desc-all p span {
	  display: inline-block;
  }
}*/

@media only screen and (min-width: 769px) {
	.benefits-desc-r {
		margin-left: 20px;
		font-size: 1.6rem;
	}  
}

@media screen and (max-width: 768px) {
	.benefits-desc-all p {
    font-size: 1.4rem;
	}
}
.tokuten-sarani {
  margin: 0 20px;
}

.img-sptokuten-top {
	position: absolute;
    top: -78px;
  left: calc(50% - 125px);

}

.deco-crown {
	position: absolute;
  top: -40px;
  left: calc(50% - 84px);
}

@media only screen and (max-width: 480px) {
  .deco-crown {
    top: -50px;
  }
}

.img-tokuten-sarani {
  display: block;
	margin: 0 auto;
}

.bg-ribbon-l {
	position: absolute;
	top: 0;
	left: 0;
}

@media only screen and (max-width: 768px) {
	.bg-ribbon-l {
		width: 65%;
	}
}

.bg-ribbon-r {
	position: absolute;
	bottom: 0;
	right: 0;
}

@media only screen and (max-width: 768px) {
  .bg-ribbon-r {
	  display: none;
  }
}

.tokuten-kira01 {
	position: absolute;
	top: 10%;
	right: 0;
}

.tokuten-kira02 {
	position: absolute;
	top: 40%;
	left: 5px;
}

.tokuten-kira03 {
	position: absolute;
	top: 60%;
	right: 0;
}

.tokuten-kirasp {
	position: absolute;
	top: 24px;
	right: 20px;
	width: 14%;
}

.tokuten-gift {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: 40px 0 20px;
}

@media only screen and (max-width: 768px) {
	.tokuten-gift {
		margin: 20px 0 0;
    align-items: center;
    flex-direction: column;
	}
}

.tokuten-gift-r {
	position: relative;
  margin: 0 0 0 50px;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .tokuten-gift-r {
		margin: 0;
	}
}

.tokuten-deco-kira {
  position: absolute;
  top: 0px;
  right: -120px;
}

@media only screen and (max-width: 768px) {
  .tokuten-deco-kira {
    position: absolute;
    top: 0px;
    right: -50px;
    width: 20%;
  }
}

.tokuten-tit {
	margin-bottom: 20px;
  font-family: "Allura", serif;
  font-size: 40px;
  letter-spacing: 2px;
  color: #c99f28;
}

@media only screen and (max-width: 768px) {
  .tokuten-tit {
		margin-bottom: 0;
  	font-size: 34px;
  	text-align: center;
  	line-height: 1.6;
	}
}

.tokuten-text {
  font-size: 18px;
  line-height: 1.8;
}

.tokuten-text .message-cdpink {
	font-weight: 500;
}

@media only screen and (max-width: 768px) {
	.tokuten-text {
	  font-size: 15px;
	  text-align: center;
	  line-height: 1.5;
	}
}

.tokuten-mail {
	width: 600px;
	margin: -2rem auto 2rem;
	font-size: 1.6rem;
	line-height: 1.6;
	text-align: center;
	font-weight: 500;
}

@media only screen and (max-width: 1024px) {
  .tokuten-mail {
    margin: -2rem auto 4rem;
	  text-align: center;
	}
}

@media only screen and (max-width: 768px) {
  .tokuten-mail {
  	width: unset;
    margin: -1rem 5rem 5rem;
	  text-align: left;
	}
}

@media only screen and (max-width: 480px) {
  .tokuten-mail {
    margin: -1rem 1.4rem 5rem;
    font-size: 1.3rem;
	  text-align: left;
	}
}

.section-apply {
}

.apply-flow {
	line-height: 1.6;
}

/*--------------------------------------------------------
アンバサダーさん
--------------------------------------------------------*/
.amb-fukidashi {
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  border-bottom: 3px solid #d2eceb;
  background-color: #ffffff;
  box-shadow: 0px 10px 10px -6px #d2eceb;
	z-index: 1;
	text-align: center;
  position: relative;
}

@media only screen and (max-width: 768px) {
	.amb-fukidashi {
 		padding: 20px 20px;
	}
}

.amb-fukidashi:before,
.amb-fukidashi:after {
/*  left: 50%;*/
  left: calc(50% - 50px);
  content: "";
  height: 0;
  width: 0;
  position: absolute;
}

.amb-fukidashi:before {
  margin-left: -9px;
  top: 100%;
  border: 50px solid;
  border-color: transparent;
  border-top-color: #ffffff;
	filter: drop-shadow(7px 4px 2px #d2eceb);
}

.amb-fukidashi:after {
  margin-left: -8px;
  top: 99%;
  border: 8px solid;
  border-color: transparent;
  border-top-color: #ffffff;
}

.amb-laurel.pc {
	margin: 0 auto;

}

.wrap-amb {
	padding: 70px 0 80px;
  background-color: #edfbfb;
	position: relative;
}

@media only screen and (max-width: 768px) {
	.wrap-amb {
		padding: 60px 30px 80px;
	}
}

@media only screen and (max-width: 480px) {
	.wrap-amb {
		padding: 60px 20px 80px;
	}
}

.amb-horo {
	position: absolute;
	top: 0;
	right: 0;
}

@media only screen and (max-width: 768px) {
  .amb-horo {
	  position: absolute;
	  top: 0px;
	  right: 0px;
	  width: 28%;
  }
}

.amb-kira {
	position: absolute;
	bottom: 50px;
	right: 100px;
}

@media only screen and (max-width: 768px) {
  .amb-kira {
	  position: absolute;
		top: 220px;
    right: 20px;
    width: 12%;
  }
}

.amb-desc {
	display: flex;
	width: 940px;
	margin: 0 auto;
	align-items: flex-start;
}

@media only screen and (max-width: 768px) {
	.amb-desc {
		width: auto;
		display: block;
	}
}

@media only screen and (max-width: 768px) {
	.amb-eteacher {
    width: 150px;
    margin-right: 10px;
    float: left;
	}
}

.amb-desc-r {
  line-height: 1.6;
  margin-left: 40px;
}

@media only screen and (max-width: 768px) {
  .amb-desc-r {
    margin-left: 0;
    font-size: 1.4rem;
	}
}

@media only screen and (max-width: 768px) {
	.amb-message {
		padding-top: 30px;
		line-height: 1.8;
	}
  .amb-message2 {
    clear: both;
	}
}


/*--------------------------------------------------------
アンバサダーさんの声
--------------------------------------------------------*/
.wrap-voice {
  padding: 0 0 100px;
  background-image: -webkit-linear-gradient(bottom, transparent calc(100% - 1px), #f5f5f5 calc(100% - 1px)), -webkit-linear-gradient(left, transparent calc(100% - 1px), #f5f5f5 calc(100% - 1px));
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f5f5f5 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f5f5f5 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  position: relative;
}

@media only screen and (max-width: 768px) {
	.wrap-voice {
	  padding: 0 0 30px;
	}	
}	

.wrap-voice .section-desc {
	margin-top: 60px;
}

.icon-voice {
  position: absolute;
  top: -50px;
  left: calc(50% - 50px);
}

.bg-voice {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.tit-voice {
	margin: 0 0 40px;
	padding-top: 80px;
	position: relative;
	font-size: 24px;
	color: #c99f28;
	line-height: 1.8;
	text-align: center;
}

.tit-voice::after {
  content: "";
 	background-image: linear-gradient(to right, #e9c057, #e9c057 2px, transparent 2px);
  background-size: 7px 2px;
  background-repeat: repeat-x;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 10px;
}

.voice-desc {
  display: flex;
  width: 930px;
  margin: 0 auto 50px;
  padding: 40px;
  background-color: #fff;
  border: #ebd598;
  border: 1px solid #edb598;
  position: relative;
  align-items: flex-start;
  z-index: 99;
}

@media screen and (max-width: 1024px) {
  .voice-desc {
		width: auto;
    margin: 0 auto 25px;
    padding: 20px;
	}
}

@media screen and (max-width: 768px) {
  .voice-desc {
    display: flex;
    align-items: center;
    flex-direction: column;
	}
	.amb-photo {
		max-width: 230px;
	}
}

@media screen and (min-width: 769px) {
	.amb-photo {
		margin-right: 30px;
	}
}

.voice-desc-r {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
  font-size: 1.6rem;
  line-height: 1.6;
}

@media only screen and (max-width: 768px) {
	.voice-desc-r {
	  font-size: 1.4rem;
	  line-height: 1.4;
  }
}

.amb-num {
  font-family: "Allura" , serif;
  font-size: 30px;
  font-size: 3rem;
  color: #e1c065;
}

.amb-name {
	display: inline-block;
	margin: 10px 0;
	padding: 5px 30px;
	background-color: #e1c065;
	font-size: 2rem;
	color: #fff;
}

@media screen and (min-width: 769px) {
	.amb-name {
		padding: 5px 20px;
		font-size: 1.6rem;
	}
}

.amb-text {
	line-height: 1.6;
}

.amb-sns {
  display: flex;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
	.amb-sns {
	  display: flex;
	  flex-wrap: wrap;
	}
}

.amb-sns p {
  margin-right: 10px;
  padding: 6px 20px;
  border: 1px solid #000;
  border-radius: 20px;
}

@media screen and (max-width: 768px) {
	.amb-sns p {
	  margin: 0 10px 10px 0;
	}
}
.amb-sns a {
	color: inherit;
}

.amb-sns p.amb-sns-insta {
	border-color: #f665c5;
	color: #f665c5;
}

.amb-sns p.amb-sns-fb {
	border-color: #6587f6;
	color: #6587f6;
}

.amb-sns p.amb-sns-blog {
	border-color: #7ecc60;
	color: #7ecc60;
}

/*--------------------------------------------------------
フォーム
--------------------------------------------------------*/
.wrap-point .regist_form {
	text-align: left;
}

.regist_form .content_title h2 {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0px;
  padding-bottom: 30px;
  padding-left: 0px;
  padding-right: 0px;
  border: 0;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  text-align: center;
  color: black;
  font-weight: 500;
  font-size: 2.0em;
  word-wrap: break-word;
}

.content_form button.user-file-update-button {
  min-width: 120px;
  margin-top: 10px;
  margin-right: 5px;
  padding: 10px;
  border: 1.4px solid #bfbfbf;
  background: #fff;
  font-size: 1.2em;
  font-weight: bold;
  border-radius: 10px;
}

.content_form button.user-file-clear-button {
  min-width: 80px;
  margin-top: 7px;
  margin-left: 10px !important;
  color: #888;
  background: #ccc;
  border: 1.4px solid #bfbfbf;
  padding: 10px;
  font-size: 1.2em;
  border-radius: 10px;
}

.regist_form .content_form .input_unit .my_left.my_column {
  vertical-align: middle;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 10px;
  padding-right: 10px;
}

.wrap-form .regist_form .content_form #UserItemForm .tokuten_radio {
  padding: 20px 10px 10px !important;
}

form.myForm input[type=radio] {
  cursor: default;
  appearance: auto;
  box-sizing: border-box;
  margin: 3px 3px 0px 5px;
  padding: initial;
  border: initial;
  box-shadow: none;
}

.content_form [type="submit"] {
  width: 300px;
  padding: 20px 50px;
  border: 2px solid #e1c065;
  background-color: #e1c065;
  color: #fff;
  font-weight: bold;
  border-radius: 10px;
  font-size: 1.8rem;
  cursor: pointer;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
  box-shadow: none;
}

.content_form [type="submit"]:hover {
	background: #fff;
  color: #e1c065;
}

@media screen and (max-width: 768px) {
	.regist_form .content_title h2 {
	  font-weight: 700;
	  font-size: 2rem;
	  padding: 0;
	  line-height: 1.8;
	}

	.regist_form .content_form .input_unit {
	  width: 100%;
	  margin: 0 0 0 10px;
  }

	.regist_form .content_form label {
	  line-height: 1.8;
	}

	.content_form button.user-file-update-button {
	  min-width: 100px;
	  margin-top: 10px;
	  margin-right: 0px;
	  padding: 10px;
	  border: 1.4px solid #bfbfbf;
	  background: #fff;
	  font-size: 1.2em;
	  font-weight: bold;
	  border-radius: 10px;
	  line-height: 20px;
	}

	.content_form button.user-file-clear-button {
	  min-width: 80px;
	  margin-top: 7px;
	  margin-left: 10px !important;
	  color: #888;
	  background: #ccc;
	  border: 1.4px solid #bfbfbf;
	  padding: 10px;
	  font-size: 1.2em;
	  border-radius: 10px;
	  line-height: 20px;
	}

	.regist_form .content_form .input_unit .my_left.my_column {
	  vertical-align: middle;
	  padding-top: 20px;
	  padding-bottom: 20px;
	  padding-left: 0px;
	  padding-right: 0px;
	}

	.content_form [type="submit"] {
	  width: 240px;
	  padding: 20px 20px;
	  font-size: 1.8rem;
	  line-height: 20px;
	}

	form.myForm input[type="text"], form.myForm input[type="password"] {
    width: 100% !important;
	}

	.regist_form form.myForm div.submit {
    margin-top: 20px;
	}
	
	form.myForm div.submit {
    text-align: center;
    margin-top: 0px;
	}

	.content_title .input_unit, .content_box .input_unit .my_right.my_column, .content_form .input_unit .my_right.my_column, .content_confirm .input_unit .my_right.my_column {
    width: 100% !important;
    padding-top: 15px;
	}

	.content_title .input_unit .my_right.my_column, .content_box .input_unit .my_right.my_column, .content_confirm .input_unit .my_right.my_column, .content_form .input_unit .my_right.my_column {
    padding: 0 !important;
	}
}


/*--------------------------------------------------------
Amazonキャンペーン用
--------------------------------------------------------*/
.amzn-tokuten-fukidashi {
  position: relative;
  align-items: center;
  justify-content: center;
	text-align: center;
  padding: 0 0 30px;
  border-bottom: 3px solid #f8dbe0;
  background-color: #fefedc;
  box-shadow: #f8dbe0;
  box-shadow: 0px 10px 10px -6px rgba(255, 110, 110, 0.3);
  z-index: 100;
}

.amzn-tokuten-fukidashi:before,
.amzn-tokuten-fukidashi:after {
  position: absolute;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
}

.amzn-tokuten-fukidashi:before {
  top: 100%;
  border: 50px solid;
  border-color: transparent;
  border-top-color: #fefedc;
  margin-left: -50px;
	filter: drop-shadow(7px 4px 2px #f8dbe0);
	z-index: 99;
}

.amzn-tokuten-fukidashi:after {
  margin-left: -8px;
  top: 99%;
  border: 8px solid;
  border-color: transparent;
  border-top-color: #fefedc;
	z-index: 100;
}

.amzn_tokuten-gift {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: 0 0 20px;
}

@media only screen and (max-width: 768px) {
	.amzn_tokuten-gift {
    margin: 0;
    align-items: center;
    flex-direction: column;
	}
}

.amzn_tokuten-gift-r {
	position: relative;
	margin: 0 0 0 50px;
	text-align: left;
}

@media only screen and (max-width: 768px) {
	.amzn_tokuten-gift-r {
	margin: 0;
	}
}

.box-live {
  position: relative;
  max-width: 540px;
  margin: 40px auto;
  padding: 20px 10px;
  border-radius: 10px;
  text-align: left;
  font-size: 1.6rem;
  border: solid 2px #e8d472;
  background-color: #ffffff;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .box-live {
   position: relative;
   margin: 40px auto 40px;
   font-size: 15px;
  }
}

@media screen and (max-width: 480px) {
  .box-live {
   max-width: unset;
   margin: 30px 0 30px;
   padding: 10px 5px 10px 15px;
  }
}

.box-live .note-element {
  margin: 0 10px;
  padding: 10px 30px;
  font-weight: bold;
  line-height: 1.00;
  text-align: center;
}

@media screen and (max-width: 480px) {
  .box-report .note-element {
  	padding: 8px 10px;
  }
}

.box-live ul {
   padding: 20px 5px 10px 20px;
   font-weight: bold;
   font-family: "Zen Kaku Gothic New", sans-serif;

}

@media screen and (max-width: 768px) {
  .box-live ul {
   padding: 10px 5px 10px 5px;
  }
}	

@media screen and (max-width: 480px) {
  .box-live ul {
   padding: 10px 5px 10px 5px;
  }
}

.box-live ul img {
  width: 40px;
  padding-right: 10px;
}

@media screen and (max-width: 480px) {
  .box-live ul img {
  width: 30px
  padding-right: 5px;  }
}


.box-live ul li {
  position: relative;
  margin:  0;
  padding-left: 1em;
  text-indent: -1em;
  list-style:  none;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .box-live ul li:before {
    padding-left: 0;
    text-indent: -1.5em;
    font-size: 18px;
  }
}	

@media screen and (max-width: 480px) {
  .box-live ul img {
    padding-left: 0;
    text-indent: -1em;
    font-size: 15px;
    }
}	

.box-live li span {
  color: #f86565;
  font-size: 1.5rem;
}

.box-live ol {
	counter-reset: my-counter;
  padding: 30px 20px 30px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .box-live ol {
    padding: 20px 10px 20px;
    font-size: 15px;
  }
}	

@media screen and (max-width: 440px) {
  .box-live ol {
    font-size: 14px;
  }
}	

.box-live ol li {
  position: relative;
  padding-left: 40px;
  list-style:  none;
}

@media screen and (max-width: 768px) {
  .box-live ol li {
    padding-left: 30px;
  }
}	

.box-live ol > li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #ffffff;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 30px;
  width: 30px;
  margin-top: 6px;
  color: #ffffff;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .box-live ol > li:before {
    height: 24px;
    width: 24px;
    font-size: 0.9em;
  }
}	

.live-sign {
	margin-left: 25px;
}

.tit-premium {
  margin-bottom: 50px;
}

.ribbon-h3 {
	position: relative;
  display: inline-block;
  height: 50px;
  line-height: 50px;
  margin-top: 50px;
  margin-bottom: 50px;
  padding: 0 2rem;
/*  box-shadow: 0px -5px #abd6c5, 0px 5px #abd6c5;*/
  box-shadow: 0px -5px #de647d, 0px 5px #de647d;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
  background-color: #de647d;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  min-width: 780px;
}

.ribbon-h3::before,
.ribbon-h3::after {
    position: absolute;
    top: -5px;
    width: 0px;
    height: 0px;
    border-color: transparent #fefede;
    border-style: solid;
    content: '';
}

.ribbon-h3::before {
    left: 0;
    border-width: 30px 0px 30px 10px;
}

.ribbon-h3::after {
    right: 0;
    border-width: 30px 10px 30px 0px;
}

.wrap-benefits .img-mv,
.benefits-desc-all .img-mv {
	width: 100%;
  margin: 20px auto;
  max-width: 400px;
}

@media screen and (max-width: 480px) {
  .wrap-benefits .img-mv,
  .benefits-desc-all .img-mv {
	  margin: 0;
	  max-width: 300px;
	}
}

.tokuten-gift .photo-diary {
	max-width: 240px;
	box-shadow: rgba(7, 28, 28, 0.08) 0px 0px 0px 0px, rgba(7, 28, 28, 0.08) 5px 7px 19px 0px, rgba(7, 28, 28, 0.07) 21px 29px 35px 0px, rgba(7, 28, 28, 0.04) 47px 64px 48px 0px, rgba(7, 28, 28, 0.01) 84px 114px 57px 0px;
  border: 1px solid #eee;
}

/*.section-intro {
  position: relative;
}*/

.bg_cur_t {
	position: absolute;
	top: -50px;
	left: 0;
	width: 100%;

}

.bg-curve {
	content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-image: url(../img/bg_mask_bottom.svg);
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: 100% auto;
  position: absolute;
  z-index: 0;
  bottom: -1px;
  left: 0;
}

.btn-appli {
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto 30px;
  padding: .9em 2em;
  border: none;
  border-bottom: solid 5px #ffd35f;
  border-radius: 5px;
/*  background-color: #dab248;*/
  background: linear-gradient(240deg, #edbd34, #ffb48f);
  color: #fff;
  font-weight: 600;
  font-size: 1.1em;
  transition: .5s ease;
}

@media screen and (max-width: 480px) {
	.btn-appli {
		margin-bottom: 80px;
		line-height: 1.2;
	}
}

.btn-appli:hover {
    transform: translateY(3px);
    border-bottom-width: 2px;
}