@charset "UTF-8"; 
/* ==========================================================================
   common
   ========================================================================== */

/* reset
   ========================================================================== */

html { height: 100%; font-size: 62.5%; margin: 0; padding: 0; border: none; outline: none; vertical-align: baseline; background: transparent; }
body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr,
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, main, menu, nav, section, summary, button,
time, mark, audio, video { margin: 0; padding: 0; border: none; outline: none; vertical-align: baseline; background: transparent; }
body { height: 100%; color: #000; font-family: 'Noto Sans JP', sans-serif; font-size: 1.4rem; font-feature-settings: normal; line-height: 1; background-color: #fff; position: relative; }
body, input, textarea, legend { color: #000; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
input, select, textarea { padding: 0; margin: 0; }
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section { display: block; }
nav ul { list-style: none; }
li { list-style-position: outside; }
ul li { list-style-type: none; }
ol li { list-style-type: none; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after,
q::before, q::after { content: ''; }
a { margin: 0; padding: 0; vertical-align: baseline; background: transparent; }
a, a img { border: none; }
a:link,
a:visited,
a:hover,
a:active { color: #000; text-decoration: none; }
a:focus { outline: none; }
a, label { cursor: pointer; }
address, optgroup, cite { font-style: normal; }
abbr { border-bottom: .1em dotted; cursor: help; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
th, td { text-align: left; vertical-align: top; border: 1px solid #000; }
caption { text-align: left; }
input, select { vertical-align: middle; border-radius: 0; }
em { font-style: normal; }
pre { overflow-x: auto; }
textarea { width: 99%; overflow: auto; }
iframe { display: block; width: 100%; overflow: hidden; }
sup { font-size: 1rem; vertical-align: baseline; position: relative; bottom: .7em; }
sub { font-size: 1rem; vertical-align: baseline; position: relative; top: .1em; }
img { vertical-align : middle; }
a img { opacity: 1; transition: opacity .25s ease 0s; }
a:hover img { opacity: .8; }



/* container
   ========================================================================== */

header { display: flex; align-items: center; width: 100%; font-feature-settings: 'palt' 1; position: fixed; inset: auto 0; margin: auto; z-index: 2; }
main { font-feature-settings: 'palt' 1; }
footer { display: flex; flex-direction: column; font-feature-settings: 'palt' 1; background: url(/images/logo/logo_v.svg) no-repeat; }

@media (min-width: 320px) and (max-width: 736px) {

header { height: 65px; }
main { padding-top: 65px; }
footer { background-position: center 25px; background-size: 240px 96px; padding: 158px 20px 22px; }

}
@media (min-width: 737px) {

header { max-width: 1366px; height: 100px; background-color: rgba(255, 255, 255, .9); padding: 0 40px; margin: 0 auto; box-sizing: border-box; }
main { width: 1366px; padding-top: 100px; margin: 0 auto; }
footer { justify-content: flex-end; align-items: center; width: 1366px; height: 270px; background-position: center 30px; background-size: 300px 120px; margin: 0 auto; box-sizing: border-box; }

}



/* utilities
   ========================================================================== */

/* clearfix */
.wrapper::after { content: ''; display: block; clear: both; }

/* replace text */
.replace { display: block; color: rgba(0, 0, 0, 0); text-align: center; overflow: hidden; position: relative; }
a.replace:link, a.replace:visited, a.replace:hover, a.replace:active, a.replace:focus { color: rgba(0, 0, 0, 0); }
.replace::after { content: ''; display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-color: transparent; background-position: center center; background-size: contain; position: absolute; left: 0; top: 0; z-index: 1; }

/* for responsive */
@media (min-width: 737px) {
.sp { display: none; }
}



/* ==========================================================================
   parts
   ========================================================================== */

/* header
   ========================================================================== */

header .logo.replace::after { background-image: url(/images/logo/logo_h.svg); }

@media (min-width: 320px) and (max-width: 736px) {

header .logo.replace { width: 240px; height: 30px; position: absolute; left: 20px; z-index: 2; }

#menus { width: 100%; height: 150px; background-color: #707070; margin-top: 65px; position: fixed; top: 0; transform: translateY(-150px); opacity: 0; transition: all .2s ease-in-out; }
input#hamburger[type="checkbox"]:checked ~ #menus { transform: translateY(0); opacity: 1; }
#menus ul a { display: flex; justify-content: flex-end; align-items: center; height: 50px; color: #fff; font-size: 1.4rem; font-weight: 400; line-height: 1; padding-right: 40px; box-sizing: border-box; }
input#hamburger[type=checkbox] { display: none; }
header .hamburger { display: flex; align-items: center; width: 100%; height: 65px; background-color: rgba(255, 255, 255, .9); cursor: pointer; position: absolute; top: 0; right: 0; z-index: 1; transition: .1s; }
input#hamburger[type="checkbox"]:checked ~ .hamburger { background-color: #fff; }
header .hamburger span { display: block; }
header .hamburger .inner { display: block; width: 30px; height: 26px; position: fixed; right: 20px; }
header .line { width: 100%; height: 2px; background-color: #000; box-sizing: border-box; }
header .horizontal { width: 30px; margin-top: 10px; position: relative; transition: all 0.3s; }
header .diagonal-01 { width: 30px; position: relative; transition: all 0.3s; }
header .diagonal-02 { width: 30px; margin-top: 10px; position: relative; transition: all 0.3s; }
input#hamburger[type=checkbox]:checked ~ .hamburger .horizontal { opacity: 0; }
input#hamburger[type=checkbox]:checked ~ .hamburger .diagonal-01 { width: 36px; margin-top: 12px; margin-left: -3px; transform: rotate(140deg); }
input#hamburger[type=checkbox]:checked ~ .hamburger .diagonal-02 { width: 36px; margin-top: -14px; margin-left: -3px; transform: rotate(-140deg); }

}
@media (min-width: 737px) {

header input,
header label { display: none; }

header .logo.replace { width: 400px; height: 50px; }

#menus { width: calc(100% - 400px); }
#menus ul { display: flex; justify-content: flex-end; align-items: center; }
#menus ul li { font-size: 1.6rem; margin-right: 90px; }
#menus ul li:last-child { margin-right: 0; }

#menus ul li a { transition: .25s; }
#menus ul li a:hover { color: #37bef0; }

}



/* footer
   ========================================================================== */

footer nav ul li { font-size: 1.6rem; font-weight: 400; }
footer p.copy { font-size: 1rem; font-weight: 400; line-height: 1; text-align: center; }

@media (min-width: 320px) and (max-width: 736px) {

footer nav ul { border-top: 1px solid #ddd; margin-bottom: 17px; }
footer nav ul li { border-bottom: 1px solid #ddd; }
footer nav ul li a { display: flex; justify-content: center; align-items: center; height: 40px; }

}
@media (min-width: 737px) {

footer nav ul { display: flex; justify-content: space-between; align-items: center; margin-top: 194px; }
footer nav ul li { margin-right: 70px; }
footer nav ul li:last-child { margin-right: 0; }

footer nav ul li a { transition: .25s; }
footer nav ul li a:hover { color: #37bef0; }

footer p.copy { margin: 24px 0; }

}



/* nav
   ========================================================================== */

body.advantage li.advantage a,
body.services li.services a,
body.company li.company a,
body.fee li.fee a,
body.policy li.policy a,
body.privacy li.privacy a { color: #37bef0; cursor: default; pointer-events: none; }



/* general
   ========================================================================== */

.billboard { position: relative; }
.billboard.common .inner { display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; }

.billboard.common .logo .sub.replace::after { background-image: url(/images/logo/since_1960.svg); }

a.button { display: flex; justify-content: center; align-items: center; background: linear-gradient(to bottom, #005ead 0%, #37bef0 51%,  #37bef0 100%); background-size: 100% 200%; border: 3px solid #005ead; box-sizing: border-box; transition: .25s; }
a.button:hover { background-position: center bottom; }
a.button span { color: #fff; font-size: 1.8rem; font-weight: 400; }
.buttons { display: flex; justify-content: center; align-items: center; }

.section > h2 { color: #005ead; font-weight: 300; line-height: 1; text-align: center; }

h2.deco { position: relative; }
h2.deco::before,
h2.deco::after { content: ''; display: inline-block; background-color: #005ead; width: 1px; position: absolute; top: -10px; }
h2.deco::before { transform: translate(-25px, 0) rotate(-30deg); }
h2.deco::after { transform: translate(25px, 0) rotate(30deg); }

a.button { width: 260px; height: 56px; }

.section.common p { font-weight: 400; }
.section.common p strong { font-weight: 300; }

.section.contact p { font-weight: 400; text-align: center; }
.section.contact p b { font-weight: 400; }
.section.contact .phone { display: flex; justify-content: center; align-items: center; border: 1px solid #005ead; box-sizing: border-box; }
.section.contact .phone span { font-family: 'Noto Serif JP', serif; color: #37bef0; font-weight: 500; background: url(/images/home/icon_phone.svg) no-repeat; }
.section.contact .phone span a { color: #37bef0; }

@media (min-width: 320px) and (max-width: 736px) {

.billboard { height: calc(100% - 65px); top: 65px; }

.billboard.common .inner { background-image: url(/images/billboard/mobile/billboard_common.jpg); background-size: cover; }
.billboard.common .logo { display: flex; justify-content: space-between; flex-direction: column; align-items: center; width: 260px; height: 140px; position: absolute; top: 20%; left: calc(50% - 130px); }
.billboard.common .logo .sub.replace { width: 100px; height: 13px; }
.billboard.common .replace { width: 260px; height: 104px; }
.billboard.common .replace::after { background-image: url(/images/logo/logo_v.svg); }

main .section:first-of-type { margin: 50px auto 0; }

.section > h2 { font-size: 2.8rem; margin-bottom: 30px; }

h2.deco { margin-bottom: 45px; }
h2.deco::before,
h2.deco::after { height: 50px; }

.section { padding: 0 20px; }

.section.common p { font-size: 1.8rem; line-height: 2.1; margin-bottom: 36px; }
.section.common p br { display: none; }
.section.common p strong { display: block; font-size: 2.8rem; line-height: 1.4; text-align: center; }
.section.common p strong br { display: inline; }

.section.services { padding: 0; }
.section.services > .styled { padding: 0 20px; }

.section.contact { margin-bottom: 60px; }
.section.contact h2.deco { line-height: 1.4; margin-bottom: 30px; position: relative; }
.section.contact h2.deco::before,
.section.contact h2.deco::after { height: 80px; top: 0; position: absolute; }
.section.contact h2.deco::after { transform: translate(60px, 0) rotate(30deg); }

.section.contact p { font-size: 1.6rem; line-height: 1.6; margin-bottom: 22px; }
.section.contact p b { font-size: 2.6rem; }
.section.contact .phone { width: 335px; height: 60px; margin: 0 auto 20px; }
.section.contact .phone span { font-size: 3.9rem; background-position: left 4px; background-size: 11px auto; padding-left: 25px; }

}
@media (min-width: 737px) {

.billboard { height: 668px; top: 100px; }

.billboard.common .inner { background-image: url(/images/billboard/billboard_common.jpg); background-size: contain; }
.billboard.common .logo { display: flex; justify-content: space-between; flex-direction: column; align-items: center; width: 600px; height: 90px; position: absolute; top: 200px; left: calc(50% - 300px); }
.billboard.common .logo .sub.replace { width: 200px; height: 26px; }
.billboard.common .logo .heading.replace { width: 600px; height: 75px; }
.billboard.common .logo .heading.replace::after { background-image: url(/images/logo/logo_h.svg); }

.section { margin: 100px auto; }

.map iframe { width: 1286px; height: 700px; margin: 0 auto; }

.bordered { width: 932px; border-width: 0 8px 0 8px; border-style: solid; border-image: linear-gradient(to bottom, #37bef0 0%, #005ead 100%) 1; margin: 0 auto; box-sizing: border-box; }

.section > h2 { font-size: 3.4rem; margin-bottom: 56px; }
.section > h2 br { display: none; }

h2.deco { margin-bottom: 66px; }
h2.deco::before,
h2.deco::after { height: 60px; }

a.button { width: 260px; height: 56px; }

.section.common p { font-size: 2rem; line-height: 2.3; }
.section.common p strong { font-size: 3.4rem; line-height: 1.7; }

.section.contact h2.deco { margin-bottom: 27px; }
.section.contact h2.deco br { display: none; }
.section.contact p { font-size: 1.8rem; line-height: 1; margin-bottom: 21px; }
.section.contact p b { font-size: 3rem; }
.section.contact .phone { width: 606px; height: 100px; margin: 0 auto 25px; }
.section.contact .phone span { font-size: 6.1rem; background-position: left 7px; padding-left: 40px; }

}



/* styled
   ========================================================================== */

.styled { font-feature-settings: 'palt' 1; }

.styled h1 { font-weight: 300; text-align: center; }

.styled h4 { color: #005ead; font-size: 1.8rem; font-weight: 700; line-height: 1.8; margin-top: 58px; }
.styled h5 { font-size: 1.8rem; font-weight: 700; line-height: 1.8; }
.styled p { font-size: 1.6rem; font-weight: 300; line-height: 2; margin-top: 28px; }
.styled p.note { font-size: 1.2rem; font-weight: 400; line-height: 1.7; }
.styled p.signature { font-size: 2rem; font-weight: 400; line-height: 2.3; }

.styled ul { margin-top: 28px; }
.styled ul li { font-size: 1.6rem; font-weight: 300; line-height: 2; padding-left: 20px; }
.styled ul li::before { content: '●'; display: inline-block; width: 20px; color: #005ead; font-size: 1.6rem; font-weight: 300; line-height: 2; margin-left: -20px; }

.styled table th,
.styled table td { border: none; padding: 15px 0; }
.styled table th { width: 170px; font-size: 1.8rem; font-weight: 700; line-height: 46px; }
.styled table td { font-size: 2rem; font-weight: 400; line-height: 2.3; }

@media (min-width: 320px) and (max-width: 736px) {

.styled h1 { font-size: 2.8rem; line-height: 1.4; margin-bottom: 56px; }
.styled p.signature { font-size: 1.8rem; line-height: 2.1; }

}
@media (min-width: 737px) {

.styled h1 { font-size: 3.4rem; line-height: 1.7; margin-bottom: 100px; }
.styled p.signature { font-size: 2rem; line-height: 2.3; }

}



/* expandable content
   ========================================================================== */

ul.expandable li .block { max-height: 3000px; margin: 0 auto; position: relative; overflow: hidden; opacity: 1; z-index: 2; }

ul.expandable { perspective: 1000px; }
ul.expandable li { position: relative; }

ul.expandable li i { position: absolute; right: 35px; top: 30px; }
ul.expandable li i::before,
ul.expandable li i::after { content: ''; width: 3px; height: 18px; background-color: #005ead; position: absolute; }
ul.expandable li i::before { transform: translate(-6px, 0) rotate(50deg); }
ul.expandable li i::after { transform: translate(6px, 0) rotate(-50deg); }
ul.expandable li input[type=checkbox]:checked ~ i::before { transform: translate(6px, 0) rotate(50deg); }
ul.expandable li input[type=checkbox]:checked ~ i::after { transform: translate(-6px, 0) rotate(-50deg); }

ul.expandable li input[type=checkbox] { position: absolute; cursor: pointer; width: 100%; height: 100%; z-index: 1; opacity: 0; }
ul.expandable li input[type=checkbox]:checked ~ div { margin-top: 0; max-height: 0; opacity: 0; transform: translate(0, 50%); }

ul.expandable li .block,
ul.expandable li i::before,
ul.expandable li i::after { transition: all .25s ease-in-out; }

ul.expandable li h3 { color: #005ead; font-weight: 400; text-align: center; border-bottom: 1px solid #37bef0; }

ul.expandable li .block > *:first-child { margin-top: 200px; }

ul.expandable li .block .items { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 28px; }
ul.expandable li .block .item { display: flex; justify-content: center; align-items: center; height: 60px; color: #005ead; font-size: 2rem; font-weight: 400; line-height: 1; border: 1px solid #37bef0; border-radius: 4px; margin-bottom: 20px; box-sizing: border-box; }

@media (min-width: 320px) and (max-width: 736px) {

ul.expandable li h3 { font-size: 1.9rem; line-height: 1.4; padding: 16px 0; }
ul.expandable li .block { padding: 0 20px; }
ul.expandable li .block > *:last-child { margin-bottom: 68px; }
ul.expandable li .block .item { width: 160px; }

}
@media (min-width: 737px) {

ul.expandable li h3 { font-size: 2.4rem; line-height: 1; padding: 25px 0; }
ul.expandable li h3 br { display: none; }
ul.expandable li .block { width: 700px; }
ul.expandable li .block > *:last-child { margin-bottom: 100px; }
ul.expandable li:last-child .block > *:last-child { margin-bottom: 0; }
ul.expandable li .block .item { width: 168px; }

}



/* home
   ========================================================================== */

body.home .billboard.common { background-repeat: no-repeat; background-position: center center; }
body.home .billboard.common .logo { opacity: 0; animation: fadein 1s ease 1s forwards; }
body.home .billboard.common .inner { opacity: 1; opacity: 1; animation: fadeout 1.5s ease 2.5s forwards; }
@keyframes fadein { 100% { opacity: 1; } }
@keyframes fadeout { 100% { opacity: 0; } }

body.home .section.services .buttons { flex-wrap: wrap; }
body.home .section.services a.button span { display: block; width: 100%; height: 100%; text-align: center; background-repeat: no-repeat; background-position: center calc(100% - 27px); padding-top: 20px; box-sizing: border-box; }
body.home .section.services .service-01 span { background-image: url(/images/home/icon_services-01.svg); }
body.home .section.services .service-02 span { background-image: url(/images/home/icon_services-02.svg); }
body.home .section.services .service-03 span { background-image: url(/images/home/icon_services-03.svg); }
body.home .section.services .service-04 span { background-image: url(/images/home/icon_services-04.svg); }
body.home .section.services .service-05 span { background-image: url(/images/home/icon_services-05.svg); }

body.home .section.contact > picture img { display: block; }
body.home .section.contact > .block { display: flex; justify-content: space-between; align-items: center; }

@media (min-width: 320px) and (max-width: 736px) {

body.home .billboard.common { background-image: url(/images/billboard/mobile/billboard_home.jpg); background-size: cover; }

body.home .section { margin-bottom: 100px; }

body.home .section.services p.note { margin-bottom: 36px; }
body.home .section.services a.button { width: 371px; height: 140px; margin: 0 auto 2px; }

body.home .section.contact > picture img { display: block; width: 100%; height: auto; margin: 36px auto 10px; }
body.home .section.contact > .block { display: flex; justify-content: space-between; align-items: center; margin: 0 auto 30px; }
body.home .section.contact > .block picture { width: calc(50% - 5px); }
body.home .section.contact > .block picture img {  width: 100%; height: auto; }
body.home .section.contact > .block picture:nth-of-type(2),
body.home .section.contact > .block picture:nth-of-type(3) { display: none; }
body.home .section.contact > .block picture:nth-of-type(1) { order: 2; }
body.home .section.contact > .block picture:nth-of-type(4) { order: 1; }

}
@media (min-width: 737px) {

body.home .billboard.common { background-image: url(/images/billboard/billboard_home.jpg); background-size: contain; }

body.home .section.common p { text-align: center; margin-bottom: 54px; }

body.home .section.services { width: 978px; margin: 200px auto; }
body.home .section.services p { width: 932px; margin: 0 auto 28px; }
body.home .section.services p.note { margin-bottom: 66px; }
body.home .section.services a.button { width: 280px; height: 140px; margin: 0 23px 30px; }

body.home .section.contact { margin-top: 170px; }
body.home .section.contact > picture img { width: 606px; height: 350px; margin: 46px auto 15px; }
body.home .section.contact > .block { width: 1226px; margin: 0 auto 60px; }
body.home .section.contact > .block picture img { width: 296px; height: 175px; }

}



/* advantage
   ========================================================================== */

body.advantage .section.system p b { color: #005ead; }

body.advantage .section.system .items { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 28px; }
body.advantage .section.system .item { display: flex; align-items: center; height: 170px; color: #005ead; font-size: 1.8rem; font-weight: 400; line-height: 1.9; border: 1px solid #37bef0; border-radius: 4px; padding: 0 15px; margin-bottom: 30px; box-sizing: border-box; }

body.advantage .section.system .block { display: flex; align-items: center; font-size: 1.8rem; font-weight: 700; line-height: 1.8; margin-top: 28px; }
body.advantage .section.system .block span:last-child { display: flex; align-items: center; }
body.advantage .section.system .block span:last-child::before { content: ''; display: block; border: 1px solid #707070; border-left: none; margin: 0 10px; }

body.advantage .section.merit ul.expandable li p { margin: 50px 0 58px; }
body.advantage .section.merit ul.expandable li:last-child p { margin-bottom: 0; }

@media (min-width: 320px) and (max-width: 736px) {

body.advantage .section.system { margin: 166px 0 142px; }
body.advantage .section.system > h2 { line-height: 1.4; }
body.advantage .section.system h4 { line-height: 1.4; }
body.advantage .section.system .item { width: 100%; }
body.advantage .section.system .block span:last-child::before { width: 25px; height: 140px; }
body.advantage .section.system .block span:last-child { width: 160px; }

body.advantage .section.merit { padding: 0; margin-bottom: 100px; }
body.advantage .section.merit > h2 { margin-bottom: 65px; }

}
@media (min-width: 737px) {

body.advantage .section.common { width: 932px; margin-bottom: 200px; }
body.advantage .section.common p:nth-of-type(odd) { text-align: center; margin: 98px 0 29px; }

body.advantage .section.system h4 br { display: none; }
body.advantage .section.system .item { width: 360px; }
body.advantage .section.system .bordered { padding: 0 81px; }
body.advantage .section.system .block span:last-child::before { width: 25px; height: 90px; }

}



/* services
   ========================================================================== */

body.services ul.expandable li .block { background-repeat: no-repeat; background-position: center 50px; }
body.services #service-01 .block { background-image: url(/images/services/icon_service-01.svg); }
body.services #service-02 .block { background-image: url(/images/services/icon_service-02.svg); }
body.services #service-03 .block { background-image: url(/images/services/icon_service-03.svg); }
body.services #service-04 .block { background-image: url(/images/services/icon_service-04.svg); }
body.services #service-05 .block { background-image: url(/images/services/icon_service-05.svg); background-position: center 70px; }

@media (min-width: 320px) and (max-width: 736px) {

body.services .billboard.replace::after { background-image: url(/images/billboard/mobile/billboard_services.jpg); background-size: cover; }

}
@media (min-width: 737px) {

body.services .billboard.replace::after { background-image: url(/images/billboard/billboard_services.jpg); }

}



/* company
   ========================================================================== */

body.company .section.greeting img { width: 260px; }
body.company .section.company .history h5 { margin-bottom: 20px; }
body.company .section.company a { text-decoration: underline; }
body.company .section.company a:hover { text-decoration: none; }

@media (min-width: 320px) and (max-width: 736px) {

body.company .section.greeting { margin-bottom: 84px; }
body.company .section.greeting img { display: block; margin: 58px auto 55px; }

body.company .section.company { padding: 0; margin-bottom: 50px; }
body.company .section.company > div { border-top: 1px solid #a8a8a8; padding: 50px 0; }
body.company .section.company > div:last-child { border-bottom: 1px solid #a8a8a8; }
body.company .section.company > div > * { width: calc(100% - 40px); margin: 0 auto; }
body.company .section.company table th,
body.company .section.company table td { display: block; padding: 5px 0; line-height: 2.1; }

body.company .section.company .history table th { color: #005ead; font-size: 2rem; font-weight: 400; }
body.company .section.company .profile img,
body.company .section.company .logo img { display: block; height: auto; }
body.company .section.company .profile img { margin-top: 50px; }
body.company .section.company .logo img { margin: 58px auto 50px; }

}
@media (min-width: 737px) {

body.company .section.greeting { width: 932px; }
body.company .section.greeting > .wrapper > .styled:first-of-type { float: left; }
body.company .section.greeting img { float: right; }
body.company .section.greeting .styled { width: 630px; }

body.company .section.company > div { border-top: 1px solid #a8a8a8; }
body.company .section.company > div > * { display: block; width: 932px; margin: 0 auto; }

body.company .section.company .history { padding: 30px 0 40px; }
body.company .section.company .history table th,
body.company .section.company .history table td { padding: 10px 0; line-height: 1.4; }
body.company .section.company .history table th { color: #005ead; font-size: 2rem; font-weight: 400; }
body.company .section.company .profile { padding: 30px 0 80px; }
body.company .section.company .profile table { margin-bottom: 60px; }
body.company .section.company .logo { border-bottom: 1px solid #a8a8a8; padding: 50px 0 88px; }
body.company .section.company .logo img { width: 500px; height: 200px; margin: 88px auto 50px; }

body.company .section.contact { margin: 100px 0; }

}



/* fee
   ========================================================================== */

body.fee .section.common ul { border-top: 1px solid #a8a8a8; border-bottom: 1px solid #a8a8a8; }

body.fee .section.common p,
body.fee .section.common table td { font-size: 1.6rem; font-weight: 300; line-height: 2; padding: 0; }
body.fee .section.common table th { color: #005ead; font-size: 1.8rem; font-weight: 700; line-height: 1.8; padding: 0 0 5px; }

body.fee .section.common:first-of-type { border-bottom: 1px solid #37bef0; }

body.fee .section.common:first-of-type h1,
body.fee .section.common:nth-of-type(2) h5:nth-of-type(2),
body.fee .section.common:nth-of-type(2) table tr td:nth-child(2) { border-bottom: 1px solid #a8a8a8; }
body.fee .section.common:nth-of-type(2) table tr td:nth-child(2) { text-align: right; }
body.fee .section.common:nth-of-type(2) table td span::before { content: '●'; display: inline-block; width: 20px; color: #005ead; font-size: 1.6rem; font-weight: 300; line-height: 2; padding-left: 20px; margin-left: -20px; }

@media (min-width: 320px) and (max-width: 736px) {
body.fee .section.common { padding: 0; }
body.fee .section.common h1,
body.fee .section.common h4,
body.fee .section.common h5,
body.fee .section.common p { padding-left: 20px; padding-right: 20px; }
body.fee .section.common ul li { padding-left: 40px; padding-right: 20px; }
body.fee .section.common table tr th:first-child,
body.fee .section.common table tr td:first-child { padding-left: 20px; }
body.fee .section.common table tr th:nth-child(2),
body.fee .section.common table tr td:nth-child(2) { padding-right: 20px; }

body.fee .section.common:first-of-type h1 { padding-bottom: 50px; margin-bottom: 20px; }
body.fee .section.common:first-of-type table td { padding: 3px; }
body.fee .section.common:first-of-type p { margin-top: 10px; }

body.fee .section.common:nth-of-type(2) { margin: 100px auto 50px; }
body.fee .section.common:nth-of-type(2) h1 { margin-bottom: 40px; }
body.fee .section.common:nth-of-type(2) h4 { margin-top: 40px; }
body.fee .section.common:nth-of-type(2) ul { padding: 10px 0; }
body.fee .section.common:nth-of-type(2) h5:nth-of-type(2) { padding-bottom: 15px; }
body.fee .section.common:nth-of-type(2) table td { display: block; padding: 3px 0; }
body.fee .section.common:nth-of-type(2) table tr td:nth-child(2) { border-bottom: 1px solid #a8a8a8; }
}
@media (min-width: 737px) {
body.fee .section.common { width: 932px; }

body.fee .section.common:first-of-type { padding-bottom: 80px; }

body.fee .section.common:first-of-type h1 { padding-bottom: 100px; margin-bottom: 70px; }
body.fee .section.common:first-of-type table td { padding: 3px; }
body.fee .section.common:first-of-type p { margin-top: 20px; }

body.fee .section.common:nth-of-type(2) { margin-top: 90px; }
body.fee .section.common:nth-of-type(2) h4 { margin-top: 100px; }
body.fee .section.common:nth-of-type(2) ul { padding: 20px 0; margin-top: 35px; }
body.fee .section.common:nth-of-type(2) ul li { padding: 3px 0 3px 20px; }
body.fee .section.common:nth-of-type(2) h5:nth-of-type(2) { padding-bottom: 30px; }
body.fee .section.common:nth-of-type(2) table td { border-bottom: 1px solid #a8a8a8; padding: 25px 0; }
}



/* policy / privacy
   ========================================================================== */

@media (min-width: 737px) {

body.policy .section.common,
body.privacy .section.common { width: 932px; }

body.policy .section.common h1 br { display: none; }

body.policy .styled h4,
body.privacy .styled h4 { color: #000; }

}



/* ==========================================================================
   handies ( for override)
   ========================================================================== */

.left { float: left; }
.right { float: right; }
.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
.sub { font-size: smaller; font-weight: lighter; }

.disabled { cursor: default; pointer-events: none; opacity: .25; }
.hidden { display: none; }

.no-wrap { white-space: nowrap; }
.no-margin { margin: 0 !important; }
.no-margin-top { margin-top: 0 !important; }
.no-margin-bottom { margin-bottom: 0 !important; }

.smaller { font-size: smaller; }
.larger { font-size: larger; }
.lighter { font-weight: lighter; }
.bolder { font-weight: bolder; }



