@charset "UTF-8";
body,
html {
  height: 100%;
  margin: auto;
	font-size: 110%;
	scroll-behavior: smooth;
	letter-spacing: 2px;
	font-family: "Zen Maru Gothic", serif;	
}

p {
	margin-top: 0;
	margin-bottom: 30px;
	line-height: 1.7;
}

.inner {
	box-sizing: border-box;
	margin: auto;
	padding: 70px 0;
	width: 800px;
}

section .inner {}

section:nth-of-type(even) {	background: #e0effa;}

h2 {
	color: #0175c2;
	font-size: 180%;
	line-height: 1.5;
	margin: auto auto 30px;
	text-align: center;
}

h3 {
	font-size: 150%;
	line-height: 1.5;
	margin: auto auto 10px;
}

section p {	line-height: 2;}

section p:last-child { margin-bottom: 0;}

.normal_box {
	box-sizing: border-box;
	padding: 15px;
	margin-bottom: 20px;
}

.sp { display: none;}

.bg {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.parallax-bg {
	background: #ffdb01;
	background-size: 50%;
  background-attachment: fixed;
  background-position: center;
	background-blend-mode: lighten;
	color: #000;
}

.scrollbox { background-color: #fff;}

.vimeo {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.vimeo iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.vm_box {
	background: #000;
	color: #fff;
	text-align: center;
	width: 100%;
	padding-top: 56.25%;
  position :relative;	
}

.vm_box p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}

.vm_img {
	display: block;
	margin: auto;
	width: 78%;
}

.apbtn_box {
	width: 100%;
	margin: auto;
	background: #0175c2 !important;
}

.apbtn_box .inner {
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}

.apbtn_box p {
	margin-bottom: 7px;
	text-align: center;
	color: #fff;
}

.apbtn_box p:first-of-type {
	font-weight: 600;
	font-size: 110%;
}

.apbtn_box a {
	box-sizing: border-box;
	display: block;
	width: 100%;
	background: #fff;
	border: solid 2px #000;
	border-radius: 5px;
	color: #000;
	font-size: 120%;
	font-weight: 600;
	margin-bottom: 10px;	
	padding: 15px;
	text-align: center;
	text-decoration: none;
	transition: 0.3s;
	position: relative;
}

.apbtn_box a:before {
	content: "⚫︎";
	color: #fff;
	opacity: 0.5;
	font-size: 60%;
	position: absolute;
	margin: auto;
	top: 2%;
	left: 5px;
	transition: 0.3s;	
}

.apbtn_box a:after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: solid 2px #000;
	border-right: solid 2px #000;
	transform: rotate(45deg);
	position: absolute;
	margin: auto;
	top: 42%;
	right: 20px;
	transition: 0.3s;
}

.apbtn_box a:hover {
	opacity: 0.7;
	letter-spacing: 3px;
}

.apbtn_box a:hover:before {
	opacity: 0;
}

.apbtn_box a:hover:after {
	right: 17px;
}

.apbtn_box li:nth-child(1) a {
	background: #fefce5;
}

.apbtn_box li:nth-child(2) a {
	background: #ffd800;
}

.apbtn_box li:nth-child(3) a {
	background: #3aad36;
	color: #fff;
}

.apb_icon {
	width: 30px;
	vertical-align: -15%;
	margin-left: 3px;
}


@media screen and (max-width: 800px) {
body,
html {
	font-size: 100%;
	background: none;
}

h2 {
	font-size: 7vw;
	text-align: center;
}

h2 br { display: block !important;}

h3 { font-size: 6vw;}

.inner {
	padding: 40px 3%;
	width: 100%;
	text-align: left;
}

section .inner { font-size: 110%;}
section .inner br { display: none;}

.pc { display: none;}
.sp { display: block;}

.vm_img {	width: 100%;}

.apbtn_box { width: 100%;}

.apbtn_box p:first-of-type {
	font-weight: 600;
	font-size: 90%;
}

.apbtn_box p:last-of-type {
	font-size: 85% !important;
	margin-top: -3px;
}

.apbtn_box a {
	font-size: 4vw;
	padding: 20px;
}

.apbtn_box a:after { right: 10px;}
}


/* header
   ========================================================================== */
header {
	background: #0175c2;
}

.hdr_inner {
	margin: auto;
	padding: 20px 0 40px;
	width: 900px;
}

h1 { display: none;}

h1 img { width: 100%;}

.hdr_img_00 {
	display: block;
	margin: auto;
	width: 100%;
}

.hdr_img_01 {
	display: block;
	margin: 15px auto auto;
	width: 87%;
}

.hdr_img_02 {
	display: block;
	margin: -30px auto 30px;
	width: 100%;
}

.hdr_img_03 {
	display: block;
	margin: auto auto 30px;
	width: 90%;
}

@media screen and (max-width: 800px) {
.hdr_inner {
	box-sizing: border-box;
	padding: 20px 3%;
	width: 100%;
}

.hdr_img_00 {
	margin: auto;
}

.hdr_img_01 {
	width: 95%;
}

.hdr_img_02 {
	margin: -10px auto 20px;
}

.hdr_img_03 {
	margin: auto auto 20px;
	width: 100%;
}
}


/* 

こんな状態になっていませんか？

========================================================================== */
.kj_list {
	margin-bottom: 30px;
}

.kj_list li {
	box-sizing: border-box;
	border-radius: 7px;
	font-style: italic;
	padding: 10px;
	margin-bottom: 15px;
	background: #e2eefc;
}

.ih_box {
	position: relative;
	margin-bottom: 10px;
}

.ih_list {
	margin-bottom: 30px;
}

.ih_list  li {
	clear: both;
	display: inline-block;
	box-sizing: border-box;
	border-radius: 7px;
	font-style: italic;
	padding: 10px;
	margin: 0 40% 15px 0;
	background: #fefce5;
}

.ih_img { 
	width: 33%;
	text-align: center;
	position: absolute;
	margin: auto;
	top: 0;
	right: 0;
}

.ih_img img {
	width: 37% !important;
	display: inline-block;
} 

.ih_box img:first-of-type { margin: 0 30%;}


@media screen and (max-width: 800px) {
.kj_list li {
	text-indent: -1em;
	padding-left: 1em;
}

.ih_list li {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
	margin: 0 0 15px;
}

.ih_img { 
	width: 100%;
	position: static;
	margin: auto;
}

.ih_img img {
	width: 25% !important;
	display: inline-block;
}

.ih_box img:first-of-type { margin: 0;}
}


/* 

「知らずに続ける投資」ほど、危ないものはない

========================================================================== */
.st_box {
	position: relative;
}

.st_list {
	margin-bottom: 30px !important;
	width: 73%;
}

.st_list li {
	box-sizing: border-box;
	border-radius: 7px;
	font-style: italic;
	padding: 10px;
	margin-bottom: 15px;
	background: #fff;
}

.st_list li:last-of-type {
	margin-bottom: 0;
}

.st_img {
	width: 25%;
	position: absolute;
	margin: auto;
	top: 0;
	right: 0;
}

.st_img01 {
	width: 60%;
	opacity: 0.7;
}

.st_img02 {
	width: 60%;
	opacity: 0.7;
	margin: -10px 0 0 30%;
}


@media screen and (max-width: 800px) {
.st_list {
	margin-bottom: 10px !important;
	width: 100%;
}

.st_list li {
	text-indent: -1em;
	padding-left: 1em;
}

.st_img {
	width: 100%;
	position: static;
	margin: auto;
	text-align: center;
}

.st_img01,
.st_img02 {
	width: 23%;
	display: inline-block;
	margin: auto 1%;
}
}


/* 
	絶望の中で得た本当の学びと経験
	
   ========================================================================== */
.pan_img {
	width: 28%;
	float: right;
	margin: auto auto 20px;
}

.pan_img2 {
	width: 20%;
	float: right;
	margin: -160px auto 20px;
}

.pan_msg {
	display: block;
	background: #fff;
	border-radius: 7px;
	padding: 10px;
	margin-bottom: 30px;
	width: 76%;
	position: relative;
}

.pan_msg::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5%;
  border-style: solid;
  border-width: 25.2px 0 0 25.2px;
  border-color: transparent transparent transparent #fff;
  translate: 100% calc(-50% + 0.4px);
  transform: skew(0, -25deg);
  transform-origin: left;
}

.sm_list {
	margin-bottom: 20px !important;
}

.sm_list li {
	margin-bottom: 5px;
}

.jiku_list {
	margin-bottom: 20px !important;
}

.jiku_list li {
	background: url(../image/axis_arrow_icon_138909.png) no-repeat left center / 15px;
	padding-left: 20px;
	margin-bottom: 5px;
}

@media screen and (max-width: 800px) {
.pan_img {
	display: block;
	width: 50%;
	float: none;
}

.pan_img2 {
	display: block;
	width: 40%;
	margin: auto auto 20px;
	float: none;
}

.pan_msg {
	box-sizing: border-box;
	margin-bottom: 25px;
	width: 100%;
}

.pan_msg::before {
 content: "";
  position: absolute;
  bottom: 10px;
  left: 53%;
  border-style: solid;
  border-width: 30px 10px 0 10px;
  border-color: #fff transparent transparent;
  translate: -50% 100%;
  transform: skew(-25deg);
  transform-origin: top;
}

.pan_msg::after {
 	display: none;
}

.pan_msg p {
	text-indent: -1.1em;
	padding-left: 1em;
}
}


/*

「ひとつだけ」お願いがあります

========================================================================== */
.dk_ttl {
	display: inline-block;
	background: #0175c2;
	border-radius: 30px;
	color: #fff;
	font-size: 160% !important;
	margin: 0 20% 30px 0;
	padding: 10px 20px;
	position: relative;
}

.dk_ttl:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 90%;
  border-style: solid;
  border-width: 16.3px 0 0 24.4px;
  border-color: #0175c2 transparent transparent;
  translate: calc(-50% + 0.8px) 100%;
  transform: skew(13deg);
  transform-origin: top;
}

