@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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; line-height: 1; font: inherit; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

nav ul { 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; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-appearance: button; appearance: button; border: none; 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 { font-size: 65%; }

body { font-size: 1.6rem; font-effect: 500px; /*background: url(/product/contents/building/parts/img/pc_bg_head_02.png) top left repeat-x !important;*/ }

*, *::before, *.sec-ttl::after, *::after { box-sizing: border-box; }

#BODY { font-family: YuGothic,'Yu Gothic','Hiragino Sans','ヒラギノ角ゴシック',sans-serif; margin: 0 auto 108px; max-width: 1200px; }

@media screen and (max-width: 640px) { main { width: 100%; } }

@media screen and (max-width: 640px) { main { margin: 0 auto 60px; } }

.main-wrapper { margin: 0 auto; width: 980px; }

@media screen and (max-width: 640px) { .main-wrapper { width: 100%; } }

.pc__ { display: block; }

@media screen and (max-width: 640px) { .pc__ { display: none; } }

@media screen and (max-width: 640px) { .pc__ { display: none; } }

.tb { display: none; }

@media screen and (max-width: 640px) { .tb { display: block; } }

@media screen and (max-width: 640px) { .tb { display: none; } }

.sp__ { display: none; }

@media screen and (max-width: 640px) { .sp__ { display: none; } }

@media screen and (max-width: 640px) { .sp__ { display: block; } }

.pc-tb__ { display: block; }

@media screen and (max-width: 640px) { .pc-tb__ { display: block; } }

@media screen and (max-width: 640px) { .pc-tb__ { display: none; } }

.tb-sp__ { display: none; }

@media screen and (max-width: 640px) { .tb-sp__ { display: block; } }

@media screen and (max-width: 640px) { .tb-sp__ { display: block; } }

a { text-decoration: none; }

img { max-width: 100%; }

.xxlarge { font-size: 4.8rem; }

@media screen and (max-width: 640px) { .xxlarge { font-size: 2.9rem; } }

.xlarge { font-size: 4.2rem; }

@media screen and (max-width: 640px) { .xlarge { font-size: 2.1rem; } }

.large { font-size: 3.8rem; }

@media screen and (max-width: 640px) { .large { font-size: 2.4rem; } }

.medium { font-size: 3.6rem; }

@media screen and (max-width: 640px) { .medium { font-size: 2.3rem; } }

.small { font-size: 1.6rem; }

@media screen and (max-width: 640px) { .small { font-size: 1.4rem; } }

.xsmall { font-size: 1.4rem; }

.bold { font-weight: bold; }

.kerning { font-feature-settings: "palt" 1; }

.navmenu { height: 100px; }

.navmenu::before, .navmenu.sec-ttl::after { clear: both; }

.navmenu ul { float: left; margin: auto; display: flex; }

.rogo { float: left; width: 180px; }

.main-ttl { max-width: 980px; margin: 0 auto; }

@media screen and (max-width: 640px) { .main-ttl { min-width: auto; margin-top: 10px; } }

.video-wrap { max-width: 640px; margin: 0 auto 55px; }

.video-wrap video { width: 100%; }

@media screen and (max-width: 640px) { .video-wrap { margin-bottom: 40px; } }

.hero { padding: 30px 0 50px 0; }

.sec-ttl { display: flex; align-items: center; margin-bottom: 40px; font-size: 2.8rem; }

@media screen and (max-width: 640px) { .sec-ttl { font-size: 3.8rem; } }

@media screen and (max-width: 640px) { .sec-ttl { margin-bottom: 25px; font-size: 2.1rem; } }

.sec-ttl::before, .sec-ttl::after { content: ""; flex-grow: 1; height: 1.12px; margin: 0 .4em 0 0; background-color: #bfbfbf; }

.sec-ttl::after { margin: 0 0 0 .4em; }

.sec-01 { margin: 0 0 28px; }

@media screen and (max-width: 640px) { .sec-01 { margin: 0 0 58px; } }

.sec-01 .sec-ttl { margin-top: 55px; margin-bottom: 40px; }

@media screen and (max-width: 640px) { .sec-01 .sec-ttl { margin-top: 37px; margin-bottom: 25px; } }

.sec-01 .img-map { text-align: center; padding: 0 20px; margin: 30px 0 0; }

.sec-02 { margin-top: 100px; }

@media screen and (max-width: 640px) { .sec-02 { margin-top: 75px; } }

.sec-02_wrapper { display: flex; flex-wrap: wrap; margin: 0 0 100px 0; width: 100%; }

@media screen and (max-width: 640px) { .sec-02_wrapper { padding: 0 20px; } }

@media screen and (max-width: 640px) { .sec-02_wrapper { margin: 0 0 40px 0; padding: 0 20px; } }

.sec-02_wrapper .sec-02-content { width: 32.64%; }

.sec-02_wrapper .sec-02-content:nth-of-type(3n+2) { margin: 0 10px; }

@media screen and (max-width: 640px) { .sec-02_wrapper .sec-02-content:nth-of-type(3n+2) { margin: 0; } }

@media screen and (max-width: 640px) { .sec-02_wrapper .sec-02-content { width: 49.2%; }
  .sec-02_wrapper .sec-02-content:nth-of-type(2n+1) { margin: 0 10px 0 0; } }

@media screen and (max-width: 640px) and (max-width: 640px) { .sec-02_wrapper .sec-02-content:nth-of-type(2n+1) { margin: 0; } }

@media screen and (max-width: 640px) { .sec-02_wrapper .sec-02-content { width: 100%; } }

.sec-02_wrapper .sec-02-content p { display: inline-block; margin: 12px 0 44px; font-size: 1.6rem; }

@media screen and (max-width: 640px) { .sec-02_wrapper .sec-02-content p { font-size: 1.6rem; } }

@media screen and (max-width: 640px) { .sec-02_wrapper .sec-02-content p { margin: 12.5px 0 30px; font-size: 1.4rem; letter-spacing: 0.05em; } }

.sec-03-content { margin-top: 80px; }

@media screen and (max-width: 640px) { .sec-03-content { padding: 0 20px; } }

@media screen and (max-width: 640px) { .sec-03-content { margin-top: 32px; padding: 0 10px; } }

.sec-03-content.first { margin-top: 60px; }

@media screen and (max-width: 640px) { .sec-03-content.first { margin-top: 27.5px; } }

.sec-03-content .text-content { margin-bottom: 36px; line-height: 1.47; }

.sub-ttl-wrap { display: flex; align-items: baseline; margin: 0 0 40px; padding: 0 0 15px; border-bottom: solid 1px #000; }

@media screen and (max-width: 640px) { .sub-ttl-wrap { margin: 0 0 27.5px; } }

.sub-ttl-wrap .sub-ttl { display: flex; align-items: baseline; color: #89137d; font-size: 3.2rem; }

@media screen and (max-width: 640px) { .sub-ttl-wrap .sub-ttl { margin-right: 15px; font-size: 2.1rem; } }

.sub-ttl-wrap .sub-ttl .number { position: relative; font-size: 6.8rem; top: 4px; }

@media screen and (max-width: 640px) { .sub-ttl-wrap .sub-ttl .number { top: 2px; font-size: 3.9rem; } }

.sub-ttl-wrap .reception { display: inline-block; margin: 0 0 7px 60px; letter-spacing: 0.1em; color: #1a5993; font-size: 2.2rem; }

@media screen and (max-width: 640px) { .sub-ttl-wrap .reception { flex-basis: 80%; margin: 0 0 7px 0; font-size: 1.4rem; } }

.text-content { display: inline-block; word-break: break-word; margin-bottom: 38px; letter-spacing: 0.1em; font-size: 3rem; }

@media screen and (max-width: 640px) { .text-content { margin-bottom: 25px; font-size: 1.5rem; } }

.detail-wrapper { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 100%; }

@media screen and (max-width: 640px) { .detail-wrapper { justify-content: space-between; } }

.detail-wrapper .detail-block { display: flex; justify-content: center; align-items: center; margin: 0 40px 18px 0; font-size: 1.8rem; }

@media screen and (max-width: 640px) { .detail-wrapper .detail-block { margin: 0 15px 15px 0; font-size: 1.4rem; } }

.detail-wrapper .detail-block.detail-block-first { margin: 0 50px 18px 0; white-space: nowrap; }

@media screen and (max-width: 640px) { .detail-wrapper .detail-block.detail-block-first { margin: 0 15px 15px 0; } }

.detail-wrapper .detail-block .detail-left { margin-right: 20px; padding: 10px; letter-spacing: 0.14em; background-color: #a0a0a0; font-weight: 500; color: #fff; }

@media screen and (max-width: 640px) { .detail-wrapper .detail-block .detail-left { display: flex; } }

.detail-wrapper .detail-block .detail-right { color: #000; white-space: pre-wrap; }

@media screen and (max-width: 640px) { .detail-wrapper .detail-block .detail-right > span { display: block; line-height: 1.5; } }

.detail-wrapper.second .detail-block-first.pc-on { display: flex; }

@media screen and (max-width: 640px) { .detail-wrapper.second .detail-block-first.pc-on { display: none; } }

.detail-wrapper.second .detail-block-first.sp-on { display: none; }

@media screen and (max-width: 640px) { .detail-wrapper.second .detail-block-first.sp-on { display: flex; align-items: baseline; }
  .detail-wrapper.second .detail-block-first.sp-on .detail-left { margin-top: -38px; } }

@media screen and (max-width: 640px) { .mr-r15 { margin-right: 15px; } }

@media screen and (max-width: 640px) { .mr-r80 { margin-right: 80px; } }

.name { text-align: center; margin: 40px 0 24px; padding: 12px 0; font-size: 1.8rem; color: #fff; background-color: #14a2b1; }

@media screen and (max-width: 640px) { .name { padding: 5px 0; font-size: 1.4rem; } }

.profile-content { display: flex; width: 100%; }

@media screen and (max-width: 640px) { .profile-content { display: block; } }

.profile-content .pro-img { flex-shrink: inherit; }

@media screen and (max-width: 640px) { .profile-content .pro-img { margin: 24px auto; width: 38.5%; } }

@media screen and (max-width: 640px) { .profile-content .pro-img { width: 30%; } }

.profile-content p { letter-spacing: 0.1em; line-height: 2.1; flex: 1; letter-spacing: 0.1em; line-height: 2.1; padding: 0 0 0 20px; margin: -0.525em 0 0; }

@media screen and (max-width: 640px) { .profile-content p { line-height: 1.7; padding: 0 10px; } }

.appli-content { margin: 124px 0 118px; text-align: center; }

@media screen and (max-width: 640px) { .appli-content { margin: 60px 0; } }

.appli-content p { display: inline-block; font-size: 3rem; letter-spacing: 0.14em; }

@media screen and (max-width: 640px) { .appli-content p { line-height: 1.54; } }

@media screen and (max-width: 640px) { .appli-content p { font-size: 2rem; } }

.appli-content p:nth-of-type(2n) { padding-top: 30px; display: flex; justify-content: center; align-items: center; }

@media screen and (max-width: 640px) { .appli-content p:nth-of-type(2n) { padding-top: 0; display: inline-block; } }

.appli-content p .blue { color: #1a5993; }

.appli-content p .fax { padding: 10px 20px; font-size: 2.6rem; color: #fff; background-color: #89137d; margin: 0 0.7em 0 0; vertical-align: text-top; }

@media screen and (max-width: 640px) { .appli-content p .fax { vertical-align: middle; } }

@media screen and (max-width: 640px) { .appli-content p .fax { margin: 0; padding: 5px 10px; font-size: 1.5rem; } }

@media screen and (max-width: 640px) { .appli-content p .tel { vertical-align: sub; } }

.appli-content-lead { margin-bottom: 30px; }

@media screen and (max-width: 640px) { .appli-content-lead { margin-bottom: 0; } }

.appli-content-lead p { display: flex; justify-content: center; align-items: baseline; }

@media screen and (max-width: 640px) { .appli-content-lead p { display: block; } }

.appli-content-lead .medium { font-weight: bold; }

.appli-button { display: inline-block; margin: 60px 0 0 0; padding: 55px 90px; letter-spacing: 0.1em; font-size: 3.2rem; color: #fff !important; background-color: #1379c3; }

@media screen and (max-width: 640px) { .appli-button { padding: 19px 8px 19px 40px; font-size: 1.6rem; } }

.sec-04 .img { text-align: center; margin: 0 auto 110px; }

@media screen and (max-width: 640px) { .sec-04 .img { width: 35%; } }

@media screen and (max-width: 640px) { .sec-04 .img { margin: 0 auto 72px; } }

.sec-05 .sec-05-wrap { display: flex; justify-content: center; align-items: center; margin: 0 auto 88px; }

@media screen and (max-width: 640px) { .sec-05 .sec-05-wrap { flex-wrap: wrap; justify-content: space-around; padding: 0 20px; }
  .sec-05 .sec-05-wrap .to { width: 28%; }
  .sec-05 .sec-05-wrap .yk { width: 26%; }
  .sec-05 .sec-05-wrap .ni { width: 47%; }
  .sec-05 .sec-05-wrap .bu { width: 42%; }
  .sec-05 .sec-05-wrap .te { width: 61%; } }

@media screen and (max-width: 640px) { .sec-05 .sec-05-wrap { margin: 0 auto 72px; } }

.sec-06 .img { margin: 0 auto; width: 33.6%; }

@media screen and (max-width: 640px) { .sec-06 .img { width: 60%; } }