@charset "UTF-8";

/* ==========================================================================
 * Font face
 * ========================================================================== */
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

/* ==========================================================================
 * Root
 * ========================================================================== */
*,
::before,
::after {
	background-repeat: no-repeat;
	box-sizing: border-box;
}
html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}
body {
	margin: 0;
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, Osaka, sans-serif;
	font-size: 1.8em;
	font-size: 1.8rem;
	color: #333;
	line-height: 1.5;
	background-color: #fff;
}

/* ==========================================================================
 * HTML5 display definitions
 * ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}
audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}
audio:not([controls]) {
	display: none;
	height: 0;
}

/* ==========================================================================
 * Anchor
 * ========================================================================== */
a:link,
a:visited {
	outline: 0;
	background-color: transparent;
	color: #4f7aac;
	text-decoration: none;
}
a:active,
a:hover {
	outline: 0;
	text-decoration: underline;
}

/* ==========================================================================
 * Embedded
 * ========================================================================== */
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}
svg:not(:root) {
	overflow: hidden;
}

/* ==========================================================================
 * Grouping
 * ========================================================================== */
figure {
	margin: 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	border: none;
	border-top: 1px solid #bbb;
}
dd {
	margin-left: 0;
}

/* ==========================================================================
 * Float
 * ========================================================================== */
.clear {
	clear: both;
}
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}

/* ==========================================================================
 * List
 * ========================================================================== */
ul,
ol {
	padding: 0;
}
ul {
	margin: 0;
	list-style: none;
}
ul.list-disc {
	margin-left: 1.55em;
	list-style: disc;
}
ul.list-annotation {
	margin-left: 1.3em;
}
ul.list-annotation li::before {
	margin-left: -1.3em;
	content: "※\0020";
}
ol {
	margin-left: 1.3em;
}
ol.list-annotation {
	margin-left: 2em;
	padding: 0;
	counter-reset: number;
	list-style: none;
}
ol.list-annotation li::before {
	margin-left: -2em;
	counter-increment: number;
	content: "※"counter(number)"\0020";
}
ul.list-disc li,
ul.list-annotation li,
ol li {
	margin-top: 8px;
}

/* ==========================================================================
 * Text
 * ========================================================================== */
b,
strong {
	font-weight: bold;
	color: #0a6eb4;
}
mark {
	background: #ff0;
	color: #000;
}
small,
.txt-small{
	font-size: 80%;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
address {
	font-style: normal;
}
h1,
.h1 {
	font-size: 3.2rem;
	line-height: 1.2;
	margin: 0;
}
h2,
.h2 {
	font-size: 2.4rem;
	line-height: 1.2;
	margin: 0;
	text-align: center;
}
h3,
.h3 {
	font-size: 1.8rem;
	line-height: 1.2;
	margin: 0;
}
h4,
.h4 {
	font-size: 1.6rem;
	line-height: 1.2;
	margin: 20px 0;
}
p {
	margin: 0;
    font-size: 2rem;
}
p + p {
	margin-top: .5em;
	margin-bottom: 0;
}
.txt-left {
	text-align: left;
}
.txt-center {
	text-align: center;
}
.txt-right {
	text-align: right;
}
.txt-unbold {
	font-weight: normal;
}
.txt-bold {
	font-weight: bold;
}
.txt-emphasis {
	color: #e74c3c;
}
.txt-notes {
	color: #7f8c8d;
}

/* ==========================================================================
 * Table
 * ========================================================================== */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td,
th {
	padding: 0;
}

/* ==========================================================================
 * Common
 * ========================================================================== */
#page_container {
	min-width: 960px;
	max-width: 2000px;
	margin: 0 auto;
}
.inner-width {
	width: 920px;
	margin-right: auto;
	margin-left:  auto;
}
.margin-T60 {
	margin-top: 60px;
}
.howto,
.return,
.chVoice,
.expenditure,
.faq {
	background-color: #f4f1ea;
}
.howto,
.apply,
.result,
.return,
.chVoice,
.expenditure,
.example,
.staffVoice,
.faq,
.about {
	padding-top: 60px;
	padding-bottom: 60px;
}
.contents-desc {
	padding-top: 60px;
	font-size: 2.2rem;
	text-align: center;
}
/*-------------------- Back to Top --------------------*/
a.backtotop {
	position: fixed;
	bottom: 18px;
	right: 5%;
	width: 40px;
	height: 40px;
	padding: 38px 0 0;
	background-color: #ccc;
	color: #fff;
	text-align: center;
	font-size: 14px;
	cursor: pointer;
	opacity: .5;
	border-radius: 50%;
	z-index: 6;
}
a.backtotop::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 17.3px 10px;
	border-color: transparent transparent #ffffff transparent;
}