.dk_box {
	display: inline-block;
	background: #fefce5;
	border-radius: 40px;
	padding: 15px;
	margin-bottom: 30px;
	text-align: center;
	position: relative;
}

.dk_box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.5%;
  border-style: solid;
  border-width: 25.2px 0 0 25.2px;
  border-color: transparent transparent transparent #fefce5;
  translate: 100% calc(-50% + 0.4px);
  transform: skew(0, -25deg);
  transform-origin: left;
}

.dk_box:nth-of-type(even) {
	background: #e2eefc;
}

.dk_box:nth-of-type(even)::after {
  border-color: transparent transparent transparent #e2eefc;
}

.dk_box:nth-of-type(1) { margin-left: 3% !important;}
.dk_box:nth-of-type(2) { margin-left: 20% !important;}
.dk_box:nth-of-type(3) { margin-left: 10% !important;}
.dk_box:nth-of-type(4) { margin-left: 35% !important;}
.dk_box:nth-of-type(5) { margin-left: 20% !important;}

.dk_box p {	margin-bottom: 0;}

.dk_box .man {
	width: 15%;
	position: absolute;
	margin: auto;
	right: -90px;
	top: 20px;
	bottom: 0;
	z-index: 10;
}

.dk_box .woman {
	width: 15%;
	position: absolute;
	margin: auto;
	right: -90px;
	top: 20px;
	bottom: 0;
	z-index: 10;
}


