@charset "utf-8";

/* reset
=====================*/

body, html, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline; }
/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body, html { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }
table { order-collapse: collapse; border-spacing: 0; }
hr { border: 0; }

@font-face {
  font-family: 'GenJyuuGothic';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/GenJyuuGothic-Regular.eot");
  src: url("../fonts/GenJyuuGothic-Regular.woff") format("woff"), url("../fonts/GenJyuuGothic-Regular.ttf") format("truetype"); }
@font-face {
  font-family: 'GenJyuuGothic';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/GenJyuuGothic-Bold.eot");
  src: url("../fonts/GenJyuuGothic-Bold.woff") format("woff"), url("../fonts/GenJyuuGothic-Bold.ttf") format("truetype"); }
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Nunito-Regular.eot");
  src: url("../fonts/Nunito-Regular.woff") format("woff"), url("../fonts/Nunito-Regular.ttf") format("truetype"); }
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Nunito-Bold.eot");
  src: url("../fonts/Nunito-Bold.woff") format("woff"), url("../fonts/Nunito-Bold.ttf") format("truetype"); }


/* common
=====================*/
body { width:100%; padding:0; margin:0; }
#contents_block {font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;line-height:1.5;text-align: center;}
#contents_block h1{line-height:1 !important;color:#e7010d;}

.wrapper__body {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-family: "GenJyuuGothic", "Nunito";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #333333;
	text-align: left;}

.section--pink {
    position: relative;
	background-image: url("../images/bg-lightpink@2x.jpg");
	background-size: 1000px auto;
	background-position: 50% 0;
	margin-bottom:50px;}

.container {
	position: relative;
	margin: 0 auto; }
 
.container--narrow {width: 768px; }
.container--medium {width: 960px; }
.container--wide {width: 100%; }

.sec1{ margin: 0px auto 0; padding:10px 0 0;}
.sec2{ margin:70px auto 0;}
.sec3{ margin:90px auto 0; padding:0 0 65px;}

.sec1 .section__lead {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
	margin:50px auto 0;
    letter-spacing: .1em; }

.sec2 h2{
    font-size: 30px;
    line-height: 1.3;
    text-align: center;
    letter-spacing: 0.075em;
    font-weight: 700;
	color:#ffffff;
	margin:0 auto;
	padding:10px 0 0;
}

.sec2 .txt{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
	margin:10px 0 50px;
    letter-spacing: .0.5em; }

.sec2 .bg1{ width:242px; height:56px; background: url("../images/sec2_tbg1.gif") no-repeat;}
.sec2 .bg2{ width:242px; height:56px; background: url("../images/sec2_tbg2.gif") no-repeat;}
.sec2 .bg3{ width:242px; height:56px; background: url("../images/sec2_tbg3.gif") no-repeat;}

.sec3 .inner{
	background:#ffffff;
	border:#f85f51 4px solid;
	box-sizing: border-box;
	text-align:center;
	border-radius: 30px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;}

.sec3 .txt{
	text-align:center;
	margin:0 auto 0;}

.sec3 h3{
	color:#f85f51;
    font-weight: 700;
    line-height: 1.6;}

.sec3 p{
    font-size: 20px;
	margin:20px auto 25px;}

