@charset "UTF-8";
/*=========================================================================
Display : PC
=========================================================================*/
html, body, div, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, fieldset, input, iframe { margin: 0; padding: 0; }

html{
	font-size:62.5%!important;
}
body{
	font-size:1.5rem!important;
	color:#252525;
	line-height:1.6;
	font-family: 'NotoSansCJKjp', sans-serif, 'メイリオ',meiryo,'ＭＳ Ｐゴシック','MS PGothic',Verdana, Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', Osaka;

}
input {font-size: 87.5%; font-family: 'メイリオ',meiryo,'ＭＳ Ｐゴシック','MS PGothic',Verdana, Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', Osaka, sans-serif;}
ul, ol { list-style: none; line-height:1.87em;}
fieldset, img { border: none; }
caption, th { text-align: left; }
table { border-collapse: collapse; border-spacing: 0; font-size: 100%; }
select option { padding: 0 5px }
form label { cursor: pointer; }
input { vertical-align: middle; }
a { text-decoration: none; color: #314da5; }
a:visited { text-decoration: none; color: #314da5; }
a:hover { color:#c00; text-decoration: underline; }
hr {margin:80px 0;}
pre { width:100%; font-size: 87.5%; font-family: 'メイリオ',meiryo,'ＭＳ Ｐゴシック','MS PGothic',Verdana, Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', Osaka, sans-serif; overflow:auto;}


.btn a:hover {
	opacity: .8;
}
.pc-hide {
	display: none!important;
}
.sp-hide {
	display: block!important;
}
/*------------------------
.str-kv
------------------------*/
.str-kv {
	background: url(../img/img-03.png) top center no-repeat #f7dff2;
  min-height: 764px;
  padding-top: 100px;
}
.str-kv .hdg {
	text-align: center;
}
.str-kv .img {
	width: 400px;
	margin: 36px auto 0;
}
.str-kv .img img {
	max-width: 100%;
}
.str-kv .btn-anchor {
	position: fixed;
	right: 0;
	top: 20%;
	width: 120px;
	z-index: 9999;
}
.str-kv .btn-anchor a:hover {
	opacity: .8;
}
.str-kv .btn-anchor img {
	max-width: 100%;
	height: auto;
}
#d-page-top {
	display: none;
}


/*------------------------
.str-section-01
------------------------*/
.str-section-01 {
	background: #fff;
	padding: 60px 0 100px;
}
.str-section-01 > .inner {
	width: 1000px;
	margin: 0 auto;
}
.str-section-01 .hdg-2 {
	font-size: 3.2rem;
	text-align: center;
	color: #d21177;
	font-weight: bold;
}
.str-section-01 .btn-list {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-top: 30px;
	margin-right: -15px;
	padding: 0 30px;
}
.str-section-01 .btn-list > .btn {
	width: 33%;
	padding: 0 15px 15px 0;
	text-align: center;
}
.str-section-01 .btn-list > .btn a {
	display: block;
	min-height: 3.5em;
	border: solid 1px #d21177;
	border-radius: 30px;
	padding: 8px 15px;
	background: #f7dff2;
	color: #d21177;
	font-size: 1.8rem;
	line-height: 1.2;
}
.str-section-01 .form-block {
	position: relative;
	background: #fff;
	margin-top: 60px;
	padding: 25px 0 15px;
	border-radius: 5px;
}
.str-section-01 .form-block:before,
.str-section-01 .form-block:after {
	display: block;
	position: absolute;
	content: "";
}
.str-section-01 .form-block:before {
	background: url(../img/img-05.png) 0 0 no-repeat;
	width: 125px;
	height: 119px;
	bottom: 0;
	left: 40px;
}
.str-section-01 .form-block form {
	border: none;
	width: 100%;
	margin: 0!important;
}
.str-section-01 .form-block .hdg {
	font-size: 2.3rem;
	text-align: center;
	color: #d21177;
	font-weight: bold;
}
.str-section-01 .form-block .input {
	display: flex;
	width: 620px;
	margin: 20px auto 0;
	border: solid 6px #d9d9d9;
	border-radius: 5px;
}
.str-section-01 .form-block .input input {
	width: 80%;
	padding: 1em 1em;
	border: none;
	font-size: 1.6rem;
}
.str-section-01 .form-block .input button {
	width: 20%;
	margin: 0;
	background: #fcda00;
	border: none;
	box-shadow: none;
	border-radius: 0;
	color: #000000;
	font-size: 2.0rem;
	text-shadow: none;
}
.str-section-01 .form-block .lead-01 {
	position: absolute;
	left: 0;
	top: 0;
}
.str-section-01 .form-block .lead-02 {
	margin-top: 15px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}
.str-section-01 .link {
	margin-top: 15px;
	font-size: 1.8rem;
	text-align: right;
}
.str-section-01 .link a {
  position: relative;
  display: inline-block;
  padding: 0 0 0 29px;
}
.str-section-01 .link a:before {
  background-image: url(/shared/img/sprite.png);
  background-repeat: no-repeat;
  background-position: -132px -179px;
  background-size: 201px 196px;
  position: absolute;
  top: .46666em;
  left: 12px;
  display: block;
  width: 7px;
  height: 8px;
  content: "";
}

/*------------------------
.str-section-02
------------------------*/
.str-section-02 > .inner {
	width: 1000px;
	margin: 0 auto;
}
.str-section-02 .box {
	position: relative;
	margin: 0;
	padding: 45px 50px;
	background: #fff;
}

.str-section-02 .box > .col {
	float: left;
	width: 420px;
	margin-left: 52px;
}
.str-section-02 .box > .col:first-child {
	margin-left: 0;
}
.str-section-02 .box:after {
	content: "";
	display: block;
	float: none;
	clear: both;
}
.str-section-02 .box > .col .hdg {
	font-size: 3.2rem;
	font-weight: bold;
	color: #d21177;
	text-align: center;
}
.str-section-02 .box > .col .img {
	margin-top: 22px;
}
.str-section-02 .box > .col .txt {
	margin-top: 25px;
	font-size: 1.8rem;
}
.str-section-02 .box > .col .btn {
	margin: 25px auto 0;
	max-width: 285px;
}
.str-section-02 .box > .col .btn a {
	display: block;
	position: relative;
	background: #d21177;
	border-radius: 40px;
	padding: 20px 50px;
	font-size: 2.0rem;
	color: #fff;
	text-align: center;
}

/*------------------------
.str-section-03
------------------------*/
.str-section-03 > .inner {
	width: 1000px;
	margin: 0 auto;
}
/*------------------------
.str-section-04
------------------------*/

/*------------------------
.str-section-05
------------------------*/

/*------------------------
.bedore
------------------------*/
#bedore-webagent-inner {
position: fixed;
opacity: 1;
transition: opacity 0.35s ease-out;
}
#bedore-webagent-inner.nofixed {
opacity: 0;
}
#bedore-webagent-inner.bedore-webagent--is-opened {
	height: 512px;
	max-height: 100vh;
}
.bedore-close {
	position: fixed;
	right: 20px;
	bottom: 72px;
	z-index: 2147483620;
	width: 20px;
	height: 18px;
}
.bedore-close img {
	width: 100%;
	height: auto;
}
.bedore-close.nofixed {
	opacity: 0;
}
#bedore-webagent-inner.hide {
  display: none!important;
}