/* ==========================================================================
 * Header & KeyVisual
 * ========================================================================== */
header .inner-width {
	height: 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.kv {
	height: 548px;
	padding-top: 50px;
	/*background: #291816 url(../images/ab_kv_bg.jpg) no-repeat top center;*/
	background: #fff url(../images/ab10_kv_bg.jpg) no-repeat top center;
}
.kv .cta.reg {
	margin-top: 40px;
}
.kv .cta.reg a img {
	transition: all .3s;
}
.kv .cta.reg a:hover img {
	opacity: .5;
}
.kv-cta-wrap {
    display: -ms-flexbox;
    display: flex;
    margin-top: 50px;
}
.kv-cta-wrap a img  {
    transition: all .3s;
}
.kv-cta-wrap a:hover img {
    opacity: .5;
}
/* ==========================================================================
 * Global Nav
 * ========================================================================== */
.gnav {
	margin-top: 1px;
	background-color: #0a6eb4;
}
.gnav ul {
	width: 960px;
	margin: 0 auto;
	display: table;
	table-layout: fixed;
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
}
.gnav li {
	min-height: 50px;
	display: table-cell;
	line-height: 1.2;
	vertical-align: middle;
	text-align: center;	
}
.gnav li + li {
	border-left: 1px solid #fff;
}
.gnav a {
	height: 100%;
	padding: 10px 0;
	color: #fff;
	display: block;
}
/*-------------------- float --------------------*/
.gnav.float {
	position: fixed;
	top: 0;
	width: 100%;
	margin-top: 0;
	opacity: .85;
	z-index: 999;
}
.gnav.float li {
	font-size: 1.4rem;
}
.gnav.float a {
	padding: 8px 0;
}
/* ==========================================================================
 * Current
 * ========================================================================== */
.current {
	margin-top: 1px;
	background-color: #dfdede;
	padding-bottom: 60px;
}
.box-current {
	padding-top: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.box-current:nth-child(even) {
	flex-direction: row-reverse;
}
.box-current dl {
	width: 440px;
}
.box-current dt {
	padding-bottom: 10px;
	text-align: center;
	border-bottom: 2px dashed#0a6eb4;
}
.box-current dd {
	margin-top: 20px;
}
/* ==========================================================================
 * World
 * ========================================================================== */
.world {
	background: url(../images/world_bg.jpg) no-repeat top center /cover;
	text-align: center;
}
/* ==========================================================================
 * Apply
 * ========================================================================== */
.apply {
	background:
		url(../images/apply_bg_01kinkyu.jpg) no-repeat top 300px right,
		url(../images/apply_bg_02gakko.jpg) no-repeat top 1000px left,
		url(../images/apply_bg_03boshi.jpg) no-repeat bottom right
}
.box-apply {
	margin-top: 60px;
}
.apply-desc {
	min-height: 470px;
	background: url(../images/common_bg_lightBlue.png);
	border-radius: 0 5px 5px 5px;
	box-shadow: 2px 2px 2px 1px rgba(0,0,0,.2);
	display: flex;
	align-items: center;
}
.apply-desc figure {
	width: 430px;
	text-align: center;
}
.apply-desc dl {
	width: 450px;
}
.apply-desc dt {
	text-align: center;
}
.apply-desc dd {
	margin-top: 60px;
}
/* ==========================================================================
 * Result
 * ========================================================================== */
.list-result {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}
.list-result li {
	box-shadow: 1px 1px 2px 1px rgba(0,0,0,.15);
}
.result .list-annotation {
	margin-top: 10px;
	font-size: 1.2rem;
}
.result .list-annotation li {
	margin-top: 3px;
}
/* ==========================================================================
 * Howto
 * ========================================================================== */
.howto h2 {
	padding-top: 60px;
}
.box-howto {
	margin-top: 60px;
	padding: 10px;
    box-shadow: 1px 1px 2px 1px rgba(0,0,0,.15);
	background-color: #fff;
}
.box-howto h3 {
	margin-top: 20px;
}
/*-------------------- Step1 --------------------*/
.box-howto.step1 ul {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}
.box-howto.step1 li {
	position: relative;
	text-align: center;
	cursor: pointer;
}
.box-howto.step1 li::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, .85);
    transition: all .5s;
    z-index: 1;
}
.box-howto.step1 li:hover::after {
    background-color: rgba(255, 255, 255, .5);
}
.box-howto.step1 li.kinkyu {
	background: url(../images/howto_bg_kinkyu.jpg) no-repeat center center /cover;
}
.box-howto.step1 li.gakko {
	background: url(../images/howto_bg_gakko.jpg) no-repeat center center /cover;
}
.box-howto.step1 li.boshi {
	background: url(../images/howto_bg_boshi.jpg) no-repeat center center /cover;
}
.box-howto.step1 li.notSpecified {
	background: url(../images/howto_bg_notSpecified.jpg) no-repeat center center /cover;
}
.box-howto.step1 li a {
	width: 450px;
	height: 250px;
	padding-top: 70px;
	display: block;
}
.box-howto.step1 li div {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
	z-index: 2;
}
.desc-destination {
    font-size: 2.2rem;;
	color: #333;
}
.desc-destination strong {
	color: #333;
}
/*-------------------- Step2 --------------------*/
.box-howto.step2 .list-result {
	margin-top: 30px;
	justify-content: space-around;
}
.box-howto.step2 .list-result li {
	cursor: pointer;
}
.box-howto.step2 .list-result li:hover {
	box-shadow: none;
}
.box-howto.step2 .list-result li,
.box-howto.step2 .list-result li img {
    transition: all .5s;
}
.box-howto.step2 .list-result li:hover img {
	opacity: .7;
}
.box-howto.step2 .list-annotation {
    margin-top: 10px;
    font-size: 1.2rem;
}
/*-------------------- Step3 --------------------*/
.box-howto.step3 {
    padding: 10px 10px 20px;
}
.box-howto.step3 .howto-inner-wrap {
	position: relative;
	margin-top: 30px;
}
.box-howto.step3 .howto-inner {
	width: 450px;
	text-align: center;
	float: left;
}
.box-howto.step3 .howto-inner-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
    height: 700px;
	border: 1px dashed #0a6eb4;
}
.box-howto.step3 .howto-inner {
	text-align: center;
}
.box-howto.step3 .howto-inner .cta {
	margin-top: 0;
}
.box-howto.step3 .howto-inner .cta a img {
    transition: all .3s;
}
.box-howto.step3 .howto-inner .cta a:hover img {
	opacity: .5;
}
/*-------------------- Monthly letter --------------------*/
.monthly-letter {
	width: 960px;
	height: 220px;
	margin: 30px auto 0;
	padding: 52px 0 0 60px;
	background: url(../images/howto_bg_frameLetter.png) no-repeat center center;
}
.monthly-letter h3 {
	margin-bottom: 10px;
	padding: 5px 0 5px 10px;
	font-size: 2.4rem;
	color: #0a6eb4;
	border-left: 5px solid #0a6eb4;
}
.monthly-letter p {
	font-size: 2.2rem;
}
/* ==========================================================================
 * chVoice
 * ========================================================================== */