.under {
  background: linear-gradient(transparent 40%, #fef2a4 40%);
}

/************************/
/******* 980 over********/
/************************/
@media screen and (min-width: 980px) {
#contents_block {padding:0; font-size:100%;}
#contents_block h1{font-size:400%;}

.pc_show{ display:block;}
.sp_show{ display:none;}

.sec1 .mv__fl1 {
	position: absolute;
	top:390px;
	left:80px;
	z-index:10;}

.sec1 .mv__fr1 {
	position: absolute;
	top:380px;
	right:0px;
	z-index:10;}

.sec2 .bg_white{
	background-image: url("../images/bg_white.png");
	height:660px;}

.sec2 .img_fr{
	position: absolute;
	top:60px;
	right:65px;
	z-index:20;}

.sec2 .img_fl{
	position: absolute;
	top:410px;
	left:40px;
	z-index:20;}

.sec2 .inner{
	padding:60px 0 0;}

.sec2 .note{
	padding:20px 40px 0;}

.sec3 .inner{
	width:960px;
	margin:10px auto 50px;}

.sec3 h3{
    font-size: 34px;
	margin:25px auto;}

}

/************************/
/******* 641 over********/
/************************/
@media screen and (min-width: 641px) and (max-width: 979px) {
body{ width:100%; -webkit-text-size-adjust: 100%;}
img{ width:100%;}

.pc_show{ display:none;}
.sp_show{ display:block;}

.container--narrow {
	width: calc(100vw - (100vw / 750 * 82)); }
.container--medium {
	width: calc(100vw - (100vw / 750 * 82)); }
.container--wide {
	width: calc(100vw - (100vw / 750 * 82)); }

.sec1{ margin: 0px auto 0; padding-top: calc(100vw / 750 * 10);}
.sec2{ margin-top: calc(100vw / 750 * 70);}
.sec3{ margin-top: calc(100vw / 750 * 50); padding-bottom: calc(100vw / 750 * 70);}

.sec1 .mv__fl1 {
	position: absolute;
	top:calc(100vw / 750 * 294);
	left:calc(100vw / 750 * 40);
	z-index:10;
	width:12%;}

.sec1 .mv__fr1 {
	position: absolute;
	top:calc(100vw / 750 * 300);
	right:calc(100vw / 750 * 6);
	z-index:10;
	width:14%;}

.sec1 .section__lead {
	font-size: calc(100vw / 750 * 20);
	margin-top:calc(100vw / 750 * 44);
	letter-spacing: 0.05em; }

.sec2 .inner{
	padding-top: calc(100vw / 750 * 60);
	padding-bottom: calc(100vw / 750 * 10);}

.sec2 .img_fr{
	position: absolute;
	top:calc(100vw / 750 * -60);
	right:calc(100vw / 750 * 16);
	z-index:20;
	width:18%;}

.sec2 .img_fl{
	position: absolute;
	bottom:calc(100vw / 750 * 70);
	left:calc(100vw / 750 * 0);
	z-index:20;
	width:26%;}

.sec2 .bg_white{
	position:relative;
	background:#ffffff;
	border-radius: 40px;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;}

.sec2 .note{
	margin-top: calc(100vw / 750 * 40);
	font-size: calc(100vw / 750 * 14);}

.sec3 .inner{
	width:100%;
	margin-top: calc(100vw / 750 * 20);
	margin-bottom: calc(100vw / 750 * 50);}

.sec3 .txt{
	text-align:center;
	margin:0 auto 0;
	width:80%; }

.sec3 h3{
	font-size: calc(100vw / 750 * 30);
	margin-top: calc(100vw / 750 * 20);}

.sec3 .tel{
	width:80%;
	text-align:center;
	margin:10px auto;}

.sec3 p{
    font-size: calc(100vw / 750 * 20);
	margin-top:0;
	margin-bottom: calc(100vw / 750 * 20);}

}


/************************/
/******* 640 over********/
/************************/
@media screen and (max-width: 640px) {
#contents_block {padding:0; font-size:120%;}
#contents_block h1{font-size:300%;}

img{ width:100%;}

.wrapper__body {
	font-size: calc(100vw / 750 * 26); }

body.fixed .wrapper__body {
	margin-top: 48px; }

.pc_show{ display:none;}
.sp_show{ display:block;}

.section--pink{
	background-image: url("../images/bg-lightpink-s.png");
	background-size: 100%;
	margin-bottom:calc(100vw / 750 * 70);}

.container--narrow {
	width: calc(100vw - (100vw / 750 * 82)); }

.container--medium {
	width: calc(100vw - (100vw / 750 * 82)); }

.container--wide {
	width: calc(100vw - (100vw / 750 * 82)); }

.sec1{ margin: 0px auto 0; padding-top: calc(100vw / 750 * 10);}
.sec2{ margin-top: calc(100vw / 750 * 70);}
.sec3{ margin-top: calc(100vw / 750 * 50); padding-bottom: calc(100vw / 750 * 70);}


.sec1 .mv__fl1 {
	position: absolute;
	top:calc(100vw / 750 * 294);
	left:calc(100vw / 750 * 40);
	z-index:10;
	width:12%;}

.sec1 .mv__fr1 {
	position: absolute;
	top:calc(100vw / 750 * 296);
	right:calc(100vw / 750 * 6);
	z-index:10;
	width:14%;}

.sec1 .section__lead {
	font-size: calc(100vw / 750 * 26);
	margin-top:calc(100vw / 750 * 44);
	letter-spacing: 0.05em; }

.sec2 .bg_white{
	position:relative;
	background:#ffffff;
	border-radius: 40px;
	-moz-border-radius: 40px;
	-webkit-border-radius: 40px;}

.sec2 .inner{
	padding-top: calc(100vw / 750 * 60);
	padding-bottom: calc(100vw / 750 * 10);}

.sec2 .txt {
	font-size: calc(100vw / 750 * 26);
	margin-top: calc(100vw / 750 * 5);
	margin-bottom: calc(100vw / 750 * 50);
	line-height: 1.9;
	letter-spacing: 0.05em;}

.sec2 h2 {
	font-size: calc(100vw / 750 * 34);
	padding-top: calc(100vw / 750 * 16);}

.sec2 .bg1,
.sec2 .bg2,
.sec2 .bg3 {width: calc(100vw - (100vw / 750 * 420)); background-size: 100%;}

.sec2 .img_fr{
	position: absolute;
	top:calc(100vw / 750 * -60);
	right:calc(100vw / 750 * 16);
	z-index:20;
	width:18%;}

.sec2 .img_fl{
	position: absolute;
	bottom:calc(100vw / 750 * 170);
	left:calc(100vw / 750 * 0);
	z-index:20;
	width:26%;}

.sec2 .note{
	margin-top: calc(100vw / 750 * 60);
	font-size: calc(100vw / 750 * 20);}

.sec3 .inner{
	width:100%;
	margin-top: calc(100vw / 750 * 20);
	margin-bottom: calc(100vw / 750 * 50);}

.sec3 h3{
	font-size: calc(100vw / 750 * 32);
	margin-top: calc(100vw / 750 * 20);}

.sec3 .txt{
	text-align:center;
	margin:0 auto 0;
	width:80%;}

.sec3 .tel{
	width:80%;
	text-align:center;
	margin:10px auto;}

.sec3 p{
    font-size: calc(100vw / 750 * 26);
	margin-top:0;
	margin-bottom: calc(100vw / 750 * 20);}

}

