@charset "UTF-8";
/* Welcome to Compass. In this file you should write your main styles. (or centralize your imports) Import this file using the following HTML or equivalent: <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font: inherit; font-size: 100%; vertical-align: baseline; }

html { line-height: 1; }

ol, ul { list-style: none; }

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

caption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }

q, blockquote { quotes: none; }
q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

a img { border: none; }

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

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	Styles

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
html { font-size: 62.5%; }

body, th, td, textarea { font-family: 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'メイリオ', meiryo, sans-serif; line-height: 1.1; text-align: center; color: #000; }

.ttl { margin-bottom: 55px; text-align: center; background-color: #0070c0; padding: 20px 0; color: #fff; font-size: 2.4rem; font-weight: bold; }

.txt { margin-bottom: 1em; line-height: 1.8; font-size: 1.6rem; }

.section_inner { margin: 0 auto; text-align: left; }

@media (max-width: 767px) { img { max-width: 100%; height: auto; }
  .ttl { margin-bottom: 30px; }
  .txt { line-height: 1.8; font-size: 1.4rem; } }
/* kv
-------------------------------------------------------------------------------- */
#kv { margin-bottom: 50px; height: 360px; background-image: url(../images/kv_bg.jpg); background-repeat: no-repeat; background-size: cover; }

#kv h1 { padding: 100px 0 50px 0; text-align: center; color: #0070c0; line-height: 1.5; font-size: 4.0rem; font-weight: 600; }

#kv h1 span { font-size: 4.2rem; font-family: serif; }

#kv h2 { line-height: 1.8; text-align: center; font-size: 2.4rem; }