.chVoice {
	height: 818px;
	background: url(../images/chVoice_bg.jpg) no-repeat center center;
}
.chVoice ul {
	padding-top: 60px;
	display: flex;
	justify-content: space-around;
}
/* ==========================================================================
 * Expenditure
 * ========================================================================== */
.expenditure-wrap {
	margin-top: 60px;
}
.expenditure-desc {
	font-size: 2.2rem;
}
.expenditure-desc p + p {
	margin-top: 1em;
}
.transition-wrap {
	margin-top: 60px;
	display: flex;
	justify-content: space-around;
}
.expenditure-wrap figure {
  margin: 0 0 30px;
  text-align: center;
}
.transition-image {
	margin: 0;
}
.expenditure .list-annotation {
	margin-top: 10px;
	font-size: 1.2rem;
}
.expenditure .list-annotation li {
	margin-top: 3px;
}
/* ==========================================================================
 * Example
 * ========================================================================== */
.example {
	background: url(../images/example_bg.jpg);
}
.example-image {
	margin-top: 60px;
	text-align: center;
}
/* ==========================================================================
 * staffVoice
 * ========================================================================== */
.box-staffVoice h3 {
	width: 741px;
	height: 61px;
	margin: 60px auto 30px;
	padding-top: 18px;
	font-size: 2.4rem;
	color: #0a6eb4;
	text-align: center;
	background: url(../images/staffVoice_img_quote.png) no-repeat center center /cover;
}
.staffVoice-inner {
	display: flex;
	justify-content: space-between;
}
.voice-wrap {
	width: 440px;
	padding-top: 10px;
}
/* ==========================================================================
 * Faq
 * ========================================================================== */
