@charset "UTF-8";
/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
/*================================================
 *  一般・共通設定
 ================================================*/
body {
	width:100%;
	margin:0;
	padding:0;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:16px;/*文字サイズ*/
	line-height:2;/*行間*/
	box-sizing:border-box;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
a {
	color:#000;
	text-decoration:none;
}
a:hover {
	color:#000;
}
@media screen and (max-width: 749px){
}
/*================================================
 *  フロート回避
 ================================================*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
/*================================================
 *  ヘッダー
 ================================================*/
header {
	position:relative;
	width:768px;
	margin:0 auto;
}
header .inner {
	width:100%;
	height:600px;
	background:#FFF url(../images/head_bg.jpg) no-repeat center top;
	background-size:100% auto;
}
header .inner .head_tab {
	line-height:0;
	padding:21px 0 23px;
}
header .inner .head_tab img {
	width:100%;
	line-height:0;
}
header .inner .title {
	line-height:0;
}
header .inner .title img {
	width:100%;
	line-height:0;
}
header .inner .box1 {
	position:absolute;
	bottom:11%;
	left:0;
	z-index:3;
	width:35.026%;
	line-height:0;
}
header .inner .box1 img {
	width:100%;
	line-height:0;
}
header .inner .box2 {
	position:absolute;
	bottom:11%;
	left:31.2%;
	z-index:5;
	width:38.02%;
	line-height:0;
}
header .inner .box2 img {
	width:100%;
	line-height:0;
}
header .inner .box3 {
	position:absolute;
	bottom:11%;
	right:0;
	z-index:4;
	width:36.45833333%;
	line-height:0;
}
header .inner .box3 img {
	width:100%;
	line-height:0;
}
header .tab {
	width:100%;
	line-height:0;
}
header .tab img {
	width:100%;
	line-height:0;
}
@media screen and (max-width:360px) {
   /*画面幅が360px以下の時*/
header .inner {
	height:281px;
}
}
@media (min-width: 361px) and (max-width: 411px) {
   /* ここに幅が361px～411pxまでの CSS を記述 */
header .inner {
	height:293px;
}
}
@media screen and (max-width: 749px){
header {
	width:100%;
}
header .inner {
	width:100%;
	max-height:323px;
}
header .inner .head_tab {
	padding:2.5% 0 3%;
}
}
/*================================================
 *  本文
 ================================================*/
#wrapper {
	width:768px;
	margin:0 auto;
}
.first {
	position:relative;
	width:100%;
	height:1005px;
	background:#FFF url(../images/main_bg.jpg) no-repeat center top;
	background-size:100% auto;
}
.first .circle1 {
	position:absolute;
	top:2%;
	left:35%;
	z-index:3;
	width:30.208333%;
	line-height:0;
}
.first .circle1 img {
	width:100%;
	line-height:0;
}
.first .circle2 {
	position:absolute;
	top:21%;
	left:15.5%;
	z-index:3;
	width:30.208333%;
	line-height:0;
}
.first .circle2 img {
	width:100%;
	line-height:0;
}
.first .circle3 {
	position:absolute;
	top:21%;
	right:15.5%;
	z-index:3;
	width:30.208333%;
	line-height:0;
}
.first .circle3 img {
	width:100%;
	line-height:0;
}
.first .phrase {
	line-height:0;
	padding:58% 0 25%;
}
.first .phrase img {
	width:100%;
	line-height:0;
}
.first .text {
	font-size:32px;
	line-height:1.2;
	text-align:center;
	padding-bottom:2%;
}
.btn {
	width:85.677%;
	margin:0 auto;
}
.btn img {
	width:100%;
	line-height:0;
}
.second {
	position:relative;
	width:100%;
	height:832px;
	background:#FFF url(../images/main_bg2_2.jpg) no-repeat center top;
	background-size:100% auto;
}
.second .title_left {
	position:absolute;
	top:0;
	left:0;
	width:27.0833333%;
	line-height:0;
}
.second .title_left img {
	width:100%;
	line-height:0;
}
.second .title_right {
	position:absolute;
	top:0;
	right:0;
	width:72.9166666%;
}
.second .title_right .text {
	font-size:32px;
	line-height:1;
	padding:22% 0 0;
}
.line_marker {
	font-weight:bold;
	background-image:linear-gradient(to bottom, transparent 45%, #ffff00 45%, #ffff00 85%, transparent 85%, transparent 100%);
}
.second .text1 {
	position:absolute;
	top:36%;
	left:0;
	width:63.5416666%;
	line-height:0;
}
.second .text1 img {
	width:100%;
	line-height:0;
}
.second .text2 {
	position:absolute;
	top:52%;
	left:0;
	width:63.5416666%;
	line-height:0;
}
.second .text2 img {
	width:100%;
	line-height:0;
}
.second .text3 {
	position:absolute;
	top:68%;
	left:0;
	width:63.5416666%;
	line-height:0;
}
.second .text3 img {
	width:100%;
	line-height:0;
}
.second .text4 {
	position:absolute;
	top:84%;
	left:0;
	width:63.5416666%;
	line-height:0;
}
.second .text4 img {
	width:100%;
	line-height:0;
}
.second .chara {
	position:absolute;
	top:30%;
	right:0;
	width:34.1145833%;
	line-height:0;
}
.second .chara img {
	width:100%;
	line-height:0;
}
.text_box {
	width:100%;
}
.text_box img {
	width:100%;
	line-height:0;
}
.third {
	position:relative;
	width:100%;
	height:1190px;
	background:#FFF url(../images/main_bg3.jpg) no-repeat center top;
	background-size:100% auto;
}
.third .worries1 {
	position:absolute;
	top:6%;
	left:0;
	width:48.30729166%;
	line-height:0;
}
.third .worries2 {
	position:absolute;
	top:16%;
	right:0;
	width:52.34375%;
	line-height:0;
}
.third .worries3 {
	position:absolute;
	top:28%;
	left:0;
	width:55.59895833%;
	line-height:0;
}
.third .text {
	position:absolute;
	bottom:3%;
	left:0;
	line-height:0;
}
.third img {
	width:100%;
	line-height:0;
}
.step {
	line-height:0;
}
.step img {
	width:100%;
	line-height:0;
}
.four {
}
.four img {
	width:100%;
	line-height:0;
}
.four .q_box {
	position:relative;
	width:95%;
	padding:1.75em 1em 1em;
	margin:1em auto 3em;
	border:solid 5px #00b900;
}
.four .q_box .q-title {
	position:absolute;
	display:inline-block;
	top:-28px;
	left:10px;
	font-size:30px;
	font-weight:bold;
	line-height:1;
	padding:10px 9px 8px;
	background:#FFF;
	border:solid 5px #979797;
}
.four .q_box .select_box {
	font-size:32px;
	font-weight:bold;
}
.four .q_box .select_box .question {
	border-bottom:solid 5px #00b900;
}
.four .q_box .select_box .question span {
	font-size:70%;
}
.four .text {
	text-align:center;
	font-size:40px;
	font-weight:bold;
	margin-top:-1em;
}
.option-input {
	margin:0 0.5rem 0 1rem;
	cursor:pointer;
	vertical-align:middle;
	font-size:1em;
	line-height:inherit;
}







@media screen and (max-width:360px) {
   /*画面幅が360px以下の時*/
.first {
	height:471px;
}
.second {
	height:390px;
}
.third {
	height:558px;
}
}
@media (min-width: 361px) and (max-width: 411px) {
   /* ここに幅が361px～411pxまでの CSS を記述 */
.first {
	height:491px;
}
.second {
	height:406px;
}
.third {
	height:581px;
}
}
@media screen and (max-width: 749px){
#wrapper {
	width:100%;
}
.first {
	max-height:542px;
}
.first .text {
	font-size:4.348vw;
}
.second {
	max-height:449px;
}
.second .title_right .text {
	font-size:4.348vw;
}
.third {
	max-height:641px;
}
.four .q_box .select_box {
	font-size:1rem;
}
.four .text {
	font-size:4.348vw;
	margin-top:-2em;
}
}















