@charset "utf-8";

/* #browserUpgradeMessage _________________________*/
#browserUpgradeMessage{
	display: none;
}
#browserUpgradeMessage{
	display: block\9; /* IE10 以下には表示する */
}

/* パンくず 位置調整  _________________________*/
@media screen and (max-width:767px) and (min-width:1px) {
	section.contents#one-column {
					top: 75px !important;
	}
}

/* hdr _________________________*/
#categoryVisual{
	background-color: #00cbd6;
}
#categoryVisual h1{
	height: 183px !important;
	display: block;
	position: relative;
	padding-top: 0px !important;
}
#categoryVisual img.hdr_ttl  {
	width: 483px;
	height: auto;
	position: absolute;
	left: 50px;
	top: 50px;
}
#categoryVisual img.ttl_animation {
	height: 183px;
	right: 0px;
	position: absolute;
	top: 0px; /* 20240411 */
}
@media screen and (max-width:767px) and (min-width:1px) {
		#categoryVisual h1{
		height: auto !important;
		padding-top: 0.3em !important;
		padding-bottom: 0 !important;
		}
		#categoryVisual img.hdr_ttl{
			width: 85%;
			position: static;
			height: auto;
			padding-top: 30px;
			padding-bottom: 20px;
			margin-left: auto;
			margin-right: auto;
			display: block;
		}
		#categoryVisual img.ttl_animation{
			width: 100%;
			position: static;
			height: auto;
		}
}

/* Common _________________________*/
#naruhodo_contents{
	margin-left: auto;
	margin-right: auto;
	display: block;
	font-size: 16px;
}
p.lead{
/*	font-weight: bold;*/
	font-feature-settings : "palt";
	line-height: 1.8;
}
p.lead.center{
	width: 850px;
	text-align: center;
}
.line{
	width: 940px;
	border-bottom: 2px dotted #d4d9e9;
	display: block;
	clear: both;
	padding-top: 6em;
	margin-left: auto;
	margin-right: auto;
}
.lead_block{
	width: 960px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width:767px) and (min-width:1px) {
	p.lead{
		width: 100%;
		text-align: left !important;
	}
	p.lead.center{
		width: 100%;
		text-align: center !important; 
	}
	.lead_block {
			width: 90% !important;
			margin-right: auto !important;
			margin-left: auto !important;
			float: none !important;
			margin-top: 2em !important;
	}
	.line{
	width: 90%;
	padding-top: 4em !important;
	}
}

/* btns _________________________*/
.btns {
	text-align: center;
}
.btns li {
  display: inline-block;
  margin: 0 6px;
}
a.btn,
a.btn:visited {
	display: inline-block;
	padding: 10px 30px 10px 20px;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	color: #ffffff;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .2);
	background-color: #007aff;
	position: relative;
}
a.btn:active,
a.btn:hover{
	color: #007aff !important;
	background: #e1e1e1 !important;
}
a.btn:hover {
	color: #007aff !important;
}
a.btn::after {
	content: '\f105';
	margin-left: 7px;
	font-family: "Font Awesome 5 Free";/* 20180912 */
	font-weight:900!important;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-60%);
	transform: translateY(-60%);
	right: 10px;
	line-height: 1;
}	
@media screen and (max-width:767px) and (min-width:1px) {
	.btns li{
	margin-bottom: 0.5em;
	}
}

/* ボタン アニメーション　Radial Out */
.hvr-radial-out {
 display: inline-block;
 vertical-align: middle;
 -webkit-transform: perspective(1px) translateZ(0);
 transform: perspective(1px) translateZ(0);
 box-shadow: 0 0 1px rgba(0, 0, 0, 0);
 position: relative;
 overflow: hidden;
 -webkit-transition-property: color;
 transition-property: color;
 -webkit-transition-duration: 0.5s;
 transition-duration: 0.5s;
}
.hvr-radial-out:before {
 content: "";
 position: absolute;
 z-index: -1;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background: #f8f8f8;
 border-radius: 100%;
 -webkit-transform: scale(0);
 transform: scale(0);
 -webkit-transition-property: transform;
 transition-property: transform;
 -webkit-transition-duration: 0.5s;
 transition-duration: 0.5s;
 -webkit-transition-timing-function: ease-out;
 transition-timing-function: ease-out;
}
.hvr-radial-out:hover, .hvr-radial-out:focus, .hvr-radial-out:active {
  color: white;
}
.hvr-radial-out:hover:before, .hvr-radial-out:focus:before, .hvr-radial-out:active:before {
  -webkit-transform: scale(2);
  transform: scale(2);
}
.hvr-radial-out.clicked:hover:before { 
		-webkit-transform: scale(2); 
		transform: scale(2); 
} 
.hvr-radial-out.clicked:before { 
		-webkit-transform: scale(0) ; 
		transform: scale(0) ; 
} 