.faq dl {
	margin-top: 60px;
}
.faq dt {
    position: relative;
    padding: 0 20px 0 50px;
    font-size: 2.2rem;
    line-height: 2.4rem;
}
.faq dt::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: 33px;
    height: 29px;
    background: url(../images/faq_icon_question.png) no-repeat center center /cover;
}
.faq dd {
    position: relative;
    margin: 20px 0 0 50px;
    padding: 40px 30px 30px 80px;
    border: 1px solid #0a6eb4 ;
    border-radius: 5px;
    overflow: hidden;
}
.faq dd::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 22px;
    width: 57px;
    height: 42px;
    background: url(../images/faq_icon_answer.png) no-repeat center center;
}
/* ==========================================================================
 * About
 * ========================================================================== */
.about .inner-width {
	width: 810px;
}
.about .lead {
  color: #1672b6;
  font-weight: bold;
  padding: 30px 0 0;
  text-align: center;
}
.unit2Col_about {
  align-items: center;
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}
.box-about small {
	margin-top: 20px;
	line-height: 1.2;
	display: block;
}
.box-about-desc,
.box-kansa-desc {
	width: 500px;
}
.box-kansa h3 {
	margin-bottom: 20px;
	font-size: 2.4rem;
	color: #0a6eb4;
}
/* ==========================================================================
 * Footer
 * ========================================================================== */
footer {
	height: 100px;
	padding: 15px 0 20px;
	background-color: #0a6eb4;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
}
/* ==========================================================================
 * Floating CTA
 * ========================================================================== */
.float-cta {
	bottom: 0;
	width: 100%;
	height: 78px;
	padding: 5px 0;
	box-shadow: 0px -1px 2px 1px rgba(0,0,0,.15);
	background-color: #fff;
	z-index: 5;
}
.float-cta.float {
	position: fixed;
}
.float-cta .inner-width {
	display: flex;
	align-items: center;
}
.float-cta p {
	margin: 0;
}
.float-cta p + p {
	margin-left: 10px;
}
.float-cta .cta {
	width: 30%;
}
.float-cta .cta a img {
	transition: all .5s;
}
.float-cta .cta a:hover img {
	opacity: .5;
}
/* ==========================================================================
 * Magnific Popup
 * ========================================================================== */
.mfp-fade .mfp-container,
.mfp-fade.mfp-bg {
    opacity: 0;
    -webkit-backface-visibility: hidden;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.mfp-fade.mfp-ready .mfp-container {
    opacity: 1;
}
.mfp-fade.mfp-ready.mfp-bg {
    opacity: 0.92;
}
.mfp-fade.mfp-removing .mfp-container,
.mfp-fade.mfp-removing.mfp-bg {
    opacity: 0;
}
.mfp-arrow-left:before,
.mfp-arrow-right:before {
    border: none;
}


/* ==========================================================================	
* Kifunavi	
* ========================================================================== */	
.cta.shot, p.cta.shot, .step3shot, section#step3 h3 img	
{display: none;}	

.bank {margin-top: 200px;}	

p.cta.monthly {margin: auto;}	

p.tel img {padding-top: 25px;}