@media (max-width: 767px) { #kv { height: 280px; }
  #kv h1 { padding: 50px 0 30px 0; font-size: 2.2rem; }
  #kv h1 span { font-size: 2.4rem; }
  #kv h2 { padding: 0 3%; font-size: 1.4rem; } }
/* header
-------------------------------------------------------------------------------- */
#header { padding: 25px 0; }

.header_inner { display: flex; margin: 0 auto; width: 960px; }

#logo { margin-right: auto; }

#header_info { display: flex; justify-content: flex-end; align-items: center; }

#header_info li { margin-left: 20px; }

#header a:hover { opacity: 0.7; }

@media (max-width: 767px) { .header_inner { display: block; width: 100%; }
  #header_info li { margin: 0; width: 50%; }
  #header_info li img { width: 90%; height: auto; } }
/* anchor_nav
-------------------------------------------------------------------------------- */
#anchor_nav { margin-bottom: 60px; text-align: center; }

#anchor_nav ul { display: inline-block; border-left: 1px solid #b4cedb; }

#anchor_nav li { display: inline-block; border-right: 1px solid #b4cedb; }

#anchor_nav li a { display: block; position: relative; padding: 24px 0 40px 0; width: 240px; color: #000; text-decoration: none; font-weight: 600; font-size: 1.6rem; }

#anchor_nav li a:hover { text-decoration: underline; }

#anchor_nav li a span { position: absolute; left: calc(120px - 0.6rem); bottom: 15px; color: #0070c0; font-size: 1.2rem; }

@media (max-width: 767px) { #anchor_nav { margin-bottom: 30px; }
  #anchor_nav ul { display: flex; justify-content: center; border: none; }
  #anchor_nav li { display: block; width: 30%; text-align: center; }
  #anchor_nav li:first-of-type { border-left: 1px solid #b4cedb; }
  #anchor_nav li a { width: 100%; font-size: 1.2rem; }
  #anchor_nav li a span { left: calc(50% - 0.6rem); } }
/* feature
-------------------------------------------------------------------------------- */
#feature .section_inner { width: 684px; }

.lead, .feature-sttl { text-align: center; }

.lead span, .feature-sttl h3 { display: inline-block; margin: 0 auto 2.0rem auto; border-bottom: 4px solid #b4cedb; padding-bottom: 0.8rem; text-align: center; font-weight: 600; font-size: 2.0rem; }

@media (max-width: 767px) { #feature .section_inner { width: 94%; } }
/* service
-------------------------------------------------------------------------------- */
#service .section_inner { width: 834px; }

.service_box { margin: 0 auto 20px auto; border: 1px solid #b4cedb; background-repeat: no-repeat; background-position: 55px center; background-size: 100px auto; padding: 15px 0; line-height: 1.5; font-size: 1.4rem; }

.service_box:last-of-type { margin-bottom: 55px; }

.service_box h3 { margin: 0 15px 1.0rem 200px; color: #0070c0; font-weight: 600; font-size: 2.0rem; }

.service_box p, .service_box ul { margin: 0 15px 1.0rem 200px; }

.service_box ul { margin: 0 15px 1.0rem 220px; list-style: disc; }

#service_box01 { background-image: url(../images/service_box01.png); }

#service_box02 { background-image: url(../images/service_box02.png); }

#service_box03 { background-image: url(../images/service_box03.png); }

#service_box04 { background-image: url(../images/service_box04.png); }

#service_box05 { background-image: url(../images/service_box05.png); }

#service_box06 { background-image: url(../images/service_box06.png); }

#service_box07 { background-image: url(../images/service_box07.png); }

@media (max-width: 767px) { #service .section_inner { width: 94%; }
  .service_box { background-position: center 15px; background-size: 50px auto; padding: 70px 0 15px 0; }
  .service_box h3 { margin: 0 15px 1.0rem 15px; }
  .service_box p { margin: 0 15px 1.0rem 15px; }
  .service_box ul { margin: 0 15px 1.0rem 30px; list-style: disc; } }
/* price
-------------------------------------------------------------------------------- */
#price .section_inner { margin: 0 auto 55px auto; width: 960px; }

#price_tbl { width: 950px; font-size: 1.4rem; }

#price_tbl thead th { background-color: #b4cedb; padding: 1.4rem; }

#price_tbl thead th:nth-of-type(1) { width: 50%; }

#price_tbl thead th:nth-of-type(2) { width: 25%; }

#price_tbl thead th:nth-of-type(3) { width: 25%; }

#price_tbl tbody th, #price_tbl tbody td { border: 1px solid #b4cedb; padding: 1.4rem; text-align: left; }

#price_tbl tbody tr td:nth-of-type(1) { text-align: right; }

.scroll_block { max-width: 100%; overflow-x: scroll; }

.scroll_block::-webkit-scrollbar { display: none; }

@media (max-width: 767px) { #price .section_inner { width: 94%; }
  .scroll_block::-webkit-scrollbar { display: block; } }
/* form
-------------------------------------------------------------------------------- */
#form { background-color: #ffd200; padding: 50px 0; }

#form .ttl_line { position: relative; margin-bottom: 30px; font-size: 2.4rem; font-weight: 600; }

#form .ttl_line:after { display: block; background-color: #000; margin: 10px auto 0 auto; width: 100px; height: 4px; content: ''; }

#form .section_inner { margin: 0 auto; width: 720px; }

#input_wrapper { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 20px; padding: 20px 30px; background-color: #eeeeee; }

#input_wrapper > dt { position: relative; width: 190px; font-size: 1.4rem; font-weight: 600; }

#input_wrapper > dd { width: 460px; }

#input_wrapper > dt span { display: block; position: absolute; top: -10px; right: 20px; margin-top: 5px; background: #f00; width: 4em; padding: 0.2em 0; color: #fff; text-align: center; font-size: 1.1rem; }

#input_wrapper select { display: block; margin: 0 -10px 10px -10px; border: none; width: 100%; height: 46px; background-color: #fff; padding: 0 10px; line-height: 1.5; text-align: left; font-size: 1.8rem; color: #888; }

#input_wrapper input[type="text"], #input_wrapper textarea { display: block; margin: 0 -10px 10px -10px; border: none; width: 100%; background-color: #fff; padding: 0.5em 10px; line-height: 1.5; text-align: left; font-size: 1.8rem; }

#entry_form_submit { display: block; position: relative; z-index: 2; border: none; margin: 10px auto; width: 260px; overflow: hidden; background-color: #000; padding: 0.5em 20px; color: #fff; cursor: pointer; font-size: 1.8rem; font-weight: bold; transition: all 0.3s; }

#entry_form_submit::after { position: absolute; top: -100%; left: 0; z-index: -1; width: 100%; height: 100%; color: #fff; content: ''; transition: all 0.3s; }

#entry_form_submit:hover { color: #000; }

#entry_form_submit:hover::after { top: 0; left: 0; background-color: #ff9c00; }

@media (max-width: 767px) { #form .section_inner { width: 100%; }
  #input_wrapper { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 20px; padding: 20px 30px; background-color: #eeeeee; }
  #input_wrapper > dt { margin: 0 -10px 10px -10px; width: 100%; font-size: 1.2rem; }
  #input_wrapper > dd { width: 100%; }
  #input_wrapper > dt span { top: -5px; right: -20px; } }
/* goto_form
-------------------------------------------------------------------------------- */
#goto_form { position: fixed; top: 200px; right: 0; z-index: 99; }

#goto_form a { position: relative; display: block; z-index: 98; border-bottom: 3px solid #ff9c00; width: 160px; overflow: hidden; background-color: #ffd200; padding: 1em 0; color: #000; text-align: center; text-decoration: none; font-size: 1.6rem; font-weight: bold; transition: all 0.3s; }

#goto_form a::after { position: absolute; content: ''; z-index: -1; transition: all 0.3s; top: 0; right: -100%; width: 100%; height: 100%; }

#goto_form a:hover::after { top: 0; right: 0; background-color: #ff9c00; }

@media (max-width: 767px) { #goto_form { position: fixed; top: auto; bottom: 70px; right: 0; z-index: 99; }
  #goto_form a { position: relative; display: block; z-index: 98; border-bottom: 3px solid #ff9c00; width: 160px; overflow: hidden; background-color: #ffd200; padding: 1em 0; color: #000; text-align: center; text-decoration: none; font-size: 1.6rem; font-weight: bold; transition: all 0.3s; }
  #form .section_inner { width: 100%; } }
/* footer
-------------------------------------------------------------------------------- */
#copyright { padding: 50px 0; text-align: center; font-size: 1.1rem; font-family: 'Helvetica Neue', 'Arial', sans-serif; }

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	Other Styles

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.fs11px { font-size: 1.1rem; }

.fs12px { font-size: 1.2rem; }

.fs14px { font-size: 1.4rem; }

.fs16px { font-size: 1.6rem; }

.fs18px { font-size: 1.8rem; }

.fs20px { font-size: 2.0rem; }

.fs22px { font-size: 2.2rem; }

.fs24px { font-size: 2.4rem; }

.fw_bold { font-weight: bold; }

.fw_normal { font-weight: normal; }

.text_underline { text-decoration: underline; }

.text_none { text-decoration: underline; }

.nowrap { white-space: nowrap; }

.clearfix { display: inline-block; }

.clearfix:after { clear: both; display: block; content: "."; visibility: hidden; height: 0; }

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }

.clearfix { display: block; }

/* End hide from IE-mac */
.clear_both { clear: both; }

.align_left { text-align: left; }

.align_center { text-align: center; }

.align_right { text-align: right; }

.valign_top { vertical-align: top; }

.valign_middle { vertical-align: middle; }

.valign_bottom { vertical-align: bottom; }

.fl_left { float: left; }

.fl_right { float: right; }

.img_left { float: left; margin: 0 15px 15px 0; }

.img_right { float: right; margin: 0 0 12px 12px; }

html .img_left { float: left; *margin: 0 7px 7px 0; }

html .img_right { float: right; *margin: 0 0 6px 6px; }

ul.ul_disc { list-style: disc; margin-left: 1.9em; }

.w100px { width: 100px; }

.w150px { width: 150px; }

.w200px { width: 200px; }

.w250px { width: 250px; }

.w300px { width: 300px; }

.w350px { width: 350px; }

.w400px { width: 400px; }

.w450px { width: 450px; }

.h100px { height: 100px; }

.h150px { height: 150px; }

.h200px { height: 200px; }

.mgt10px { margin-top: 10px; }

.mgt20px { margin-top: 20px; }

.mgt30px { margin-top: 30px; }

.mgt40px { margin-top: 40px; }

.mgt50px { margin-top: 50px; }

.mgr10px { margin-right: 10px; }

.mgr20px { margin-right: 20px; }

.mgr30px { margin-right: 30px; }

.mgr40px { margin-right: 40px; }

.mgr50px { margin-right: 50px; }

.mgb10px { margin-bottom: 10px; }

.mgb20px { margin-bottom: 20px; }

.mgb30px { margin-bottom: 30px; }

.mgb40px { margin-bottom: 40px; }

.mgb50px { margin-bottom: 50px; }

.mgl10px { margin-left: 10px; }

.mgl20px { margin-left: 20px; }

.mgl30px { margin-left: 30px; }

.mgl40px { margin-left: 40px; }

.mgl50px { margin-left: 50px; }

.pdt10px { padding-top: 10px; }

.pdt20px { padding-top: 20px; }

.pdt30px { padding-top: 30px; }

.pdt40px { padding-top: 40px; }

.pdt50px { padding-top: 50px; }

.pdr10px { padding-right: 10px; }

.pdr20px { padding-right: 20px; }

.pdr30px { padding-right: 30px; }

.pdr40px { padding-right: 40px; }

.pdr50px { padding-right: 50px; }

.pdb10px { padding-bottom: 10px; }

.pdb20px { padding-bottom: 20px; }

.pdb30px { padding-bottom: 30px; }

.pdb40px { padding-bottom: 40px; }

.pdb50px { padding-bottom: 50px; }

.pdl10px { padding-left: 10px; }

.pdl20px { padding-left: 20px; }

.pdl30px { padding-left: 30px; }

.pdl40px { padding-left: 40px; }

.pdl50px { padding-left: 50px; }

@media (min-width: 768px) { .hidden-pc { display: none; } }