/*=========================================================================
Display : SmartPhone
=========================================================================*/
@media screen and (max-width:767px) {
	/*
	 初期化
	-------------------------------------------------------------------------*/
	html, body, div, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, fieldset, input { margin: 0; padding: 0; }
	h1, h2, h3, h4, h5, h6, pre, code, address, caption, cite, code, em, strong, th { font-size: 1em; font-style: normal; font-weight:normal; }
	body {font-family: 'メイリオ',meiryo,'ＭＳ Ｐゴシック','MS PGothic',Verdana, Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', Osaka, sans-serif; color: #000000;}
	input {font-family: 'メイリオ',meiryo,'ＭＳ Ｐゴシック','MS PGothic',Verdana, Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', Osaka, sans-serif;}
	ul, ol { list-style: none; }
	fieldset, img { border: none; }
	caption, th { text-align: left; }
	table { border-collapse: collapse; border-spacing: 0; font-size: 100%; }
	select option { padding: 0 5px }
	form label { cursor: pointer; }
	input { vertical-align: middle; }
	a { text-decoration: none; color: #314da5; }
	a:visited { text-decoration: none; color: #314da5; }
	a:hover { text-decoration: underline; }
	hr {margin:80px 0;}
	pre { width:100%; font-size: 87.5%; font-family: 'メイリオ',meiryo,'ＭＳ Ｐゴシック','MS PGothic',Verdana, Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', Osaka, sans-serif; overflow:auto;}
	article, section{ margin:0;	padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; }
	input:focus, select:focus, textarea:focus { outline:none; }

	.pc-hide {
		display: block!important;
	}
	.sp-hide {
		display: none!important;
	}

	/*------------------------
	.str-kv
	------------------------*/
	.str-kv {
		background: url(../img/img-03_sp.png) top center no-repeat #ea57a4;
	  min-height: auto;
	  padding-top: 50px;
	}
	.str-kv .img {
		width: 300px;
		margin: 20px auto 0;
	}
	.str-kv .btn-anchor {
		bottom: 100px;
		top: auto;
		width: 69px;
	}

	/*------------------------
	.str-section-01
	------------------------*/
	.str-section-01 {
		padding: 50px 15px;
	}
	.str-section-01 > .inner {
		width: 100%;
		margin: 0;
	}
	.str-section-01 .hdg-2 {
		font-size: 2.0rem;
	}
	.str-section-01 .btn-list {
		margin-top: 18px;
		margin-right: -10px;
		padding: 0;
	}
	.str-section-01 .btn-list > .btn {
		width: 50%;
		padding: 0 10px 10px 0;
	}
	.str-section-01 .btn-list > .btn a {
		padding: 8px 10px;
		font-size: 1.2rem;
	}
	.str-section-01 .form-block {
		margin-top: 45px;
		padding: 20px 10px 10px;
	}
	.str-section-01 .form-block:before,
	.str-section-01 .form-block:after {
		display: block;
		position: absolute;
		content: "";
	}
	.str-section-01 .form-block:before {
		background: url(../img/img-05_sp.png) 0 0 no-repeat;
		background-size: 72px;
		width: 72px;
		height: 66px;
		bottom: 0;
		left: 15px;
	}
	.str-section-01 .form-block .hdg {
		font-size: 1.4rem;
		text-align: left;
	}
	.str-section-01 .form-block .input {
		width: 100%;
		margin: 12px 0 0;
		border: solid 3px #d9d9d9;
	}
	.str-section-01 .form-block .input input {
		width: 70%;
		padding: 0.5em 1em;
	}
	.str-section-01 .form-block .input button {
		width: 30%;
		font-size: 1.2rem;
	}
	.str-section-01 .form-block .lead-01 {
		position: static;
		left: auto;
		top: auto;
		margin: 10px 0 0 90px;
		width: 175px;
	}
	.str-section-01 .form-block .lead-02 {
		margin: 0 0 0 90px;
		font-size: 1.2rem;
		text-align: left;
	}
	.str-section-01 .link {
		margin-top: 8px;
		font-size: 1.4rem;
	}
	.str-section-01 .link a {
	  padding: 0 0 0 26px;
	}

	/*------------------------
	.str-section-02
	------------------------*/
	.str-section-02 {
		padding: 0 15px 40px;
		background-size: 1000px;
	}
	.str-section-02 > .inner {
		width: 100%;
		margin: 0;
	}
	.str-section-02 .hdg-2 {
		width: 90%;
		margin: 0 auto;
	}
	.str-section-02 .box {
		position: relative;
		margin: 0;
		padding: 30px 20px;
	}
	.str-section-02 .box > .col {
		float: none;
		width: 100%;
		margin-left: 0;
	}
	.str-section-02 .box > .col:first-child {
		margin-bottom: 40px;
	}
	.str-section-02 .box > .col .hdg {
		font-size: 2.2rem;
	}
	.str-section-02 .box > .col .img {
		margin-top: 15px;
	}
	.str-section-02 .box > .col .txt {
		margin-top: 10px;
		font-size: 1.3rem;
	}
	.str-section-02 .box > .col .btn {
		margin: 10px auto 0;
		max-width: 285px;
	}
	.str-section-02 .box > .col .btn a {
		border-radius: 40px;
		padding: 14px 30px;
		font-size: 1.4rem;
	}

	/*------------------------
	.str-section-03
	------------------------*/
	.str-section-03 {
		padding: 0 15px 50px;
		background-size: 1000px;
	}
	.str-section-03 > .inner {
		width: 100%;
		margin: 0;
	}
	.str-section-03 .hdg-2 {
		width: 90%;
		margin: 0 auto;
	}
	.str-section-03 .txt {
		margin-top: 20px;
		padding-left: 0;
		font-size: 1.6rem;
	}
	.str-section-03 .form-block {
		margin-top: 170px;
		border-radius: 5px;
		padding: 15px;
	}
	.str-section-03 .form-block:before {
		display: block;
		position: absolute;
		content: "";
		background: url(../img/img-14.png) 0 0 no-repeat;
		background-size: 300px;
		width: 300px;
		height: 152px;
		top: 0;
		left: 50%;
		margin-top: -152px;
		margin-left: -150px;
	}
	.str-section-03 .form-block .hdg {
		font-size: 1.6rem;
	}
	.str-section-03 .form-block .btn-list {
		margin-top: 20px;
		padding: 0;
	}
	.str-section-03 .form-block .btn-list > .btn {
		width: 50%;
		padding: 0 10px 10px 0;
	}
	.str-section-03 .form-block .btn-list > .btn a {
		border-radius: 25px;
		padding: 8px 15px;
		font-size: 1.2rem;
	}
	.str-section-03 > .inner > .btn {
		margin: 10px 20px 0;
		max-width: 100%;
	}
	.str-section-03 > .inner > .btn a {
		border-radius: 40px;
		padding: 15px 30px;
		font-size: 1.6rem;
	}

	/*------------------------
	.str-section-04
	------------------------*/
	.str-section-04 {
		padding: 50px 15px 188px;
	}
	.str-section-04 > .inner {
		width: 100%;
		margin: 0;
	}
	.str-section-04 .hdg-2 {
		width: 90%;
		margin: 0 auto;
	}
	.str-section-04 > .inner > .txt {
		margin-top: 30px;
		font-size: 1.6rem;
		text-align: left;
	}
	.str-section-04 .box-list > div {
		float: none;
		width: 100%;
		min-height: 150px;
		margin: 20px 0 0;
		border-radius: 10px;
	}
	.str-section-04 .box-list > div .hdg {
		font-size: 1.6rem;
	}
	.str-section-04 .box-list > div .txt {
		font-size: 1.4rem;
	}
	.str-section-04 .box-list > .box-01 {
		padding: 28px 10px 10px 110px;
		background: url(../img/img-16.png) 10px bottom no-repeat #fff;
		background-size: 80px;
	}
	.str-section-04 .box-list > .box-01 .txt {
		margin-top: 10px;
	}
	.str-section-04 .box-list > .box-02 {
		margin-right: 0;
		padding: 15px 10px 110px 10px;
		background: url(../img/img-17.png) center bottom no-repeat #fff;
		background-size: 280px;
	}
	.str-section-04 .box-list > .box-02 .txt {
		margin-top: 5px;
	}
	.str-section-04 .box-list > .box-03 {
		padding: 0 10px 10px 0;
	}
	.str-section-04 .box-list > .box-03 .hdg {
		padding: 25px 0 25px 120px;
		background: url(../img/img-18.png) left 5px no-repeat;
		background-size: 100px;
	}
	.str-section-04 .box-list > .box-03 .txt {
		padding-left: 10px;
	}

	/*------------------------
	.str-section-05
	------------------------*/
	.str-section-05 {
		padding: 30px 15px 0 15px;
	}
	.str-section-05 > .inner {
		width: 100%;
		margin: 0;
		padding: 0 0 15px 0;
	}
	.str-section-05 > .inner:before {
		display: block;
		position: absolute;
		content: "";
		background: url(../img/img-20_sp.png) 0 0 no-repeat;
		background-size: 283px;
		width: 283px;
		height: 168px;
		top: 0;
		right: 50%;
		margin-top: -198px;
		margin-right: -141px;
	}
	.str-section-05 .txt {
		width: 100%;
	}
	.str-section-05 .btn {
		margin: 15px 0 0 0;
		max-width: 100%;
	}
	.str-section-05 .btn a {
		border-radius: 50px;
		padding: 15px;
		font-size: 1.6rem;
	}
	/*------------------------
	.bedore
	------------------------*/
	#bedore-webagent-inner.bedore-webagent--is-opened {
		height: 100%;
		max-height: calc(100% - 214px);
		transform: none;
		transition: .2s max-height ease-out;
	}
	#bedore-webagent-inner.bedore-webagent--is-opened.bedore-webagent--is-shrinked {
		max-height: 100vh;
	}
	.gHd2017_menutxt{
		left: auto!important;
		letter-spacing: inherit!important;
	}
	.bedore-close {
		bottom: 50px;
	}
	#bedore-webagent-inner {
		opacity: 1;
		width: 100%;
		/* padding: 0 10px; */
		box-sizing: border-box;
	}
	#bedore-webagent-inner.hoge {
		bottom: -100px;
		-webkit-transform: translateY(200%);
		transform: translateY(200%);
	}
	.bedore-close {
		right: 50%;
		bottom: 50px;
		-webkit-transition: 500ms;
		transition: 500ms;
		width: 20px;
		height: 18px;
		margin-right: -150px;
	}
	.bedore-close.hoge {
		bottom: -100px;
		-webkit-transform: translateY(200%);
		transform: translateY(200%);
	}
}