@media screen and (max-width: 800px) {
.dk_ttl {
	display: block;
	box-sizing: border-box;
	font-size: 130% !important;
	margin-bottom: 15px;
	text-align: center;
	width: 100%;
}

.dk_box {
	box-sizing: border-box;
	margin-bottom: 10px;
	width: 80%;
}

.dk_box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4%;
  border-style: solid;
  border-width: 25.2px 0 0 25.2px;
  border-color: transparent transparent transparent #fefce5;
  translate: 100% calc(-50% + 0.4px);
  transform: skew(0, -25deg);
  transform-origin: left;
}

.dk_box:nth-of-type(1) { margin-left: 0 !important;}
.dk_box:nth-of-type(2) { margin-left: 0 !important;}
.dk_box:nth-of-type(3) { margin-left: 0 !important;}
.dk_box:nth-of-type(4) { margin-left: 0 !important;}
.dk_box:nth-of-type(5) { margin-left: 0 !important; margin-bottom: 20px !important;}

.dk_box p {
	font-size: 90%;
	line-height: 1.5 !important;
	text-align: left;
	text-indent: -1.1em;
	padding-left: 1em;
}

.dk_box .man {
	width: 20%;
	top: 0;
	right: -70px;
}

.dk_box .woman {
	width: 20%;
	top: 0;	
	right: -70px;
}
}


/* ファーストビュー

   ========================================================================== */
.firstview {
	box-sizing: border-box;
	background: #0175c2;
}

.firstview .inner {
	padding-top: 30px;
	padding-bottom: 30px;
}

.fst_img_00 {
	display: block;
	margin: auto;
	width: 100%;
}