/* animation _________________________*/
.container {
	width: 980px;
	color: #0e2c86;
	position: relative;
	z-index: 0;
	padding-top: 6em;
	margin-left: auto;
	margin-right: auto;
}
.container:after {
	content:" ";
	display:block;
	clear:both;
}
.dom_overlay_container{
	pointer-events: none;
	overflow: hidden;
	left: 0px;
	top: 0px;
	display: block;
}
.canvas{
	display: block;
}
.animation_container img{
  width: 100%;
}
@media screen and (max-width:767px) and (min-width:1px) {
	.container{
	width: 100%;
	padding-top: 4em !important;
    overflow: hidden;
	}
	.canvas{
	margin-left: auto;
	margin-right: auto;
	}
}


/* contents _________________________*/

@media screen and (max-width:767px) and (min-width:1px) {
	.animation_container{
	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	float: none !important;
	}
}

/* container00 */
#container00 {
	text-align: center;
	display: block;
}
#container00 img{
width: 200px;
}
#container00 #animation_container0 {
	width: 240px;
	height: 120px;
	display: block;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 1em;
}
@media screen and (max-width:767px) and (min-width:1px) {
	#container00 .animation_container {
	width: 240px !important;
	}
	#container00 p.lead.center {
  text-align: center!important;
	}
	#container00 p.lead br{
	display: none;
	}
}

/* container01 */
#container01 #animation_container1 {
	width: 500px;/* 20240513 470 */
	float: left;
	margin-left: 20px;/* 20240513 40 */
}
#container01 .lead_block{
	width: 370px;
	margin-right: 10px;
	float: right;
	margin-top: 8em;
}
@media screen and (max-width:767px) and (min-width:1px) {
  #container01 #animation_container1 {
    width: 90% !important;
    margin: auto !important;
  }
}

/* container02 */
#container02 #animation_container2 {
	width: 470px;/* 20240513 430 */
	float: right;
	margin-right: 50px;
}
#container02 .lead_block{
	width: 390px;
	margin-left: 30px;
	float: left;
	margin-top: 3em;
}
@media screen and (max-width:767px) and (min-width:1px) {
  #container02 #animation_container2 {
    width: 90% !important;
    margin: auto !important;
  }
}

/* container03 */
#container03 #animation_container3 {
	width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
  display: flex;
  align-items: center;
  gap:20px;
  justify-content: center;
}
#container03 a.btn{
	width: 14.5em;
}
#container03 #animation_container3 picture:first-of-type{
  width: 45%;
}
#container03 #animation_container3 picture:last-of-type{
  width: 40%;
}
@media screen and (max-width:767px) and (min-width:1px) {
  #container03 #animation_container3 {
	  width: 85% !important;
    display: block;
    margin: auto !important;
  }
  #container03 #animation_container3 picture:first-of-type{
    width: 100%;
    padding:0 30px;
    margin-bottom: 1em;
    display: block;
  }
  #container03 #animation_container3 picture:last-of-type img{
    padding-right: 20px;
  }
	p.lead.center{
	  text-align: left !important;
	}
}

/* container04 */
#container04 #animation_container4 {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
}
#container04.container{
	padding-top: 6em;
}
#container04 .line{
	padding-top: 7em;
}
#container04.container br{
	display: none;
}
#container04 a.btn{
	width: 19em;
	height: 3.5em;
}
#container04 a.btn#container04_btn1{
	line-height:2.2;
}
#container04 #animation_container4 div{
  display: flex;
  justify-content: center;
  margin-bottom: 2em;
}
#container04 #animation_container4 div picture img{
  height: 125px;
}
#container04 #animation_container4 div picture:last-of-type{
  margin-right: 70px;
  margin-left: 50px;
}
@media screen and (max-width:767px) and (min-width:1px) {
	#container04.container br{
	  display: block;
	}
  #container04 #animation_container4 > picture{
    width: 90%;
    margin: auto;
    display: block;
  }
  #container04 #animation_container4 div picture:last-of-type{
    margin-right: 25px;
    margin-left: 10px;
  }
  #container04 #animation_container4 div picture img{
    height: 20vw;
  }
}

/* container05 */
#container05 #animation_container5 {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
}
#container05 #animation_container5 picture:first-of-type{
  display: block;
  width: 500px;
  margin: 0 auto 2em;;
}

@media screen and (max-width:767px) and (min-width:1px) {
  #container05 #animation_container5{
    width: 95% !important;
    margin: auto !important;
  }
	#container05 #animation_container5 .canvas{
		margin-left: 0px;
	}
  #container05 #animation_container5 picture:first-of-type{
    width: 90%;
  }
}

