@charset "UTF-8";
/*!
Theme Name: Theme
Description: theme.
Version: 1.0
Author: Artarakt
Author URI: http://artarakt.com
Version: 1.0
License: Artarakt
License URI: http://artarakt.com
*/
@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@700&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ol, ul, li { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; text-decoration: none; }

ins { background-color: #ff9; color: #000; text-decoration: none; }

mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

img { border: 0; vertical-align: top; }

em { font-style: italic; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 0; padding: 0; }

input, select, textarea { font-family: inherit; font-style: inherit; font-weight: inherit; font-size: 100%; margin: 0; padding: 0; vertical-align: middle; }

input:focus, textarea:focus, select:focus { outline: none; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] { background: 0; border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-appearance: button; appearance: button; border: none; -webkit-box-sizing: border-box; box-sizing: border-box; }

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }

input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

html, body { width: 100%; height: 100%; margin: 0; padding: 0; }

body { min-width: 1120px; padding-top: 70px; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-size: 14px; line-height: 32px; letter-spacing: 0.04em; color: #5A5A5A; }

.en { font-family: 'Quicksand', sans-serif; }

small { font-size: 90%; }

a { color: #5A5A5A; text-decoration: none; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; }

a:hover { -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; }

.sp { display: none !important; }

.pc { display: block !important; }

#wpadminbar { display: none; }

@media screen and (max-width: 420px) { body { min-width: 320px; }
  .sp { display: block !important; }
  .pc { display: none !important; } }

.flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.inner { width: 100%; max-width: 1000px; margin: 0 auto; }

.center { text-align: center; }

.btn, input[type="submit"], input[type="button"] { position: relative; display: block; width: 100%; max-width: 300px; padding: 14px 0; margin: 0 auto; color: #5A5A5A; background-color: #DEF2EC; font-weight: bold; font-size: 16px; line-height: 21px; border-radius: 24px; text-align: center; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; cursor: pointer; }

.btn:before, input[type="submit"]:before, input[type="button"]:before { display: block; position: absolute; top: 50%; right: 20px; margin-top: -6px; content: ''; width: 8px; height: 12px; background-image: url(images/ico_tri.png); background-size: contain; background-repeat: no-repeat; }

.btn:hover, input[type="submit"]:hover, input[type="button"]:hover { color: white; background-color: #5A5A5A; }

.fade { -webkit-transition-duration: .5s; -o-transition-duration: .5s; transition-duration: .5s; -webkit-transition-timing-function: ease-in-out; -o-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; opacity: 0; -webkit-transform: translate(0, -2px); -ms-transform: translate(0, -2px); transform: translate(0, -2px); }

.fades { opacity: 1.0; -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); transform: translate(0, 0); }

@media screen and (max-width: 420px) { .flex { display: block; }
  .btn, input[type="submit"], input[type="button"] { max-width: 250px; font-size: 12px; } }

header { width: 100%; min-width: 1120px; height: 70px; position: fixed; top: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; background: white; -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); z-index: 99; -webkit-transition: all 0.5s ease 0.2s; -o-transition: all 0.5s ease 0.2s; transition: all 0.5s ease 0.2s; }

header .logo { width: 200px; padding-left: 18px; }

header .global { height: 100%; }

header .global ul.flex { height: 100%; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

header .global ul.flex li { height: 100%; }

header .global ul.flex li a { display: block; padding: 19px 18px; font-weight: bold; }

header .global ul.flex li a:hover { color: white; background-color: #FF9901; }

footer { padding: 60px 0 55px; -webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); }

footer .inner { padding-bottom: 60px; }

footer .flex { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

footer .company { margin-right: 1rem; padding-right: 1rem; border-right: 1px solid #5A5A5A; line-height: 27px; }

footer .address { font-size: 12px; line-height: 21px; }

footer .link a { margin-left: 10px; font-size: 12px; border-bottom: 1px solid #5A5A5A; }

footer .link a:hover { border-bottom: transparent; }

footer .copy { font-size: 12px; color: #FF9901; }

#GoTop { position: fixed; bottom: 30px; right: 30px; width: 58px; height: 58px; text-align: center; border-radius: 29px; background: white; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; }

#GoTop img { vertical-align: bottom; }

#GoTop:hover { background: #FF9901; }

@media screen and (max-width: 420px) { header { min-width: 320px; }
  header .logo { padding-left: 0; margin: 0 auto; }
  header #Menu { position: absolute; top: 25px; right: 25px; width: 22px; height: 20px; z-index: 99; cursor: pointer; }
  header #Menu span { width: 22px; height: 2px; border-radius: 2px; display: block; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background-color: #999; -webkit-transition-duration: 0.3s; -o-transition-duration: 0.3s; transition-duration: 0.3s; }
  header #Menu span:nth-child(1) { top: 0px; }
  header #Menu span:nth-child(2) { top: 50%; opacity: 1; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
  header #Menu span:nth-child(3) { bottom: 0px; }
  header #Menu.close { position: fixed; }
  header #Menu.close span:nth-child(1) { -webkit-transform: translate(-50%, 10px) rotate(45deg); -ms-transform: translate(-50%, 10px) rotate(45deg); transform: translate(-50%, 10px) rotate(45deg); }
  header #Menu.close span:nth-child(2) { opacity: 0; }
  header #Menu.close span:nth-child(3) { -webkit-transform: translate(-50%, -8px) rotate(-45deg); -ms-transform: translate(-50%, -8px) rotate(-45deg); transform: translate(-50%, -8px) rotate(-45deg); }
  header .global { display: none; position: fixed; top: 0; right: 0; width: 260px; height: 100vh; padding-top: 70px; background: white; -webkit-box-shadow: -5px 0px 15px rgba(0, 0, 0, 0.1); box-shadow: -5px 0px 15px rgba(0, 0, 0, 0.1); -webkit-box-sizing: border-box; box-sizing: border-box; }
  header .global ul.flex { border-bottom: 1px solid #FFEBCC; height: auto; }
  header .global ul.flex li { height: auto; border-top: 1px solid #FFEBCC; }
  header .global ul.flex li a { padding-left: 40px; }
  header .global nav.sp { padding: 30px 0 50px 30px; }
  header .global nav.sp a { font-size: 12px; border-bottom: 1px solid #5A5A5A; }
  footer { padding: 30px 0; }
  footer .inner { padding-bottom: 30px; }
  footer .logo { text-align: center; }
  footer .flex { text-align: center; }
  footer .flex .company { padding: 15px 0; margin: 0; border: 0; }
  footer .flex hr { width: 45px; margin: 0 auto; border-top: 1px solid #5A5A5A; }
  footer .flex .address { padding-top: 15px; }
  footer .flex .link { padding-top: 30px; }
  footer .flex .link a { margin: 0; } }

.mv { position: relative; padding: 80px 0 110px; background-image: url(images/bg_pink.png); background-size: 5px; overflow: hidden; }

.mv .flex { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.mv .txt, .mv .ph { width: 50%; }

.mv .ph { position: relative; height: 320px; }

.mv .ph img { width: 510px; position: absolute; top: 10px; right: 0; margin-right: -60px; }

.mv h2 { margin-bottom: 30px; font-size: 18px; }

.mv .flower { position: absolute; }

.mv .flower.anima1 { -webkit-animation: flower_anima 3s linear infinite; animation: flower_anima 3s linear infinite; }

.mv .flower.anima2 { -webkit-animation: flower_anima2 3s linear infinite; animation: flower_anima2 3s linear infinite; }

.mv #Flo01 { top: 65px; left: 50%; margin-left: -570px; }

.mv #Flo02 { top: 190px; left: 50%; margin-left: -490px; }

.mv #Flo03 { top: 285px; left: 50%; margin-left: -590px; }

.mv #Flo04 { bottom: 30px; left: 50%; margin-left: -510px; }

.mv #Flo05 { bottom: 30px; left: 50%; margin-left: -220px; }

.mv #Flo06 { top: 60px; left: 50%; }

.mv #Flo07 { top: 34%; left: 50%; margin-left: -50px; }

.mv #Flo08 { top: 50%; left: 50%; }

.mv #Flo09 { bottom: 30px; right: 50%; margin-right: -80px; }

.mv #Flo10 { top: 60px; right: 50%; margin-right: -520px; }

.mv #Flo11 { top: 160px; right: 50%; margin-right: -570px; }

.mv #Flo12 { top: 50%; right: 50%; margin-right: -570px; }

.mv #Flo13 { bottom: 50px; right: 50%; margin-right: -580px; }

@-webkit-keyframes flower_anima { 0% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
  25% { -webkit-transform: translateY(-2px) rotate(1deg); transform: translateY(-2px) rotate(1deg); }
  75% { -webkit-transform: translateY(2px) rotate(-3deg); transform: translateY(2px) rotate(-3deg); }
  100% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); } }

@keyframes flower_anima { 0% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
  25% { -webkit-transform: translateY(-2px) rotate(1deg); transform: translateY(-2px) rotate(1deg); }
  75% { -webkit-transform: translateY(2px) rotate(-3deg); transform: translateY(2px) rotate(-3deg); }
  100% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); } }

@-webkit-keyframes flower_anima2 { 0% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
  25% { -webkit-transform: translateY(2px) rotate(-1deg); transform: translateY(2px) rotate(-1deg); }
  75% { -webkit-transform: translateY(-2px) rotate(3deg); transform: translateY(-2px) rotate(3deg); }
  100% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); } }

@keyframes flower_anima2 { 0% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); }
  25% { -webkit-transform: translateY(2px) rotate(-1deg); transform: translateY(2px) rotate(-1deg); }
  75% { -webkit-transform: translateY(-2px) rotate(3deg); transform: translateY(-2px) rotate(3deg); }
  100% { -webkit-transform: translateY(0) rotate(0deg); transform: translateY(0) rotate(0deg); } }

.lead { padding: 60px 0; background: #F4B8BD; }

.lead h3 { font-size: 24px; line-height: 38px; color: white; }

.lead .flex { margin: 30px 0; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.lead .flex img { margin: 0 15px; }

.lead p { line-height: 26px; }

#Message { padding: 60px 0 100px; background-image: url(images/bg_message.png); background-size: 100% 40px; background-repeat: no-repeat; background-position: bottom; }

#Message .inner { max-width: 800px; margin-bottom: 30px; }

#Message .flex { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }

#Message .flex .txt, #Message .flex .ph { width: 50%; }

#Message .head { margin-bottom: 1rem; font-size: 30px; font-weight: bold; color: #F4B8BD; }

#Message h3 { margin-bottom: 1rem; font-size: 22px; }

#Message p { line-height: 26px; }

#Training { padding: 60px 0 100px; background-color: #FFEAEF; background-image: url(images/bg_training.png); background-size: 100% 40px; background-repeat: no-repeat; background-position: bottom; }

#Training .inner { max-width: 850px; }

#Training h4 { margin-bottom: 50px; font-size: 24px; line-height: 42px; }

#Training h4 span { background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, white)); background: -webkit-linear-gradient(transparent 70%, white 0%); background: -o-linear-gradient(transparent 70%, white 0%); background: linear-gradient(transparent 70%, white 0%); }

#Training .flex { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

#Training .flex .ph { width: 50%; }

#Training .flex .ph img { width: 90%; }

#Training .flex .txt { width: 50%; }

#Training .flex ul { width: 100%; }

#Training .flex ul li { margin-bottom: 30px; font-size: 18px; line-height: 28px; font-weight: bold; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

#Training .flex ul li img { margin-right: 1rem; }

#Character { padding: 60px 0 100px; background-color: #DEF2EC; background-image: url(images/bg_ch.png); background-size: 100% 40px; background-repeat: no-repeat; background-position: bottom; }

#Character .inner { max-width: 900px; }

#Character .flex { margin-bottom: 30px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

#Character .flex .txt { padding: 10px 5px 10px 30px; }

#Character .flex .txt p { text-align: justify; line-height: 26px; }

#Character h4 { margin-bottom: 50px; font-size: 24px; line-height: 42px; }

#Character h4 span { background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, white)); background: -webkit-linear-gradient(transparent 70%, white 0%); background: -o-linear-gradient(transparent 70%, white 0%); background: linear-gradient(transparent 70%, white 0%); }

#Info { padding: 80px 0; }

#Info .ph { width: 350px; margin-right: 100px; }

#Info .txt { width: 55%; }

#Info .txt h5 { margin-bottom: 10px; font-size: 22px; }

#Info .txt p { line-height: 26px; }

#Info .txt ul { margin: 10px 0 20px; }

#Info .txt ul li { display: inline-block; margin-right: 10px; padding: 0 10px; border: 1px solid #F4B8BD; border-radius: 8px; font-weight: bold; }

#Info .txt .cv p { font-size: 16px; font-weight: bold; }

#Info .txt .cv .flex { margin: 20px 0; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

#Info .txt .cv .flex .btn { margin: 0 20px 0 0; max-width: 220px; }

#Info .txt .note { font-size: 12px; line-height: 20px; }

#Faq { padding: 50px 0; background-color: #F4B8BD; }

#Faq h6 { margin-bottom: 30px; font-size: 24px; }

#Faq h6 .en { color: white; }

#Faq article { width: 100%; max-width: 650px; margin: 0 auto 10px; padding: 15px 20px 5px; -webkit-box-sizing: border-box; box-sizing: border-box; background: white; border-radius: 8px; }

#Faq article .head { position: relative; margin-bottom: 8px; cursor: pointer; }

#Faq article .head:before { float: left; content: ''; display: inline-block; margin-top: 2px; margin-right: 10px; width: 22px; height: 29px; background-image: url(images/ico_q.png); background-size: contain; background-repeat: no-repeat; }

#Faq article .head:after { position: absolute; top: 5px; right: 0; content: ''; width: 22px; height: 22px; background-image: url("images/ico_open.png"); background-size: contain; background-repeat: no-repeat; }

#Faq article .head.opened:after { background-image: url("images/ico_close.png"); }

#Faq article .head h1 { font-weight: bold; }

#Faq article .body { display: none; position: relative; padding: 5px 32px 15px; -webkit-box-sizing: border-box; box-sizing: border-box; }

#Faq article .body:before { position: absolute; top: 0; left: 2px; content: ''; display: inline-block; margin-top: 2px; margin-right: 17.5px; width: 22px; height: 29px; background-image: url(images/ico_a.png); background-size: contain; background-repeat: no-repeat; }

#Faq article .body p { font-size: 12px; line-height: 20px; }

#Contact { padding: 60px 0; background-image: url(images/bg_blue.png); background-size: 8px; }

#Contact h6 { margin-bottom: 30px; font-size: 24px; }

#Contact table { width: 100%; max-width: 520px; margin: 0 auto; }

#Contact table th { width: 140px; padding-bottom: 10px; text-align: left; vertical-align: top; }

#Contact table td { width: 360px; padding-bottom: 10px; }

#Contact table td input, #Contact table td textarea { width: 100%; padding: 5px 10px; border: 1px solid #92D4C1; border-radius: 8px; -webkit-box-sizing: border-box; box-sizing: border-box; }

#Contact table td p { font-size: 10px; line-height: 21px; }

#Contact table.confirm { margin-top: 30px; }

#Contact table.confirm th { padding-right: 10px; }

#Contact .center { margin-top: 15px; }

#Contact .center a { border-bottom: 1px solid #5A5A5A; }

#Contact .center a:hover { border-bottom: transparent; }

#Contact .g-recaptcha { margin: 0 auto; width: 304px; }

#Contact .submit { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; max-width: 650px; margin: 30px auto; }

#Contact .submit .btn:first-of-type { margin-right: 5px; }

#Contact .submit .btn:last-of-type { margin-left: 5px; }

@media screen and (max-width: 420px) { .mv { padding: 50px 0; }
  .mv .txt, .mv .ph { width: 100%; }
  .mv h3 img { width: 280px; }
  .mv .ph { height: auto; padding-top: 30px; text-align: center; }
  .mv .ph img { width: 75%; min-width: 210px; position: unset; margin-right: -10px; }
  .mv #Flo01 { top: 145px; margin-left: -130px; }
  .mv #Flo02 { top: 300px; margin-left: auto; width: 28px; left: 5%; }
  .mv #Flo06 { top: 140px; margin-left: 120px; }
  .mv #Flo08 { top: 87%; margin-left: -140px; width: 22px; }
  .mv #Flo09 { bottom: 170px; margin-right: auto; width: 38px; right: 5%; }
  .mv #Flo12 { top: 80%; margin-right: -170px; width: 22px; }
  .mv #Flo3, .mv #Flo04, .mv #Flo05, .mv #Flo07, .mv #Flo10, .mv #Flo11, .mv #Flo13 { display: none; }
  .lead h3 { font-size: 18px; line-height: 26px; }
  .lead .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .lead .flex img { width: 160px; }
  .lead .flex img:nth-child(1) { margin: 0 30px 30px; }
  .lead .flex img:nth-child(2) { margin: 0 10px; }
  .lead .flex img:nth-child(3) { margin: 0 10px; }
  #Message { padding: 30px 0 60px; background-size: 100% 10px; }
  #Message .flex .txt, #Message .flex .ph { width: 100%; text-align: center; }
  #Message .head { margin-bottom: 20px; font-size: 26px; }
  #Message h3 { font-size: 16px; }
  #Message p { font-size: 12px; line-height: 21px; }
  #Message .ph { text-align: center; }
  #Message .ph img { width: 250px; }
  #Training { padding: 30px 0; background-size: 100% 10px; }
  #Training h4 { margin-bottom: 30px; font-size: 15px; line-height: 26px; }
  #Training .flex { padding-top: 10px; }
  #Training .flex .ph, #Training .flex .txt { width: 100%; text-align: center; }
  #Training .flex .ph img { width: 80%; }
  #Training .flex ul { padding-top: 30px; }
  #Training .flex ul li { font-size: 16px; line-height: 26px; letter-spacing: 0.05em; }
  #Training .flex ul li img { margin-bottom: 1rem; }
  #Character { padding: 30px 0 10px; background-size: 100% 10px; }
  #Character h4 { margin-bottom: 30px; font-size: 15px; line-height: 26px; }
  #Character .flex { margin-bottom: 10px; text-align: center; }
  #Character .flex p img { margin-bottom: 20px; width: 232px; }
  #Character .flex .ph img { width: 90%; max-width: 320px; }
  #Character .flex .txt { padding: 30px; }
  #Character .flex .txt p { font-size: 12px; line-height: 22px; }
  #Info { padding: 40px 0 10px; }
  #Info .ph, #Info .txt { width: 100%; padding: 0 30px 30px; -webkit-box-sizing: border-box; box-sizing: border-box; }
  #Info .ph .slick-dots { left: 0; bottom: -10px !important; }
  #Info .ph img { width: 100%; }
  #Info .txt h5 { font-size: 18px; }
  #Info .txt p { line-height: 22px; font-size: 12px; }
  #Info .txt ul li { font-size: 12px; }
  #Info .txt .cv p { font-size: 14px; }
  #Info .txt .cv .flex .btn { margin: 0 20px 10px 0; max-width: 180px; }
  #Info .txt .note { font-size: 10px; line-height: 20px; }
  #Faq { padding: 30px 30px 40px; }
  #Faq h6 { font-size: 20px; line-height: 38px; }
  #Faq h6 .en { font-size: 26px; }
  #Faq article .head { padding: 0 25px; }
  #Faq article .head:before { float: none; position: absolute; left: 0; top: 0; width: 17px; height: 23px; }
  #Faq article .head:after { top: 0; }
  #Faq article .head h1 { font-size: 12px; line-height: 22px; }
  #Faq article .body { padding: 5px 0 10px 25px; }
  #Faq article .body p { text-align: justify; }
  #Contact { padding: 30px 30px 50px; background-size: 5px; }
  #Contact h6 { margin-bottom: 15px; font-size: 18px !important; }
  #Contact table th, #Contact table td { display: block; width: 100%; }
  #Contact table th { padding-bottom: 0; }
  #Contact table td p { line-height: 14px; margin-top: 5px; }
  #Contact .center { font-size: 12px; line-height: 25px; } }

.profile { padding: 60px 0; }

.profile h2 { font-size: 18px; line-height: 2.5em; }

.profile .flex { padding-top: 60px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; line-height: 25px; }

.profile .txt { width: 100%; max-width: 300px; padding-right: 1rem; margin-right: 1.5rem; border-right: 1px solid #5A5A5A; }

.profile .txt .head { font-weight: bold; font-size: 18px; margin-bottom: 1rem; }

.profile .wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

.profile .history { padding-right: 1rem; }

.profile .history .name { margin-bottom: 1rem; }

.profile .ph { padding-left: 1rem; position: relative; }

.profile .ph #Profile { position: relative; z-index: 2; }

.profile .ph #Daughter { display: none; position: absolute; bottom: 20px; right: -52px; z-index: 1; }

.container { padding: 40px 0 30px; }

.container.orange { margin-bottom: 5px; background-image: url(images/bg_orange.png); background-size: 8px; }

.container.orange article:before { background-image: url(images/flower_orange.png); }

.container.orange .en { color: #FF9901; }

.container.green { background-image: url(images/bg_green.png); background-size: 8px; }

.container.green article:before { background-image: url(images/flower_green.png); }

.container.green .en { color: #66B934; }

.container.outro { padding-top: 0; }

.container.outro p, .container.outro li { font-size: 12px; line-height: 22px; letter-spacing: 0.05em; }

.container.outro ol { margin-bottom: 2rem; padding-left: 1rem; }

.container.outro ol li { margin-bottom: 0.5rem; list-style-type: decimal; }

.container h3 { margin-bottom: 30px; font-size: 22px; line-height: 36px; }

.container article { position: relative; width: 100%; max-width: 790px; margin: 0 auto 30px; padding: 30px; -webkit-box-sizing: border-box; box-sizing: border-box; background: white; border-radius: 8px; }

.container article:before { top: 30px; right: 30px; content: ''; position: absolute; display: inline-block; width: 28px; height: 28px; background-size: contain; }

.container article h2, .container article h3, .container article h4, .container article h5, .container article h6 { margin: 1rem 0; font-size: 18px; }

.container article .en { font-size: 16px; letter-spacing: 0.1em; }

.container article p { margin-bottom: 1rem; text-align: justify; line-height: 25px; }

.container article ul { margin-bottom: 2rem; padding-left: 1rem; }

.container article ul li { list-style-type: disc; }

.container article .flex { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }

.container article .flex .txt { width: 530px; }

.container article .flex .ph { width: 143px; text-align: center; }

.container article .flex .ph img { margin-bottom: 30px; }

@media screen and (max-width: 420px) { .profile { padding: 40px 30px; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .profile h2 { font-size: 16px; }
  .profile h2 img { width: 250px; }
  .profile p { font-size: 12px; }
  .profile .flex { padding-top: 30px; }
  .profile .txt { margin: 0; padding: 0; max-width: 100%; border-right: 0; text-align: justify; }
  .profile .txt .head { text-align: center; }
  .profile .wrap { display: block; padding-top: 30px; }
  .profile .ph { padding-left: 0; width: 135px; margin: 0 auto; }
  .profile .history { margin: 0 auto; padding: 0; }
  .profile .history .name { text-align: center; }
  .profile .history p { width: 100%; margin: 0 auto; }
  .container { padding: 40px 20px 30px; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .container.orange { background-size: 5px; }
  .container.green { background-size: 5px; }
  .container.outro article { padding: 30px 10px 0; }
  .container h3 { margin-bottom: 20px; font-size: 18px; }
  .container article { padding: 30px 30px 10px; }
  .container article .flex .txt { width: 100%; }
  .container article .flex .ph { width: 100%; }
  .container article .flex .ph img { vertical-align: middle; }
  .container article .flex .ph img:first-child { margin-right: 10px; }
  .container article h2, .container article h3, .container article h4, .container article h5, .container article h6 { line-height: 27px; }
  .container article p, .container article li { font-size: 12px; line-height: 22px; }
  .container article li { margin-bottom: 12px; }
  .container article br.sp { margin-bottom: 0.5rem; } }