.fst_img_01 {
	display: block;
	margin: 15px auto auto;
	width: 87%;
}

.fst_img_02 {
	display: block;
	margin: -30px auto 30px;
	width: 100%;
}

.fst_img_03 {
	display: block;
	margin: auto auto 30px;
	width: 90%;
}

.ky_ttl {
	color: #fff;
	font-weight: 600;
	margin: 30px auto 3px;
}

.ky_list li {
	color: #fff;
	font-size: 80%;
	margin-bottom: 3px;
}

.ky_list a {
	color: #fff;
	transition: 0.3s;
}

.ky_list a:hover {
	color: #f00;
	text-decoration: none;
}

@media screen and (max-width: 800px) {
.ky_ttl {	font-size: 90%;}

.ky_list li {	font-size: 70%;}

.fst_img_00 {
	margin: auto;
}

.fst_img_01 {
	margin: 10px auto 5px;
	width: 100%;
}

.fst_img_02 {
	margin: auto auto 15px;
	width: 90%;
}

.fst_img_03 {
	margin: auto auto 20px;
	width: 100%;
}
}


/* 

FOREST INVESTAとは？

========================================================================== */
.fi_box { background: rgba(34,145,65,0.1);}

.fi_box p { text-align: center;}

.fi_txt01 {
	font-size: 110%;
	margin-bottom: 10px !important;
}

.fi_txt02 {
	font-size: 110%;
}

.fi_img {
	display: block;
	margin: auto auto 20px;
	width: 100%;
}


@media screen and (max-width: 800px) {
}