/* container06 */
#container06 #animation_container6 {
	width: 980px;
	margin-bottom: 3em;
  display: flex;
  align-items: center;
  gap:30px;
  justify-content: center;
}
#container06 #animation_container6 picture:first-of-type{
  width: 42%;
}
#container06 #animation_container6 picture:last-of-type{
  width: 50%;
}
#container06 a.btn{
	width: 12.2em;
}
@media screen and (max-width:767px) and (min-width:1px) {
  #container06 #animation_container6 {
	  width: 90% !important;
    display: block;
    margin: auto !important;
  }
  #container06 #animation_container6 picture{
    width: 100% !important;
    padding: 0 10px;
    display: block;
  }
  #container06 #animation_container6 picture:first-of-type{
    padding: 0 30px;
    margin-bottom: .5em;
  }
}

/* container07 */
#container07 #animation_container7 {
	width: 470px;
	height: 380px;
	float: left;
	margin-left: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#container07 #animation_container7 picture{
  width: 80%;
}
#container07 .lead_block{
	width: 420px;
	margin-right: 10px;
	float: right;
	margin-top: 3em;
}
#container07 a.btn{
	width: 14em;
	margin-bottom: 1em;
}
@media screen and (max-width:767px) and (min-width:1px) {
	#container07 a.btn{
		margin-bottom: 0;
	}
  #container07 #animation_container7 {
    height: auto;
    margin-bottom: 3.5em;
  }
  #container07 #animation_container7 picture{
    width: 82%;
  }
}
/* container08 */
#container08 #animation_container8 {
	width: 430px;
	height: 420px;
	float: right;
	margin-right: 50px;
}
#container08 .lead_block{
	width: 380px;
	margin-right: 60px;
	float: left;
	margin-top: 8em;
	margin-left: 20px;
}
#container08.container{
	padding-top: 5em;
}
#container08 .line{
	padding-top: 6em;
}

/* container09 */
#container09 #animation_container9 {
	width: 500px;
	float: left;
	margin-left: 20px;
}
#container09 .lead_block{
	width: 380px;
	margin-right: 20px;
	float: right;
	margin-top: 6em;
}
#container09.container{
	padding-top: 6em;
}
#container09 .line{
	padding-top: 7em;
}
#container09 #animation_container9 picture:first-of-type{
  width: 70%;
  margin: auto;
  display: block;
  margin-bottom: 1em;
}
#container09 a.btn{
	width: 13em;
}
@media screen and (max-width:767px) and (min-width:1px) {
  #container09 #animation_container9 picture{
    width: 93%;
    padding-right: 0;
    margin: auto;
    display: block;
  }
  #container09 #animation_container9 picture:first-of-type{
    width: 70%;
  }
}

/* container10 */
#container10 #animation_container10 {
	width: 450px;
	height: 320px;
	float: right;
	margin-right: 60px;
}
#container10 .lead_block{
	width: 380px;
	margin-right: 60px;
	float: left;
	margin-top: 0em;
	margin-left: 20px;
}
#container10.container{
	padding-top: 6em;
}
#container10 .line{
	padding-top: 7em;
}

/* container11 */
#container11 #animation_container11 {
	width: 980px;
	height: 320px;
	margin-bottom: 3em;
}
#container11.container{
	padding-top: 6em;
}
#container11 .line{
	padding-top: 6em;
}

/* container12 */
#container12 #animation_container12 {
	width: 560px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
}
#container12.container{
	padding-top: 5em;
}
#container12 .line{
	border-bottom-style: none;
}
#container12 a.btn{
	width: 13em;
}
@media screen and (max-width:767px) and (min-width:1px) {
	.btns li{
	margin-bottom: 0.5em;
	}
  #container12 #animation_container12 picture{
    width: 90% !important;
    margin: auto;
    display: block;
  }
}

/* container13 */
#container13 .img_container {
	width: 400px;
	float: left;
	margin-top: 2em;
	text-align: center;
}
#container13 .img_container img#logo_nadeshiko{
width: 220px;
margin: 2.2em 1em 1em 1em;
}
#container13 .img_container img#logo_kenko{
margin: 1em;
}
#container13 .lead_block{
	width: 450px;
	margin-right: 60px;
	float: right;
}
#container13.container{
	padding-top: 7em;
}
#container13 .line{
	padding-top: 6em;
}
#container13 #animation_container13 picture{
  max-width: 340px;
  margin: 0 auto;
  display: block;
  margin-bottom: 1em;
}
@media screen and (max-width:767px) and (min-width:1px) {
	#container13 .img_container {
		width: 100%;
		height: auto;
		float: none;
		text-align: center;
	}
	#container13 .lead_block{
	width: 100% !important;
	margin-right: 0px;
	float: none;
	}
	#container13 p.lead{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	}
	#container13 .img_container img{
	width: 40%;
	margin: 0.5em;
	}
  #container13 #animation_container13 picture{
    width: 75%;
    max-width: none;
  }
}

