@charset "utf-8";

/*
Theme Name: グローバルラング
Description: 201901
Version: 1.0
Author: prpl
*/

/*------------------------------
style.css
------------------------------*/

html { font-size: 62.5%; }
body { background: #fff; }
body,
input,
textarea,
select,
button {
	color: #000;
	font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: 12px; font-size: 1.2rem; font-weight: 400; line-height: 1.5;
}
@media all and (-ms-high-contrast:none) {
  body,
  input,
  textarea,
  select,
  button {
    font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  }
}
input,
textarea,
select { font-size: 1.6rem; }
a,
button { color: #000; text-decoration: underline; transition: opacity 0.3s; }
a:hover,
button:hover { text-decoration: none; opacity: .8; }

button { background: transparent; }
button:hover { cursor: pointer; }

@media screen and (min-width:768px){
	body { font-size: 1.4rem; }
	input,
	textarea,
	select { font-size: 1.4rem; }
}
@media screen and (min-width:1000px){
	body { font-size: 1.6rem; }
	input,
	textarea,
	select { font-size: 1.6rem; }
}

/*
layout
-------------------*/
.wrapper,
.wrapper-m,
.bogo-language-switcher,
.wrapper-s { padding-left: 4.5%; padding-right: 4.5%; width: auto; max-width: 1100px; margin: auto; box-sizing: border-box; }
.wrapper-m,.bogo-language-switcher{ max-width: 800px; }
.wrapper-s { max-width: 640px; }
.section-block { padding-bottom: 5rem; }
.section-block:first-of-type { padding-top: 5rem; }

.clearfix { clear: both; zoom: 1; }
.clearfix:after {content: ""; height: 0; display: block; clear: both;}

@media screen and (max-width:767px){

}
@media screen and (min-width:640px){
  .wrapper-s { padding-left: 0; padding-right: 0; }
}
@media screen and (min-width:768px){
	.section-block { padding-bottom: 8rem; }
  .section-block:first-of-type { padding-top: 5rem; }
}
@media screen and (min-width:800px){
  .wrapper-m,.bogo-language-switcher { padding-left: 0; padding-right: 0; }
}
@media screen and (min-width:1100px){
  .wrapper { padding-left: 0; padding-right: 0; }
}


/*
parts
-------------------*/
.topborder { border-top: #dedede 1px solid; }
.img-fix { width: 100%; height: auto; }
.video-wrapper { width: 100%; height: 0; padding-top: 56.25%; position: relative; }
.video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%!important; height: 100%!important; }

.h1 { font-size: 225%; font-weight: 700; line-height: 1.2; text-align: center; margin-top: 3.5em; margin-bottom: 2.5em; position: relative; }
.h1::before {
  content: ""; display: block; position: absolute; bottom: -0.7em; left: 50%; transform: translateX(-50%);
  width: 2.5em; height: 4px; background-color: #05376a;
}
.h1.red { color: #d13753; }
.h2 { color: #0054a7; font-size: 187.5%; font-weight: 700; line-height: 1.2; margin-top: 1.6em; margin-bottom: 1.2em; padding-left: 1.2em; text-indent: -0.6em; position: relative; }
.h2::before {
  content: ""; display: block; position: absolute; bottom: -0.2em; left: 0; width: 100%; height: 3px;
  background: #0357a9;
  background: -moz-linear-gradient(left, #0357a9 0%, #4e96dd 100%);
  background: -webkit-linear-gradient(left, #0357a9 0%,#4e96dd 100%);
  background: linear-gradient(to right, #0357a9 0%,#4e96dd 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0357a9', endColorstr='#4e96dd',GradientType=1 );
}
.h2 i { padding-right: 0.5em; }
.h3 { color: #0265d3; font-size: 137.5%; font-weight: 700; line-height: 1.3; margin-top: 1.3em; margin-bottom: 0.8em; }

.contents-paragraph { line-height: 1.8; margin-top: 1em; }
.contents-paragraph:first-of-type { margin-top: 0; }
.marker { text-indent: -1em; padding-left: 1em; }
.marker i { display: inline!important; padding-right: 0.2em; }
.inlineblock { display: inline-block; }
.marker .inlineblock { text-indent: 0; }

.fcf { color: #fff; }
.fce { color: #f00; }
.fcr { color: #d13753; }
.fcb { color: #0054a7; }
.lato { font-family: 'Lato', sans-serif; }
.bold { font-weight: 700; }
.small { font-size: 83%; }
.mt1 { margin-top: 1em; }
.mt2 { margin-top: 2em; }
.mt3 { margin-top: 3em; }
.mt4 { margin-top: 4em; }
.mt5 { margin-top: 5em; }
.mb1 { margin-bottom: 1em; }
.mb2 { margin-bottom: 2em; }
.mb3 { margin-bottom: 3em; }
.mb4 { margin-bottom: 4em; }
.mb5 { margin-bottom: 5em; }

.phone-dial { display: block; font-weight: 700; line-height: 1; }
.phone-ttl { display: inline-block; padding: 0.2em 0.5em; }
.phone-num { padding-left: 0.2em; }
.phone-time { display: block; text-align: center; }

.btn {
  display: inline-block; text-decoration: none;
  color: #fff; padding: 0.6em 1.5em; border-radius: 3px;
}
.btn.bl1 { background-color: #0054a7; }
.btn.bl2 { background-color: #1478db; font-size: 112.5%; font-weight: 700; }
.btn-area { text-align: center; }
.phone-btn { text-decoration: none; }

.icon-arr { border: #7bb0e3 2px solid; color: #7bb0e3; display: inline-block; line-height: 1; padding: 0.4em; width: 2em; height: 2em; }

.basic-table { width: 100%; border-top: #dedede 1px solid; }
.basic-table tr { border-bottom: #dedede 1px solid; }
.basic-table th,
.basic-table td { vertical-align: top; padding-top: 1em; padding-bottom: 1em; }
.basic-table th { padding-right: 1em; min-width: 6em; box-sizing: content-box; }

.gray-boreder-block { border: #dedede 1px solid; padding: 1.5em; position: relative; }
.gray-boreder-block::before {
  content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  border:#f8f8f8 4px solid; pointer-events: none;
}

@media screen and (min-width:768px){
  .h1::before { height: 8px; }
  .basic-table th { padding-right: 3em; min-width: 6em; }
  .phone-btn:hover { cursor: text; opacity: 1; }
	.w-break:before { content: "\A"; white-space: pre; }
}
@media screen and (max-width:767px){
	.break:before { content: "\A"; white-space: pre; }
  .h1 { font-size: 200%; }
  .h2 { font-size: 155%; }
}


/*
header
-------------------*/
.header { position: relative; }
.header-copy { background-color: #05376a; color: #fff; font-size: 72%; padding: 0.4em 0; text-align: center; }
.header-logo { float: left; }
.header-lang { float: right; }

@media screen and (max-width:767px){
  .header-copy,
  .header-large { display: none; }
  .header { height: 64px; border-bottom: #dedede 1px solid; position: fixed; background-color: #fff; width: 100%; top: 0; left: 0; z-index: 10; }
  .crumbs { margin-top: 64px; }
  .header > .wrapper { width: calc(100% - 50px); margin-left: 0; }
  .header-logo { width: 75px; padding-top: 6px; }

  .header-lang { font-size: 0; padding-top: 16px; }
  .header-lang li { display: inline-block; }
  .header-lang .header-lang-current,
  .header-lang a { border-radius: 0 3px 3px 0; border: #666 1px solid; display: inline-block; font-weight: 700; padding: 0.7rem 1.2rem; text-decoration: none; }
  .header-lang .header-lang-current { background-color: #666; color: #fff; }
  .header-lang li:first-child .header-lang-current,
  .header-lang li:first-child a { border-radius: 3px 0 0 3px; }
  .header-lang li:first-child .header-lang-current::before,
  .header-lang li:first-child a::before { content: "JP"; font-size: 1.1rem; }
  .header-lang li:nth-of-type(2) .header-lang-current::before,
  .header-lang li:nth-of-type(2) a::before { content: "EN"; font-size: 1.1rem; }
}

@media screen and (min-width:768px){
  .header > .wrapper { padding-top: 1rem; padding-bottom: 0.5rem; }
  .header-logo { width: 90px; }
  .header-lang,
  .header-large { width: calc(100% - 90px); text-align: right; }
  .header-lang { font-size: 81.25%; }
  .header-lang li { display: inline-block; font-weight: 700; line-height: 1; }
  .header-lang li:nth-of-type(1) { padding-right: 0.5em; }
  .header-lang li:nth-of-type(2) { padding-left: 0.5em; border-left: #dedede 1px solid; }
  .header-lang a { text-decoration: none; }
  .header-lang .header-lang-current { color: #666; }
  .header-lang a i { color: #0054a7; }
  .header-lang .header-lang-current i { color: #278bee; }
  .header-large { float: right; }
  .header-large-item { display: inline-block; vertical-align: middle; padding-left: 0.5em; }
  .header-large-item.bnr { width: 20%; max-width: 225px; }
  .header-large .phone-ttl { background-color: #333; color: #fff; font-size: 75%; }
  .header-large .phone-num { font-size: 193.75%; }
  .header-large .phone-time { font-size: 81.25%; }
}
@media screen and (min-width:768px) and (max-width: 900px){
  .header-large-item.bnr { width: 17%; }
  .header-large .phone-time { font-size: 75%; }
}
@media screen and (min-width:1100px){
  .header-logo { width: 123px; }
  .header-lang,
  .header-large { width: 892px; }
  .header-large-item.bnr { width: 225px; box-sizing: content-box; }
}

/*
nav
-------------------*/
.drawer-wrapper { position: absolute; top: 0; left: 0; width: 100%; z-index: 993; }
.drawer-overlay { background-color: rgba(0,0,0,.8); z-index: 992; }
.drawer-nav { width: 280px; background-color: #fff; overflow-y: scroll; }
.drawer--right .drawer-nav { right: -280px; }
.menu-btn { position: fixed; top: 0; right: 4.5%; width: 25px; height: 64px; transition: transform 0.6s; }
.hamburger-bar {
  position: absolute; top: 50%; left: 0;
  display: block; height: 2px; background-color: #000; width: 25px;
  -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg);
  -webkit-transition: top 0.6s, transform 0.6s, opacity 0.4s, width 0.2s; transition: top 0.6s, transform 0.6s, opacity 0.4s, width 0.2s;
}
.hamburger-bar:nth-child(1) { margin-top: -8px; }
.hamburger-bar:nth-child(2) { margin-top: 0; opacity: 1; }
.hamburger-bar:nth-child(3) { margin-top: 8px; }
.menu-btn:hover { cursor: pointer; }
.drawer-open .menu-btn { transform: translateX(-280px); }
.drawer-open .hamburger-bar { background-color: #fff; }
.drawer-open .hamburger-bar:nth-child(1) { transform: rotate(45deg); margin-top: 0; }
.drawer-open .hamburger-bar:nth-child(2) { opacity: 0; }
.drawer-open .hamburger-bar:nth-child(3) { transform: rotate(-45deg); margin-top: 0; }

.drawer-menu { border-bottom: #dedede 1px solid; }
.drawer-menu li { border-top: #dedede 1px solid; }
.drawer-menu a { display: block; text-decoration: none; padding: 0.8em 1em; }
.drawer-menu a i { color: #72aae1; padding-right: 1em; }
.drawer-copy { padding: 1em 1em 0 1em; line-height: 1.3; font-size: 87.5%; }
.drawer-bnr { padding: 1em; }
.drawer-bnr a { display: block; width: 100%; }
.drawer-bnr a.kidsnihongo { max-width: 225px; }
.drawer-bnr a.studyj { max-width: 225px; margin-top: 1rem; }
.drawer-bnr a.fairtrade { max-width: 230px; }
@media screen and (max-width:767px){
  .global-nav { display: none; }
}
@media screen and (min-width:768px){
  .drawer-wrapper { display: none; }
}
.global-nav { border-bottom: #dedede 1px solid; }
.global-nav > .wrapper { display: -webkit-flex; display: flex;  }
.global-nav li { width: 14%; border-left: #dedede 1px solid; text-align: center; }
.global-nav li:nth-of-type(3) { width: 16%; }
.global-nav li:last-of-type { border-right: #dedede 1px solid; }
.global-nav a { display: block; width: 100%; height: 100%; position: relative; padding: 1em 0 0.5em; text-decoration: none; }
.global-nav a:hover { opacity: 1; }
.global-nav-ja,
.global-nav-en { display: block; }
.global-nav-ja { font-size: 83%; }
.global-nav-en { font-size: 66%; color: #0054a7; transition: color .3s; }
.global-nav a:hover .global-nav-en,
.global-nav a.current .global-nav-en { color: #d13753; }
.global-nav a::before {
  content: ""; display: block; position: absolute; width: 100%; height: 5px; bottom: 0; left: 0; background-color: #d13753;
  transition: opacity .3s; opacity: 0;
}
.global-nav a:hover::before,
.global-nav a.current::before { opacity: 1; }

@media screen and (min-width:900px){
.global-nav-ja { font-size: 93.75%; }
  .global-nav-en { font-size: 75%; }
}


/*
footer
-------------------*/
.footer { background-color: #05376a; color: #fff; padding-top: 2em; margin-top: 6em; }
.footer a { color: #fff; }
.footer-nav {
  border-bottom: #17508a 1px solid; margin-bottom: 2em; padding-bottom: 2em;
  display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center;
}
.footer-nav a { text-decoration: none; }
.footer-nav a i { color: #c9e4ff; }
.footer-act { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-end; align-items: flex-end; }
.footer-info { flex-grow: 1; }
.footer-link { width: 21%; max-width: 230px; }
.pagetop-large a { display: block; text-align: right; text-decoration: none; margin-top: 0.8em; }
.footer-logo { float: left; width: 21%; max-width: 147px; }
.footer-info-txt { float: left; width: 79%; padding-left: 2em; box-sizing: border-box; }
.footer-info-add { font-size: 87.5%; margin: 0.7em 0; }
.btn.footer-btn { border: #fff 2px solid; }
.footer-copy { border-top: #17508a 1px solid; color: #c9e4ff; font-size: 87.5%; margin-top: 2em; padding: 1.5em 0; text-align: center; }
.pagetop-small a { background-color: #e8ad2f; color: #fff; display: block; font-size: 87.5%; padding: 1em 0; text-align: center; text-decoration: none; }

@media screen and (max-width:767px){
  .footer-nav,
  .footer-link { display: none; }
  .footer-btn { margin-top: 1rem; }
}
@media screen and (min-width:768px){
  .pagetop-small { display: none; }
  .footer-nav li { font-size: 81.25%; }
  .footer-btn { font-size: 87.5%; }
}
@media screen and (min-width:820px){
  .footer-nav li { font-size: 87.5%; }
}
@media screen and (min-width:1100px){
  .footer-btn { font-size: 100%; }
}


/*
crumbs
-------------------*/
.crumbs { border-bottom: #dedede 1px solid; font-size: 87.5%; line-height: 1; padding: 0.9em 0; }
.crumbs a { text-decoration: none; }
.crumbs-item { display: inline-block; }
.crumbs-arr { color: #72aae1; display: inline-block; padding-left: 0.5em; padding-right: 0.5em; }


/*
pageheader
-------------------*/
.pageheader {
  background-image: url("assets/img/pageheader.png"); background-repeat: no-repeat; background-position: 50% 0;
  padding: 2em 0; text-align: center;
}
.pageheader-ttl {
  display: inline-block; padding: 0.2em 3em;
  background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 15%, rgba(255,255,255,0.8) 85%, rgba(255,255,255,0) 100%);
  background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 15%,rgba(255,255,255,0.8) 85%,rgba(255,255,255,0) 100%);
  background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 15%,rgba(255,255,255,0.8) 85%,rgba(255,255,255,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 );
}
.pageheader-ja,
.pageheader-en { display: block; font-weight: 700; line-height: 1.3; }
.pageheader-ja { font-size: 245.5%; }
.pageheader-en { color: #278bee; font-size: 112.5%; }
@media screen and (max-width:767px){
  .pageheader { background-size: cover; }
}
@media screen and (min-width:768px){
  .pageheader { padding: 3em 0; }
}


/*
contact
-------------------*/
.contact-block { margin-top: 6em; }
.contact-block-ttl { color: #0054a7; font-size: 187.5%; font-weight: 700; line-height: 1.2; text-align: center; margin-bottom: 1em; }
.contact-block-lead { border-top: #c1c6c6 1px solid; border-bottom: #c1c6c6 1px solid; padding: 0.8em 0; text-align: center; }
.contact-block .phone-dial { margin-bottom: 0.3em; }
.contact-block .phone-ttl { background-color: #718bf6; color: #fff; }
.contact-block .phone-ttl.mail { background-color: #e8ad2f; }
.contact-block .phone-ttl.fax { background-color: #87cd96; }
.contact-block .phone-num { font-size: 284%; }
.contact-block .emailaddress { display: inline-block; padding-left: 0.5em; vertical-align: bottom; width: 13em;}
.contact-block .btn.contact { background-color: #d13753; font-size: 112.5%; font-weight: 700; padding-top: 0.8em; padding-bottom: 0.8em; }
@media screen and (max-width:767px){
  .contact-block-item { margin-top: 1em; padding-left: 4.5%; padding-right: 4.5%; text-align: center; }
  .phone-dial { width: 22em; text-align: left; margin: auto; }
}
@media screen and (min-width:768px){
  .contact-block-row { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; margin-top: 2em; }
  .contact-block-item { width: 48%; }
  .contact-block .phone-num { font-size: 225%; }
  .contact-block .emailaddress { width: 10em; }
  .contact-block .btn.contact { display: block; text-align: center; }
  .contact-block .phone-time { font-size: 87.5%; }
}


/*
home
-------------------*/
/* keyvisual */
.home-kv { background-image: url("assets/img/kv_sp.jpg"); background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; }
.home-kv > .wrapper-m { padding-top: 3em; padding-bottom: 3em; }
.home-kv-copy { background-color: rgba(6,32,58,0.4); color: #fff; padding: 1em; }
.home-kv-main { display: block; font-size: 110%; font-weight: 700; text-align: center; }
.home-kv-sub { display: block; border-top: #fff 1px solid; padding-top: 1em; margin-top: 1em; text-align: center; }
@media screen and (max-width:767px){
  .home-kv { margin-top: 64px; }
}
@media screen and (max-width:380px){
  .home-kv-main { font-size: 136%; }
  .home-kv-sub { font-size: 78%; }
}
@media screen and (min-width:381px){
  .home-kv > .wrapper-m { padding-top: 6em; padding-bottom: 6em; }
  .home-kv-main { font-size: 148%; }
  .home-kv-sub { font-size: 83.33%; }
}
@media screen and (min-width:768px){
  .home-kv { background-image: url("assets/img/kv_pc.jpg"); }
  .home-kv-copy { padding: 2em 5em; }
  .home-kv-main { font-size: 218.75%; }
  .home-kv-sub { font-size: 100%; }
}
@media screen and (min-width:1100px){
  .home-kv-copy { padding: 3em 5em; }
}
/* forte */
.forte-header { border-radius: 50%; color: #fff; font-size: 125%; font-weight: 700; width: 10em; height: 10em; margin: 0 auto 1em; text-align: center; padding-top: 3.5em; }
.forte-list > li:nth-of-type(1) .forte-header { background-color: #e8ad2f; }
.forte-list > li:nth-of-type(2) .forte-header { background-color: #ed798d; }
.forte-list > li:nth-of-type(3) .forte-header { background-color: #718bf6; }
.forte-list > li:nth-of-type(4) .forte-header { background-color: #87cd96; }
.forte-body li { margin-left: 1em; list-style: disc outside; }
@media screen and (max-width:767px){
  .forte-list > li { margin-top: 2em; }
}
@media screen and (min-width:768px){
  .forte-list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
  .forte-list > li { width: 25%; }
  .forte-body { border-right: #72aae1 1px solid; padding: 0 1em; min-height: 10em; margin-top: 1.5em; }
  .forte-list > li:nth-of-type(1) .forte-body { border-left: #72aae1 1px solid; }
  .forte-header { font-size: 112%; }
}
@media screen and (min-width:1000px){
  .forte-header { font-size: 125%; }
  .forte-body { min-height: 9em; }
}
@media screen and (min-width:1100px){
  .forte-body { min-height: 7.5em; }
}


/*
column
-------------------*/
/* lang */
.switch-lang ul,.bogo-language-switcher ul { display: -webkit-flex; display: flex; }
.switch-lang li,.bogo-language-switcher li { width: 50%; }
.switch-lang a,.bogo-language-switcher a {
  border: #dedede 1px solid; border-radius: 0 3px 3px 0; color: #666; display: block;
  font-size: 112.5%; font-weight: 700; padding: 0.5em 0; text-align: center; text-decoration: none;
}
.switch-lang li:first-child a,.bogo-language-switcher li:first-child a { border-radius: 3px 0 0 3px; }
.switch-lang-en { display: inline-block; font-size: 77.77%; font-weight: 400; padding-left: 1em; }
.switch-lang a.active,.bogo-language-switcher a.current{ background-color: #d13753; border-color: #d13753; color: #fff; }

/* category */
.column-cat-list { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.column-cat-list li { width: 48%; margin-bottom: 1em; }
.column-cat-list a {
  display: block; text-decoration: none;
  width: 100%; height: 100%; padding: 0.5em 1em;
  border: #dedede 1px solid; border-radius: 3px; color: #0054a7; text-align: center;
}
.column-cat-list a i,
.column-list-data a i { padding-right: 0.5em; }
@media screen and (max-width:799px){
  .column-cat-list li:nth-of-type(odd){ margin-right: 4%; }
}
@media screen and (min-width:800px){
  .column-cat-list li { width: 31%; margin-right: 3.5%; }
  .column-cat-list li:nth-of-type(3n) { margin-right: 0; }
}
@media screen and (min-width:1100px){
  .column-cat-list li { width: 23.5%; margin-right: 2%; }
  .column-cat-list li:nth-of-type(3n) { margin-right: 2%; }
  .column-cat-list li:nth-of-type(4n) { margin-right: 0; }
}

/* list */
.column-list { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.column-list li { margin-bottom: 2em; position: relative; }
.column-list img { width: 100%; height: auto; }
.column-list a { display: block; text-decoration: none; }
.column-list-data {
  display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center;
  font-size: 87.5%; padding-top: 0.7em; padding-bottom: 0.7em;
}
.column-list-data a { background-color: #5699dc; border-radius: 3px; color: #fff; padding: 0.3em 1em; }
.column-list-time { color: #666; }
.column-list.ranking li:before,
.column-list.ranking li:after { display: block; position: absolute; pointer-events: none; z-index: 10; }
.column-list.ranking li:before {
  content: ""; width: 46px; height: 67px; top: -1px; left: 5px;
  background-image: url("assets/img/entry_rank.png"); background-position: 0 0; background-repeat: no-repeat; background-size: 100% auto;
}
.column-list.ranking li:after { font-family: 'Lato', sans-serif; font-weight: 700; color: #fff; font-size: 28px; top: 0; left: 20px; }
.column-list.ranking li:nth-of-type(1):after { content: "1"; }
.column-list.ranking li:nth-of-type(2):after { content: "2"; }
.column-list.ranking li:nth-of-type(3):after { content: "3"; }
.column-list.ranking li:nth-of-type(4):after { content: "4"; }
.column-list.ranking li:nth-of-type(5):after { content: "5"; }
.column-list.ranking li:nth-of-type(6):after { content: "6"; }
@media screen and (min-width:540px) and (max-width:999px){
  .column-list li { width: 48%; }
  .column-list li:nth-of-type(odd) { margin-right: 4%; }
}
@media screen and (min-width:1000px){
  .column-list li { width: 30%; margin-right: 5%; }
  .column-list li:nth-of-type(3n) { margin-right: 0; }
}
/* pager-list */
.column-list-pager { margin-top: 2em; text-align: center; }
.wp-pagenavi { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; margin-top: 1.5em; }
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block; line-height: 1; padding: 0.6em 0.8em 0.5em; text-decoration: none;
  border-color: #dedede; border-style: solid; border-width: 1px 1px 1px 0;
}
.wp-pagenavi .pages { border-radius: 3px; border-width: 1px; margin-right: 1em; }
.wp-pagenavi .current { background-color: #d13753; color: #fff; }
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink { border-radius: 3px 0 0 3px; border-left-width: 1px; }
.wp-pagenavi .nextpostslink { border-radius: 0 3px 3px 0; }
.wp-pagenavi a + .current { border-radius: 0; border-left-width: 0; }
/* single */
.column-single { margin-top: 2em; }
.column-single-ttl { border-bottom: #dedede 1px solid; color: #0054a7; font-size: 175%; font-weight: 700; line-height: 1.3; padding-top: 1em; padding-bottom: 0.5em; }
.column-single-data { font-size: 87.5%; margin: 1.5em 0; text-align: center; }
.column-single-data,
.column-single-data a { color: #666; text-decoration: none; }
.column-single-time { margin-bottom: 0.5em; }
.column-single-entry a,
.lesson-flow a,
.english-company a { color: #0054a7; }
.column-single-entry h1,
.column-single-entry h2 { font-size: 150%; font-weight: 700; line-height: 1.3; margin: 2em 0 0.8em; padding-left: 0.5em; border-left: #5699dc 5px solid; }
.column-single-entry h3 { color: #0265d3; font-size: 137.5%; font-weight: 700; line-height: 1.3; margin: 1em 0 0.5em; }
.column-single-entry h4 { font-size: 112.5%; font-weight: 700; line-height: 1.3; margin: 1.2em 0 0.6em; }
.column-single-entry h5,
.column-single-entry h6 { font-weight: 700; line-height: 1.3; margin: 1em 0 1em; }
.column-single-entry p { margin-bottom: 1em; line-height: 1.8; }
.column-single-entry ul,
.column-single-entry ol { margin-bottom: 1em; }
.column-single-entry ul li { list-style: disc outside; margin: 0.3em 0 0.3em 1em; }
.column-single-entry ol li { list-style: decimal outside; margin: 0.3em 0 0.3em 1em; }
.column-single-entry table { margin-top: 1em; margin-bottom: 1em; width: 100%; }
.column-single-entry table th,
.column-single-entry table td { border: #dedede 1px solid; padding: 0.7em 1em; vertical-align: middle; }
.column-single-entry table th { text-align: center; background-color: #f8f8f8; }
.column-single-entry table thead th { background-color: #0054a7; color: #fff; }
.column-single-entry img { max-width: 100%; height: auto; }
.column-single-entry img.alignleft { display: inline-block; float: left; margin-right: 2em; margin-bottom: 1em; }
.column-single-entry img.alignright { display: inline-block; float: right; margin-left: 2em; margin-bottom: 1em; }
.column-single-entry img.alignnone { margin-bottom: 1em; }
.column-single-entry .aligncenter { display: block; clear: both; margin-left: auto; margin-right: auto; }
.column-single-entry .alignleft { float: left; }
.column-single-entry .alignright { float: right; }
/* single-share */
.column-single-footer {
  background-color: #f0f0f0; padding: 1em; margin-top: 5em;
  display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center;
}
.column-single-footer-thumb { width: 20%; }
.column-single-footer-thumb img { width: 100%; height: auto; }
.column-single-footer-data { width: 75%; }
.column-single-footer-share { color: #0054a7; font-weight: 700; border-top: #dedede 1px solid; padding-top: 0.5em; margin-top: 0.5em; }
.column-single-footer-share ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.column-single-footer-share ul li { margin-top: 0.7em; margin-right: 0.5em; }
.column-single-footer-share ul li a,
.column-single-footer-share ul li .copy { display: inline-block; text-decoration: none; padding: 0.7em 1em; color: #fff; border-radius: 3px; }
.column-single-footer-share ul li a.line { background-color: #01b901; }
.column-single-footer-share ul li a.tw { background-color: #00aced; }
.column-single-footer-share ul li a.fb { background-color: #3c5b9b; }
.column-single-footer-share ul li .copy { background-color: #1478db; transition: all 0.3s; cursor: pointer; }
.column-single-footer-share ul li .copy:hover { opacity: 0.8; }
@media screen and (min-width:768px){
  .column-single-footer-data > p { font-size: 125%; }
  .column-single-footer-share { font-size: 112.5%; }
}
@media screen and (min-width:1100px){
  .column-single-footer { padding: 2em; }
  .column-single-footer-thumb { width: 27%; }
  .column-single-footer-data { width: 70%; }
  .column-single-footer-share ul li a,
  .column-single-footer-share ul li .copy { padding-left: 2em; padding-right: 2em; }
}
/* single-pager */
.column-single-pager { margin-top: 2em; }
.column-single-pager li { float: left; }
.column-single-pager li:nth-of-type(2) { text-align: right; }
.column-single-pager li a { display: block; padding-top: 1em; padding-bottom: 1em; text-decoration: none; position: relative; }
.column-single-pager li a .icon-arr { position: absolute; top: 50%; transform: translateY(-50%); }
.column-single-pager li.prev a { padding-left: 3em; padding-right: 1em; }
.column-single-pager li.next a { padding-right: 3em; padding-left: 1em; }
.column-single-pager li.prev .icon-arr { left: 0; }
.column-single-pager li.next .icon-arr { right: 0; }
@media screen and (max-width:767px){
  .column-single-pager li { width: 100%; }
  .column-single-pager li:nth-of-type(2) { border-top: #dedede 1px solid; }
}
@media screen and (min-width:768px){
  .column-single-pager li { width: 50%; }
  .column-single-pager li:nth-of-type(2) { border-left: #dedede 1px solid; }
  .column-single-pager li.next { float: right; }
}


/*
service
-------------------*/
/* service-list */
.service-list li { margin-bottom: 1em; }
.service-list li a {
  display: block; text-decoration: none;
  border: #7bb0e3 1px solid;
}
.service-list-thumb,
.service-list-txt,
.service-list-ja,
.service-list-en { display: block; }
.service-list-txt { padding: 1em; position: relative; }
.service-list-ja { color: #0054a7; font-size: 112.5%; font-weight: 700; line-height: 1.2; }
.service-list-en { color: #666; font-size: 81.25%; }
.service-list-txt .icon-arr { position: absolute; right: 1em; bottom: 1em; }
@media screen and (min-width:768px){
  .service-list { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .service-list li { width: 48%; margin-bottom: 2em; }
  .service-list li:nth-of-type(3),
  .service-list li:nth-of-type(4) { margin-bottom: 0; }
}

/*
lesson
-------------------*/
/* keyvisual */
.lesson-hero img { max-width: 100%; height: auto; }
.lesson-lead { font-size: 175%; font-weight: 700; text-align: center; margin-top: 3em; margin-bottom: 2em; }
.lesson-lead-sub { font-size: 112.5%; font-weight: 700; text-align: center; margin-top: 2em; margin-bottom: 3em; }
/* 料金表 */
.lesson-price-thumb img { width: 100%; height: auto; }
.lesson-price-copy li { margin: 0.3em 0; padding-left: 1em; font-size: 118.75%; font-weight: 700; }
.lesson-price-copy li::before { color: #0054a7; content: "\f0da"; font-family: "Font Awesome 5 Free"; font-weight: 900; display: inline-block; text-indent: -1em; }
.lesson-price-table { border-top: #0054a7 10px solid; }
.lesson-price-table th,
.lesson-price-table td { border: #dedede 1px solid; padding: 0.7em 1em; text-align: center; }
.lesson-price-table td.lesson-price-table-note { text-align: left; vertical-align: top; }
/* 事例 */
.lesson-ex-header { background-color: #0054a7; color: #fff; font-weight: 700; text-align: center; padding: 0.8em 1em; }
/* レッスンプラン */
.lesson-plan-lead { margin-top: 1em; }
.lesson-plan-thumb img { max-width: 100%; height: auto; }
.lesson-plan-check h1,
.lesson-plan-check h2,
.lesson-plan-check h3 { color: #0265d3; font-size: 137.5%; font-weight: 700; line-height: 1.3; margin-top: 1.3em; margin-bottom: 0.8em; }
.lesson-plan-check li {
  background-image: url("assets/img/icon_check.png"); background-repeat: no-repeat; background-position: 0 0;
  font-size: 112.5%; font-weight: 700; padding-left: 1.3em; margin: 0.3em 0;
}
/* 講師 */
.lesson-teacher-thumb { margin:auto; width: 70%; }
.lesson-teacher-thumb img { width: 100%; height: auto; }
/* 対応言語 */
.lesson-lang-list ul { float: left; width: 33%; }
.lesson-lang-list ul li { font-weight: 700; }
/* サポート */
.lesson-support { margin-top: 1em; }
.lesson-support li { border: #87cd96 1px solid; position: relative; margin-bottom: 20px; }
.lesson-support li::before {
  content: ""; display: block; position: absolute; bottom: -20px; left: 50%; transform: translateX(-50%);
  width: 0; height: 0; border-style: solid; border-width: 20px 15px 0 15px; border-color: #87cd96 transparent transparent transparent;
}
.lesson-support-header { background-color: #87cd96; color: #fff; font-weight: 700; text-align: center; padding: 0.8em 1em; }
.lesson-support-body { padding: 1em; }
.lesson-support li:nth-of-type(1)::before { border-top-color: #e8ad2f; }
.lesson-support li:nth-of-type(1) { border-color: #e8ad2f; }
.lesson-support li:nth-of-type(1) .lesson-support-header { background-color: #e8ad2f; }
.lesson-support li:nth-of-type(2)::before { border-top-color: #ed798d; }
.lesson-support li:nth-of-type(2) { border-color: #ed798d; }
.lesson-support li:nth-of-type(2) .lesson-support-header { background-color: #ed798d; }
.lesson-support li:nth-of-type(3)::before { border-top-color: #718bf6; }
.lesson-support li:nth-of-type(3) { border-color: #718bf6; }
.lesson-support li:nth-of-type(3) .lesson-support-header { background-color: #718bf6; }
.lesson-support li:last-of-type::before { border: 0; }
.lesson-support-pdf { text-align: center; }
.lesson-support-pdf .h3 { margin-bottom: 0; }
.lesson-support-pdf li { display: inline-block; margin-bottom: 1rem;  padding: 0 0.5em; }
/* 流れ */
.lesson-flow li { position: relative; margin-bottom: 3em; }
.lesson-flow li::before {
  content: ""; display: block; position: absolute; bottom: -30px; left: 50%; margin-left: -30px;
  width: 0; height: 0; border-style: solid; border-width: 20px 30px 0 30px; border-color: #2c6eb0 transparent transparent transparent;
}
.lesson-flow li:last-of-type::before { border: 0; }
.lesson-flow-header { background-color: #0054a7; color: #fff; font-weight: 700; text-align: center; padding: 0.8em 1em; }
/* エディタ入力フィールド */
.column-single-entry.lesson h1,
.column-single-entry.lesson h2,
.column-single-entry.lesson h3 { color: #0265d3; font-size: 137.5%; font-weight: 700; line-height: 1.3; margin: 1em 0 0.5em; }
.column-single-entry.lesson p:last-child { margin-bottom: 0; }
.column-single-entry.lesson ul,
.column-single-entry.lesson ol { background-color: #f0f5f9; display: inline-block; padding: 1.5em; }
.column-single-entry.lesson ul li,
.lesson-lang-list ul li { list-style: none; margin-left: 0; padding-left: 1em; }
.column-single-entry.lesson ul li::before,
.lesson-lang-list ul li::before { color: #0054a7; content: "\f0da"; font-family: "Font Awesome 5 Free"; font-weight: 900; display: inline-block; text-indent: -1em; }
.column-single-entry.lesson ol { counter-reset: my-counter; }
.column-single-entry.lesson ol li { list-style: none; position: relative; margin-left: 0; padding: 0.3em 1em 0.2em 3em; }
.column-single-entry.lesson ol li:nth-of-type(even) { background-color: #fff; }
.column-single-entry.lesson ol li::before {
  content: counter(my-counter); counter-increment: my-counter; display: block; position: absolute; top: 0.3em; left: 1em;
  border: #000 1px solid; border-radius: 50%; text-align: center; line-height: 1.3; height: 1.3em; width: 1.3em;
}


.lesson--example {display: flex;justify-content: center;align-items: center;}
.lesson--example__thumb {max-width: 36rem;width: 40%;}
.lesson--example__thumb img{max-width: 100%;}
.lesson--example__list {padding-bottom: 2rem;}
.lesson--example__list li{padding: 1.5rem 1.6rem 1.3rem;border: 0.3rem solid #0054A7;border-radius: 1.6rem;background-color: #FFF;font-size: clamp(1.4rem,1.041667vw,2rem);width: fit-content;font-weight: bold;position: relative;}
.lesson--example__list li::before{content: '';position: absolute;width: 2.3rem;height: 1.6rem;background: url('./assets/img/lesson_example_arr1.png') no-repeat center /contain;top: calc(50% - 0.8rem);left: -2.3rem;}
.lesson--example__list li:not(:last-child){margin-bottom:1rem;}
.lesson--example__list li:nth-of-type(odd){background-color: #DFFFE4;}
.lesson--example__list li:nth-of-type(odd)::before{background: url('./assets/img/lesson_example_arr2.png') no-repeat center /contain;}
.lesson--example__list li strong{font-weight: 900;font-size: 120%;}
.lesson--example__list li .red{color: #D13753;}


@media screen and (max-width:400px){
  .lesson-lang-list ul { width: 49%; }
}
@media screen and (min-width:768px){
  .sp{display: none;}
}
@media screen and (max-width:767px){
  .pc{display: none;}
  .lesson-price-thumb { width: 80%; margin: 0 auto 1em; }
  .lesson-price-table td.lesson-price-table-note { display: none; }
  .lesson-ex-body { margin-top: 0.7em; }
  .lesson-plan-thumb { width: 80%; margin: auto; }
  .lesson-plan-thumb.pc { display: none; }
  .lesson-support-pdf li { width: 48%; max-width: 142px; }
  .lesson-support-pdf li img { width: 100%; height: auto; }
  .lesson-flow-body { margin-top: 0.7em; }
  .lesson--example{flex-direction: column-reverse;gap: 0;margin-bottom: 35px;}
  .lesson--example__thumb{width: 230px;text-align: center;}
  .lesson--example__thumb img{max-width: 100%;}
  .lesson--example__list{width: fit-content;margin: 0 auto;}
  .lesson--example__list li{font-size: 1.6rem;padding:15px 10px;}
  .lesson--example__list li::before{display: none;}
  .lesson--example__list li span{font-size: 2rem;}
}
@media screen and (min-width:768px){
  .lesson-price-thumb { float: right; width: 48%; }
  .lesson-price-copy { float: left; width: 48%; }
  .lesson-price-table { border-top-width: 20px; }
  .lesson-price-note { display: none; }
  .lesson-ex { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  .lesson-ex-header { width: 11em;
    display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
  .lesson-ex-body { width: calc(100% - 11em); padding-left: 1em; }
  .lesson-plan-thumb { float: left; width: 38%; }
  .lesson-plan-thumb.sp { display: none; }
  .lesson-plan-check { float: right; width: 58%; }
  .lesson-plan-check li { background-position: 0 3px; }
  .lesson-plan-check > h3:first-child { margin-top: 0; }
  .lesson-teacher-thumb { float: right; width: 38%; }
  .lesson-teacher .column-single-entry { float: left; width: 58%; }
  .lesson-support { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
  .lesson-support li { width: 23%; }
  .lesson-support li::before { left: auto; bottom: auto; transform: translateX(0) rotate(270deg); top: 1.8em; right: -25px; }
  .lesson-support-header { height: 5em; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
  .lesson-flow li { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center;  }
  .lesson-flow li::before { left: 3.5em; margin-left: 0; bottom: -35px; }
  .lesson-flow-header {
    width: 11em; height: 5em;
    display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center;
  }
  .lesson-flow-body { width: calc(100% - 11em); padding-left: 1em; }
}
@media screen and (min-width:1000px){
  .lesson-plan-check li { background-position: 0 6px; }
}
/* 日本語 */
.lessonja-lead-sub { font-size: 137.5%; font-weight: 700; text-align: center; margin-top: 2em; }
.lessonja-lead { font-size: 237.5%; font-weight: 700; text-align: center; margin: 1em 0; }
.lessonja-lead .fcr { position: relative; }
.lessonja-lead .fcr::before,
.lessonja-lead .fcr::after { content: ""; display: block; position: absolute; width: 100%; height: 0; left: 0; bottom: 4px; border-top: #d13753 2px solid; }
.lessonja-lead .fcr::after { bottom: 0; }
@media screen and (max-width:767px){
  .lessonja-lead { font-size: 212.5%; }
}
/* 17ヶ国語 */
.lesson-lead.lesson17 { margin-bottom: 0; }
.lesson17-anchor-header,
.lesson17-anchor-foot { text-align: center; }
.lesson17-anchor-header.h3 { color: #e9a719; }
.lesson17-anchor-img { margin: 0 auto 2em; text-align: center; max-width: 450px; width: 80%; }
.lesson17-anchor-img img { max-width: 100%; height: auto; }
.lesson17-anchor ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.lesson17-anchor li { width: 48%; margin-bottom: 1em; }
.lesson17-anchor a {
  display: block; text-decoration: none; position: relative;
  width: 100%; height: 100%; padding: 0.5em 3em 0.5em 1em;
  border: #cecece 2px solid; border-radius: 3px; font-weight: 700; text-align: center;
}
.lesson17-anchor a .icon-arr { position: absolute; top: 50%; right: 1em; transform: translateY(-50%); }
.lesson17-anchor a.red { border-color: #f497a7; }
.lesson17-anchor a.red .icon-arr { border-color: #ed798d; color: #ed798d; }
.lesson17-anchor a.blue { border-color: #9eb0f9; }
.lesson17-anchor a.blue .icon-arr { border-color: #718bf6; color: #718bf6; }
.lesson17-anchor a.green { border-color: #a0dcad; }
.lesson17-anchor a.green .icon-arr { border-color: #87cd96; color: #87cd96; }
.lesson17-lang { max-width: 750px; }
.lesson-teacher-lang-img img { max-width: 100%; height: auto; }
@media screen and (max-width:767px){
  .lesson17-anchor li:nth-of-type(odd) { margin-right: 4%; }
  .lesson-teacher-lang-img { margin: 1em auto; width: 50%; text-align: center; }
}
@media screen and (min-width:768px){
  .lesson17-anchor li { width: 31%; margin-right: 3.5%; }
  .lesson17-anchor li:nth-of-type(3n) { margin-right: 0; }
  .lesson-teacher-lang-img { float: right; width: 23%; max-width: 388px; }
  .lessong-teacher-lang-txt { float: left; width: 73%; }
}
@media screen and (min-width:800px){
  .lesson17-anchor li,
  .lesson17-anchor li:nth-of-type(3n) { width: 23.5%; margin-right: 2%; }
  .lesson17-anchor li:nth-of-type(4n) { margin-right: 0; }
}
/* 17ヶ国語詳細 */
.column-single-entry.lesson17-single { margin: 4em 0; }
.btn-area.lesson17-single { padding-top: 4em; }

/* 学校・自治体向け */
.japan-juni-teach-header { background-color: #0054a7; color: #fff; font-weight: 700; text-align: center; padding: 0.8em 1em; }
.japan-juni-teach-body { margin-top: 0.8em; }
.japan-juni-bnr { margin-top: 2em; text-align: center; }
.japan-juni-bnr img { max-width: 100%; height: auto; }
.japan-juni-lang { font-weight: 700; margin-bottom: 1.5em; }
.japan-juni-lang-thumb { text-align: center; }
.japan-juni-lang-thumb img { max-width: 100%; height: auto; }
.japan-juni-lang-txt .gray-boreder-block { margin-bottom: 1em; }
@media screen and (max-width:767px){
  .japan-juni-teach li { margin-bottom: 1.5em; }
  .japan-juni-lang-thumb { margin: 0 auto 1em; width: 80%; }
}
@media screen and (min-width:768px){
  .japan-juni-teach { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
  .japan-juni-teach li { border-top: #72aae1 1px solid; border-left: #72aae1 1px solid; width: 50%; padding: 1em; }
  .japan-juni-teach li:nth-of-type(1),
  .japan-juni-teach li:nth-of-type(2) { border-top: 0; }
  .japan-juni-teach-header { min-height: 5em; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
  .japan-juni-lang-thumb { float: right; width: 38%; }
  .japan-juni-lang-txt { float: left; width: 58%; }
}
@media screen and (min-width:768px) and (max-width:1099px){
  .japan-juni-teach li:nth-of-type(odd) { border-left: 0; }
}
@media screen and (min-width:1100px){
  .japan-juni-teach li { width: 25%; padding: 1.5em 1em; }
  .japan-juni-teach li:nth-of-type(3),
  .japan-juni-teach li:nth-of-type(4) { border-top: 0; }
  .japan-juni-teach li:nth-of-type(1),
  .japan-juni-teach li:nth-of-type(5n) { border-left: 0; }
}

/*
recruit
-------------------*/
/* lead */
.recruit-lead { margin: 2em 0 1em; text-align: center; }
.recruit-anchor li { margin-top: 1em; }
.recruit-anchor li a {
  display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center;
  text-decoration: none; position: relative;
  border: #7bb0e3 1px solid; border-radius: 3px; padding: 0.5em 3em 0.5em 0;
}
.recruit-anchor .icon-arr { position: absolute; top: 50%; right: 1em; transform: translateY(-50%); }
.recruit-anchor-locate,
.recruit-anchor-ttl { display: block; padding-left: 1em; }
.recruit-anchor-locate { width: 7em; color: #0054a7; }
.recruit-anchor-ttl { padding-right: 1em; width: calc(100% - 7em); }
/* entry */
.topborder.recruit { margin-top: 5em; }
.recruit-thumb { margin: 0 auto 1em; text-align: center; }
.recruit-thumb img { max-width: 100%; height: auto; }


/*
company
-------------------*/
.company-message-thumb img { max-width: 100%; height: auto; }
.company-message-lead { font-size: 137.5%; font-weight: 700; margin-bottom: 2em; }
.company-message-footer { margin-top: 2em; text-align: right; }
.company-message-footer p { margin-top: 1em; }
.company-philosophy-thumb { max-width: 206px; }
.company-philosophy-thumb img { width: 100%; height: auto; }
.company-philosophy-lead { color: #0054a7; font-size: 162.5%; font-weight: 700; margin-bottom: 1em; }
.company-access { text-align: center; }
.company-access-map {
  margin: 2em 0 1em;
  width: 100%; height: 0; padding-top: 56%; position: relative;
}
.company-access-map iframe { position: absolute; width: 100%!important; height: 100%!important; top: 0; left: 0; }
.company-access-jpg { margin: 1em auto 2em; }
@media screen and (max-width:767px){
  .company-message-thumb { margin: 0 auto 1em; width: 80%; }
  .company-philosophy-thumb { margin: 0 auto 1em; width: 80%; }
  #access { padding-top: 64px; margin-top: -64px; }
}
@media screen and (min-width:768px){
  .company-message-thumb { float: right; width: 38%; }
  .company-message { float: left; width: 58%; }
  .company-philosophy-thumb { float: right; width: 26%; }
  .company-philosophy-txt { float: left; width: 70%; }
  .company-access-map { float: left; width: 58%; margin: 2em 0; }
  .company-access-jpg { float: right; width: 38.5%; margin: 2em 0; }
}
@media screen and (min-width:1100px){
  .company-philosophy-txt { width: 520px; }
}


/*
contact
-------------------*/
.contact-block.contact-page { margin-top: 3em; padding-bottom: 2em; }
.contact-page-ttl { text-align: center; margin-bottom: 1em; }
.contact-page .phone-dial.phone-time { font-weight: 400; }
@media screen and (min-width:768px){
  .contact-page-row {
    border-top: #dedede 1px dotted; padding: 0.5em 0 0.2em;
    display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between;
  }
  .contact-page-row:nth-of-type(1) { border-top: 0; }
}
.list-row { display: table; width: 100%; border-bottom: #dedede 1px solid; }
.list-row:first-child { border-top: #dedede 1px solid; }
.list-header,
.list-body { display: table-cell; vertical-align: top; padding-top: 1.1em; padding-bottom: 0.9em; }
.list-header { padding-right: 1em; }
.contact-lead { text-align: center; margin-top: 4em; }
.contact-form-line { display: block; margin-top: 1rem; }
.contact-form-line:first-of-type { margin-top: 0; }
.contact-form-header-sub { font-size: 87.5%; }
@media screen and (max-width:767px){
	.form-input-block { margin-top: 3rem; }
	.form-input-block .list-row { display: block; }
	.list-header.contact-form-header,
	.list-body.contact-form-body { display: block; }
	.list-header.contact-form-header { font-weight: bold; padding-bottom: 0; }
}
@media screen and (min-width:768px){
  .list-header { padding-right: 5em; }
	.form-input-block { margin-top: 5rem; }
	.contact-form-header { width: 18em; padding-top: 1.5rem; }
  .contact-form-header.list-header { padding-right: 1em; }
}
@media screen and (min-width:980px){
	.contact-form-line.col2 { display: inline-block; margin-top: 0; width: 49%; }
}
/* validate */
.formError .formErrorContent { border: 0; border-radius: 0; font-size: 1.2rem; padding: 0.4em 1em; }
@media screen and (min-width:768px){
  .formError .formErrorContent { font-size: 1.6rem; }
}
/* error */
.contact-err-item { color: #f00; font-size: 120%; font-weight: 700; margin: 1em auto; }
@media screen and (max-width:767px){
	.contact-err-list { margin-top: 3rem; text-align: left; }
}
@media screen and (min-width:768px){
	.contact-err-list { margin-top: 5rem; text-align: center; }
}

/* privacy */
.contact-privacy { background: #fff; border: #dedede 1px solid; height: 200px; overflow-y: scroll; }
.contact-privacy-inner { padding: 1em; }
.contact-privacy-inner h2 { font-weight: 700; margin-top: 2em; margin-bottom: 1em; }
.contact-privacy-inner p { margin-top: 1em; }

@media screen and (min-width:768px){
	.contact-privacy-inner { padding: 1em 2em; }
}

/* form */
.form-sub-ttl { display: inline-block; padding-right: 0.5rem; box-sizing: content-box; }
.form-sub-ttl.type2 { width: 2em; }
.form-sub-ttl.type4 { width: 4em; }
.form-req { background: #ff0000; color: #fff; display: inline-block; font-weight: 700; font-size: 75%; padding: 0 0.5em; margin-left: 0.4em; margin-right: 0.4em; }
.form-sep { padding-left: 0.6em; padding-right: 0.6em;}
.form-input { display: inline-block; position: relative; border: #dedede 1px solid; background: #f8f8f8; box-sizing: border-box; padding: 0.4em; }
.form-input:focus { background: #fefefe; }
.text-s { width: 6em; }
.text-m { width: 80%; }
.text-l { width: 100%; }
.text-m.type2 { width: calc(80% - 2em - 1rem); }
.text-l.type2 { width: calc(100% - 2em - 1rem); }
.text-m.type4 { width: calc(80% - 4em - 1rem); }
.text-l.type4 { width: calc(100% - 4em - 1rem); }
.form-submit-block { text-align: center; margin-top: 2em; }
.form-btn { font-weight: bold; font-size: 1.6rem; }
.type2_r{padding-left: 0.5rem;}
@media screen and (max-width:767px){
	.text-s { width: 4em; }
	.text-m { width: 100%; }
	.form-sub-ttl.type2 + .text-m { width: calc(100% - 2em - 1rem); }
	.form-sub-ttl.type4 + .text-m { width: calc(100% - 4em - 1rem); }
}
@media screen and (min-width:768px){
	.form-btn { font-size: 1.8rem; }
}
.wpcf7-list-item{margin-left: 12px;}
.wpcf7-spinner{bottom: -20px;left: calc(50% - 24px);position: absolute;margin: 0 10px;}
.contact_zipcode .wpcf7-not-valid-tip{position: absolute; white-space: nowrap;left: -20px;}
.wpcf7 form .wpcf7-response-output{font-size: 1.6rem;}
.form-submit-block .btn{margin: 0 4px;border-radius: 3px;}
.form-submit-block .btn:hover{ opacity: 0.7;}

/*
english
-------------------*/
.pageheader-ttl.english .pageheader-en { color: #000; font-size: 262.5%; line-height: 1.2; }
.english-lead-thumb img { width: 100%; height: auto; }
.gray-boreder-block.english .h3 { margin-top: 0; }
.english-section { margin-top: 5em; }
.english-company { margin-top: 7em; }
.column-single-entry.english h1,
.column-single-entry.english h2 { margin-bottom: 1em; }
.column-single-entry.english li { margin-top: 1em; margin-bottom: 1em; }
.english-online-thumb img { width: 100%; height: auto; max-width: 199px; }
.english-online-pop { border-radius: 10px; border: #dedede 1px solid; padding: 1.5em 1.5em 0 1.5em; position: relative; }
.english-company .basic-table th { font-weight: 700; }
.english-contact-header { font-size: 112.5%; font-weight: 700; margin-bottom: 1em; text-align: left; overflow: hidden; }
.english-contact-header > span { display: inline-block; position: relative; }
.english-contact-header > span::before {
  content: ""; display: block; position: absolute; width: 800px; height: 0; top: 50%; left: 105%;
  border-top: #dedede 1px solid;
}
.english-contact-message { text-align: left; margin-bottom: 1em; }
.english-contact {
  background-color: #f3f3f3; font-size: 60%; padding: 2.5em 2em 1.5em;
  display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-flex-wrap: wrap; flex-wrap: wrap;
}
.english-contact .phone-dial { width: 50%; margin: 0 0 1em; }
.english-contact .phone-num { font-size: 210%; }
@media screen and (max-width:767px){
  .english-online-thumb { margin: auto; width: 75%; text-align: center; }
  .english-contact { font-size: 76.5%; padding-left: 1em; padding-right: 1em; }
  .english-contact .phone-num { font-size: 156%; }
  .english-contact .emailaddress { width: 9.5em; }
}
@media screen and (min-width:768px){
  .english-online { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
  .english-online-thumb { width: 30%; max-width: 199px; padding-top: 2em; }
  .english-online-txt { width: calc(97% - 199px); }
  .english-online-txt .h3 { padding-left: 1em; }
  .english-online-pop { border-radius: 20px; }
  .english-online-pop:after, .english-online-pop:before {
    right: 100%; top: 50%; border: solid transparent; content: " ";
    height: 0; width: 0; position: absolute; pointer-events: none;
  }
  .english-online-pop:after {
    border-color: rgba(255, 255, 255, 0); border-right-color: #ffffff; border-width: 15px;
    margin-top: -15px;
  }
  .english-online-pop:before {
    border-color: rgba(222, 222, 222, 0); border-right-color: #dedede; border-width: 16px;
    margin-top: -16px;
  }
  .contact-block.english .contact-block-row { -webkit-align-items: flex-start; align-items: flex-start; }
}