/*================================================
 *  アニメーション
 ================================================*/
.rotate-anime {
  animation: rotate-anime 3s linear;
}
@keyframes rotate-anime {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}

.pulse {
	animation: pulse 1s infinite ease-out;
}
.pulse:hover {
	animation-play-state: paused;/*マウスオンで一時停止*/
	opacity:.8;
}
@keyframes pulse {
  0%  {transform: scale(1);}
  50%  {transform: scale(1.1);}
  100%  {transform: scale(1);}
}

.sec_title {
	animation:sec_title 3s ease-in;
}
@keyframes sec_title {
  0%  {transform: scale(0) translate(100%, 100%);}
  50%  {transform: scale(0) translate(100%, 100%);}
  100%  {transform: scale(1) translate(0%, 0%);}
}


/*================================================
 *  フッター
 ================================================*/
footer {
	width:768px;
	margin:100px auto 201px;
}
footer .inner {
	background:#f9ed01;
	text-align:center;
}
footer .inner .text {
	font-size:14px;
	line-height:1.6;
	padding:1em 0 0.8em;
}

@media screen and (max-width:360px) {
footer {
	width:100%;
	margin-bottom:94px;
}
footer .inner .text {
	font-size:2.9vw;
}
}
@media (min-width: 361px) and (max-width: 411px) {
footer {
	width:100%;
	margin-bottom:98px;
}
footer .inner .text {
	font-size:2.9vw;
}
}
@media (min-width: 412px) and (max-width: 749px){
footer {
	width:100%;
	margin-bottom:108px;	
}
footer .inner .text {
	font-size:2.9vw;
}
}



/*================================================
 *  下部バナー
 ================================================*/
.totop {
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
}
.totop .inner {
	width:768px;
	background:#00b900;
	line-height:0;
	margin:0 auto;
}
.totop a {
	display:block;
	text-decoration:none;
}
.totop a:hover {
	opacity:.7;
}
.totop img {
	width:100%;
	line-height:0;
}
@media screen and (max-width: 749px){
.totop .inner {
	width:100%;
}
}



/*================================================
 *  
 ================================================*/

.info_bg {
	background:#fff;
	padding-top:2.9vw;
}
ul.info {
	width:768px;
	font-size:14px;
	line-height:1.3;
	margin:0 auto;
}
ul.info li {
	padding:0.5rem 4% 0.2rem;
	border-bottom:solid 1px #f9f9aa;
}
@media screen and (max-width: 749px){
ul.info {
	width:100%;
	font-size:3.382vw;
}
}