/* container14 */
#container14 #animation_container14 {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
}
#container14.container{
	padding-top: 6em;
}
#container14 .line{
	padding-top: 7em;
}
/* 20251016
#container14.container br{
	display: none;
}*/
#container14 a.btn{
	width: 19em;
	height: 3.5em;
  line-height:2.2;
}
#container14 #animation_container14 picture:first-of-type{
  max-width: 240px;
  margin: 0 auto;
  display: block;
  margin-bottom: -2em;
}
#container14 #animation_container14 picture:last-of-type{
  padding-right: 15px;
}
@media screen and (max-width:767px) and (min-width:1px) {
	#container14.container br{
	display: block;
	}
  #container14 #animation_container14 picture:first-of-type{
    max-width: none;
    margin-bottom: 0;
    width: 50%;
  }
  #container14 #animation_container14 picture:last-of-type{
    width: 98%;
    padding-right: 0;
    margin: auto;
    display: block;
  }
}

/* container15 */
#container15 #animation_container15 {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
}
#container15 .graf_block{
	width: 450px;
  margin-right: 45px;
	float: right;
}
#container15 .lead_block{
  clear: both;
}
#container15.container{
	padding-top: 6em;
}
#container15 .line{
	padding-top: 7em;
}
#container15.container br{
	display: none;
}
/*#container15 a.btn{
	width: 19em;
	height: 3.5em;
  line-height:2.2;
}*/
#container15 #animation_container15 > picture{
  max-width: 350px;
  margin: 0 auto;
  display: block;
  margin-bottom: 1em;
}
#container15 #animation_container15 div{
  display: flex;
  align-items: flex-end;
  gap:2em;
  justify-content: center;
}
#container15 #animation_container15 div picture:first-of-type{
  width: 40%;
}
#container15 #animation_container15 div picture:last-of-type{
  width: 50%;
}
@media screen and (max-width:767px) and (min-width:1px) {
  #container15 #animation_container15 {
    margin-top: 0;
  }
  #container15.container br {
    display: block;
  }
  #container15 .graf_block {
    width: 100%;
    margin: 0px;
    padding: 20px 10px 0;
  }
  #container15 #animation_container15{
    margin-bottom: 0;
  }
  #container15 #animation_container15 > picture{
    max-width: none;
    width: 80%;
  }
  #container15 #animation_container15 div{
    display: block;
  }
  #container15 #animation_container15 div picture:first-of-type{
    margin-bottom: 2em;
  }
  #container15 #animation_container15 div picture{
    width: 90% !important;
    margin: auto;
    display: block;
  }
}

/* container16 */
#container16 .animation_container {
	width: 350px;
	float: left;
	margin-left: 120px;
}
#container16 .lead_block{
	width: 380px;
	margin-right: 20px;
	float: right;
	margin-top: 6em;
}
#container16 .line{
	padding-top: 5em;
}
#container16 a.btn{
	width: 19em;
}
#container16 a.btn:first-of-type{
  margin-bottom: 1em;
}
@media screen and (max-width:767px) and (min-width:1px) {
  #container16 .animation_container picture{
    display: block;
    width: 70%;
    margin: auto;
  }
  #container16 a.btn:first-of-type{
    margin-bottom: .5em;
  }
}

/* なるほどレベル */
#naruhodo-level{
	z-index: 1000;
	position: fixed;
	left: calc(50% + 490px);
	bottom: 60px;
	width: 80px;
	height: 400px;
	background: url(../images/naruhodo-level-bg.png) no-repeat center 0;
	background-size: 80px auto;
}
#naruhodo-level .bar{
	position: absolute;
	left: 0;
	bottom: 12px;
	width: 80px;
	height: 0;
	background: url(../images/naruhodo-level-bar.png) no-repeat center bottom;
	background-size: 26px auto;
}
#naruhodo-level .light{
	position: absolute;
	left: 0;
	top: 25px;
	width: 80px;
	height: 97px;
	background: url(../images/naruhodo-level-light.png) no-repeat center 0;
	background-size: 26px auto;
}
#naruhodo-level .light.finish{
	background-image: url(../images/naruhodo-level-light-finish.png);
	animation: hikaru 600ms steps(1);
}
@keyframes hikaru {
	0% {
		transform: rotate(5deg);
	}
	15% {
		transform: rotate(-5deg);
	}
	30% {
		transform: rotate(5deg);
	}
	45% {
		transform: rotate(-5deg);
	}
	60% {
		transform: rotate(5deg);
	}
	75% {
		transform: rotate(-5deg);
	}
	90% {
		transform: rotate(5deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@media screen and (min-width:1px) and (max-width:1100px) {
	#naruhodo-level{
	display: none;
	}
}

/* 20190515 なるほど！レベルにあわせる */
.pageTop a, .pageTop2 a {
    margin-left: 1010px;
}