/* 

著者プロフィール

========================================================================== */
.pf_box { background: #fff !important;}

.pf_box .inner {
	font-size: 90%;
	text-align: left !important;
}

.pf_img {
	float: right;
	margin: 0 0 20px;
	width: 33%;
}

.pf_author {
	font-size: 120%;
	font-weight: 600;
	margin-bottom: 5px;
}

.pf_link dt {}

.pf_link dd {
	margin: 0 0  10px;
}

.pf_link a { word-break: break-all !important;}


@media print, screen and (max-width: 800px) {
.pf_img {
	display: block;
	float: none;
	margin: auto auto 10px;
	width: 60%;
}
}



/* form
   ========================================================================== */
.cp_box {
	background: #0175c2;
	color: #fff;
}

.cp_step {
	background: #000;
	box-sizing: border-box;
	border: solid 2px #fff;
	border-radius: 10px;
	padding: 15px 25px;
}

.cp_box h2 { color: #fff;}
.cp_box h2 br { display: none;}

.cp_box h3 {
	background: #000;
	width: 100px;
	height: 100px;
	background: #ffd800;
	border: solid 3px #000;
	border-radius: 50%;
	color: #000;
	font-size: 110% !important;
	margin-bottom: 10px;
  text-align: center;
	line-height: 1;
  position: relative;
}

.cp_box h3 span {
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}

.cp_box h3 b { font-size: 180%;}

.cp_kikan {
	margin: auto auto 10px !important;
	width: 100%;
}

.cp_kikan li {
	border: solid 2px #000;
	background: #fff;
	display: block;
	padding: 10px;
	position: relative;
}

.cp_kikan li br { display: none;}

.cp_kikan li:before {
	content: "⚫︎";
	color: #fff;
	opacity: 0.5;
	font-size: 60%;
	position: absolute;
	margin: auto;
	top: 25%;
	left: 10px;
}

.cp_kikan li:first-child {
	background: #fefce5;
	border-radius: 10px 10px 0 0;
	border-bottom: none;
	color: #000;
	font-weight: 600;
	padding: 3px 10px;	
}

.cp_kikan li:last-child {
	border-radius: 0 0 10px 10px;
	border-top: none;
	color: #000 !important;
}

.cp_arrow {
	display: block;
	margin: auto auto 2px;
	width: 80px;
}

.cp_sc {
	text-align: center;
}

.cp_sc ul {
	display: inline-block;
	text-align: left;
}

.ol_box {
	text-align: center;
	display: block;
}

.cp_box .ollist {
	padding-left: 0;
	list-style: none;
	display: inline-block;
	margin: 0;
}

.cp_box .ollist li {
	text-align: left;
}

.form_box {
	text-align: center;
	padding-bottom: 40px !important;
}

.app_quiz {
	background: #fff;
	border: solid 2px #000;
	border-radius: 15px;
	padding: 5px 10px;
	margin: 20px auto;
}

.app_quiz p { margin-bottom: 0;}

.appli {
	font-weight: 600;
	font-size: 170%;
	line-height: 1.4;
	position: relative;
	margin-bottom: 0;
	text-align: center;
}

.amazon_btn {
	box-sizing: border-box;
	margin: auto !important;
	padding: 0;
  display: flex;
  flex-wrap: wrap;
	justify-content: space-between;
}

.amazon_btn li {
	width: 49.5%;
	width: 100% !important;
	margin: auto auto 1%;
}

.amazon_btn li img {
	width: 50%;
}

.amazon_btn a {
	box-sizing: border-box;
	display: block;
	background: #f9ce99;
	border: solid 2px #5d3126;
	border-radius: 5px;
	font-weight: 600;
	padding: 15px;
	text-align: center;
	color: #000;
	text-decoration: none;
	position: relative;
}

.amazon_btn a:after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: solid 2px #000;
	border-right: solid 2px #000;
	transform: rotate(45deg);
	position: absolute;
	margin: auto;
	top: 42%;
	right: 20px;
	transition: 0.3s;
}

.amazon_btn a:hover {
	/*opacity: 0.7;*/
	transition: 0.3s;
	background: #f7bd75;
	letter-spacing: 3px;	
}

.amazon_btn a:hover:after {
	right: 17px;
}

.form {
	list-style: none;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.form li { text-align: left;}

.form input {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	padding: 15px;
	border-radius: 10px;
	border: solid 1px #666;
	background: #fff;
	-webkit-appearance: none;
}

.form input::-webkit-input-placeholder { color: #ccc;}
.form input::-moz-placeholder {	color: #ccc;}
.form input::-ms-input-placeholder { color: #ccc;}
.form input::placeholder { color: #ccc;}

.form input:focus::-webkit-input-placeholder { color: transparent;}
.form input:focus::-moz-placeholder {	color: transparent;}
.form input:focus::-ms-input-placeholder { color: transparent;}
.form input:focus::placeholder { color: transparent;}

input:focus {
	background: #ffc;
	transition: 0.3s;
}

.sub_btn {
	margin: 15px auto 20px;
	text-align: center;
}

.sub_btn input {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	display: block;
	width: 100%;
	margin: auto;
	padding: 30px 0;
	background: #0175c2;
	color: #fff;
	letter-spacing: 5px;
	font-size: 200%;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	border: solid 3px #000;
	border-radius: 15px;
	-webkit-appearance: button;
}

.sub_btn input:hover {
	cursor: pointer;
 	opacity: 0.6;
	transition: 0.8s;
}

.frm_list {
	font-size: 70%;
	text-align: left;
}

/*.frm_list a {	color: #000;}*/

.frm_list a:hover {
	color: #f00;
	text-decoration: none;
}

.frm_list2 {
	color: #d71718;
	font-weight: 600;
	font-size: 90%;
	text-align: left;
	margin-bottom: 30px !important;
}

.frm_end {
	color: #d71718;
	font-size: 300%;
	font-weight: 600;
}

hr { 
	border: none;
	border-top: solid 1px #0175c2;
	margin: 30px auto;
}


@media print, screen and (max-width: 800px) {
.cp_step {
	padding: 10px;
}

.cp_box h2 { font-size: 7vw;}

.cp_box h3 {
	width: 80px;
	height: 80px;
}

.cp_box h2 br,
.cp_box h3 br { display: block !important;}

.cp_box .ollist {	display: block;}

.form_box {
	text-align: left;
	padding-bottom: 20px !important;
}

.form_box br { display: none;}

.cp_kikan {
	width: 100%;
	text-align: center;
	font-size: 100%;
}

.cp_kikan li {
	padding: 10px 20px;
}

.cp_kikan li:before {
	display: none;
}

.cp_kikan li br { display: block;}

.cp_kikan li:first-child {
	box-sizing: border-box;
	display: block;
	border-radius: 5px 5px 0 0;
	margin: 0;
	width: 100%;
	border-bottom: 0;
}

.cp_kikan li:last-child {
	display: block;
	border-radius: 0 0 5px 5px;
}

.cp_kikan li br { display: block;}

.cp_arrow {	width: 60px;}

.appl_box {
	border: solid 5px #000;
	margin: 0 2%;
	width: 96%;
	text-align: left;
}

.appl_box br { display: none;}

.amazon_btn li {
	width: 100%;
	margin-bottom: 10px;
	font-size: 4vw;
}

.amazon_btn li img { width: 60%;}

.form li:nth-of-type(3) { width: 100%;}
.form li:nth-of-type(4) {	width: 100%; text-align: left;}
.form li:nth-of-type(5) { width: 100%;}

.app_ttl {
	display: block;
	width: 5em;
	text-align: center;
}

.appli {
	font-size: 6vw;
	text-align: center;
}

.sub_btn input { font-size: 7vw;}

.frm_end {
	font-size: 6vw;
	text-align: center;
}

.frm_blk {
	text-align: center !important;
}

.frm_blk br {
	display: block !important;
}
}



/* footer
   ========================================================================== */
footer {
	clear: both;
	background: #fff;
	font-size: 60%;
	padding: 15px 15px 1px;
	overflow: hidden;
}

.ftr_link {
	float: right;
	margin: auto auto 10px;
}

.ftr_link a,
.ftr_link a:active,
.ftr_link a:visited {
	color: #333;
	text-decoration: underline;
}

.ftr_link a:hover {
	color: #F00 !important;
}

.ftr_box {
	float: left;
	margin-bottom: 10px;
}

.ftr_box p { margin-bottom: 2px;}

.ftr_company {
	font-size: 110%;
	font-weight: 600;
	margin-bottom: 5px !important;
}

footer br {	display: none;}

@media screen and (max-width: 800px) {
footer {
	font-size: 2.2vw;
	text-align: center;
	padding-top: 20px;
}

.ftr_link,
.ftr_box {
	float: none;
	font-size: 2.2vw;
	margin-bottom: 10px;
}

.ftr_company {
	font-size: 3vw;
}

footer br {	display: block;}
}



/* 申し込むボタン
   ========================================================================== */
.apply_box {
	box-sizing: border-box;
	width: 100%;
	margin: auto;
	padding: 15px;
	background: rgba(0,0,0,0.8);
	position: fixed;
	bottom: 0;
}

.btn {
	text-align: center;
	margin: auto;
}

.btn a {
	display: inline-block;
	background: #0175c2;
	border: solid 2px #000;
	border-radius: 5px;
	color: #fff;
	padding: 10px 40px;
	text-decoration: none;
}

.btn a:hover {
	transition: 0.3s;
	opacity: 0.7;
}

.page-top {
  height: 45px;
  width: 45px;
  position: fixed;
  right: 10px;
  bottom: 17px;
  background: #fff;
  border: solid 2px #000;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.pagetop__arrow {
  height: 10px;
  width: 10px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: translateY(20%) rotate(-45deg);
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
	transition: 0.5s;
}

@media screen and (max-width: 800px) {
.btn a {
	font-size: 3vw !important;
}

.page-top {
  bottom: 13px;
}
}


/* common
   ========================================================================== */
.w100 { width: 100%;}
.w70 { width: 70%; margin: auto; display: block;}
.w50 { width: 50%;}
.w45 { width: 45%;}
.w40 { width: 40%;}
.w30 { width: 30%;}


.txt_mid {
	font-size: 130%;
	line-height: 1.6;
}

.txt_large {
	font-size: 180%;
	line-height: 1.5;
}

.txt_exlarge {
	font-size: 220%;
	line-height: 1.5;
}

/*▼*/
.dli-caret-down {
  display: block;
  vertical-align: middle;
  color: #0075c1;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 0.64952em 0.375em;
  border-top-color: currentColor;
  border-bottom: 0;
	font-size: 500%;
	transform: scale(1.5, 0.4);
	margin: auto;
	position: relative;
}

.dlicd03 { margin: -30px auto auto;}

.block {
  opacity: 0;
  transition: all 1.5s;
}

.blockl {
  opacity: 0;
  transition: all 1.5s;
	transform: translateX(20px);
}

.blockr {
  opacity: 0;
  transition: all 1.5s;
	transform: translateX(40px);
}

.fadeIn {
	opacity: 1;
	transform: translateY(0px);
	transform: translateX(0px);
}


@media print, screen and (max-width: 800px) {
.btn { text-align: left;}

.btn a {
	width: 70vw;
	font-size: 100%;
	padding: 10px;
	text-align: center;
}

.txt_exlarge { font-size: 8.2vw;}
.txt_large { font-size: 7.2vw;}
.txt_mid { font-size: 6vw;}


.txt_large br,
.txt_mid br { display: none;}
}