@charset "UTF-8";
@import url(http://fonts.googleapis.com/css?family=Open+Sans);
/*-------------------------------------------------- font --------------------------------------------------*/
body { font-family: -apple-system, BlinkMacSystemFont, '.SFNSDisplay-Regular', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'Yu Gothic Medium', '游ゴシック Medium', 'Yu Gothic', '游ゴシック', sans-serif; }

body h1, body h2, body h3, body h4, body h5, body h6, body h7 { font-weight: 300; line-height: 1.4em; margin-top: 0; margin-bottom: 0; padding-top: 1em; padding-bottom: 1em; -webkit-box-sizing: border-box; box-sizing: border-box; display: block; }

body h1.black, body h2.black, body h3.black, body h4.black, body h5.black, body h6.black, body h7.black { color: #000; }

body h1.gray, body h2.gray, body h3.gray, body h4.gray, body h5.gray, body h6.gray, body h7.gray { color: #313131; }

body h1.orange, body h2.orange, body h3.orange, body h4.orange, body h5.orange, body h6.orange, body h7.orange { color: #ff8500; }

body h1.blue, body h2.blue, body h3.blue, body h4.blue, body h5.blue, body h6.blue, body h7.blue { color: #78909c; }

body h1.white, body h2.white, body h3.white, body h4.white, body h5.white, body h6.white, body h7.white { color: #fff; }

body h1.bold, body h1.strong, body h2.bold, body h2.strong, body h3.bold, body h3.strong, body h4.bold, body h4.strong, body h5.bold, body h5.strong, body h6.bold, body h6.strong, body h7.bold, body h7.strong { font-weight: 700; }

body h1.under-dot, body h2.under-dot, body h3.under-dot, body h4.under-dot, body h5.under-dot, body h6.under-dot, body h7.under-dot { background-image: url(../imgs/common/under_dot.png); background-position: left bottom; background-repeat: repeat-x; background-size: 10px 7px; padding-bottom: 10px; }

body h1.under-wavy, body h2.under-wavy, body h3.under-wavy, body h4.under-wavy, body h5.under-wavy, body h6.under-wavy, body h7.under-wavy { background-image: url(../imgs/common/under_wavy.png); background-position: left bottom; background-repeat: repeat-x; background-size: 17px 10px; padding-bottom: 10px; }

body h1.no-space, body h2.no-space, body h3.no-space, body h4.no-space, body h5.no-space, body h6.no-space, body h7.no-space { padding-top: 0; padding-bottom: 0; }

body h1.top-space, body h2.top-space, body h3.top-space, body h4.top-space, body h5.top-space, body h6.top-space, body h7.top-space { padding-top: 0; padding-bottom: 0; margin-top: 1em; margin-bottom: 0; }

body h1.bt-space, body h2.bt-space, body h3.bt-space, body h4.bt-space, body h5.bt-space, body h6.bt-space, body h7.bt-space { padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 1em; }

body h1.under-dot-title, body h2.under-dot-title, body h3.under-dot-title, body h4.under-dot-title, body h5.under-dot-title, body h6.under-dot-title, body h7.under-dot-title { font-weight: 700; text-align: center; background-image: url(../imgs/common/under_dot.png); background-position: left bottom; background-repeat: repeat-x; background-size: 10px 7px; padding-bottom: 10px; padding-top: 0px; margin-bottom: 30px; display: inline-block; }

body h1.under-wavy-title, body h2.under-wavy-title, body h3.under-wavy-title, body h4.under-wavy-title, body h5.under-wavy-title, body h6.under-wavy-title, body h7.under-wavy-title { font-weight: 700; text-align: center; background-image: url(../imgs/common/under_wavy.png); background-position: left bottom; background-repeat: repeat-x; background-size: 17px 10px; padding-bottom: 10px; padding-top: 0px; display: inline-block; }

body h1.max-size, body h2.max-size, body h3.max-size, body h4.max-size, body h5.max-size, body h6.max-size, body h7.max-size { font-size: 60px; }

body h1, body h2, body h3, body h4, body h5 { text-align: center; }

body h5 strong { font-size: 130%; }

body h5 strong.line { position: relative; }

body h5 strong.line:after { content: ""; position: absolute; bottom: -2px; left: 0; z-index: -1; width: 100%; height: 14px; background-color: #ffee58; }

body h5 strong.line.bracket { margin-left: -20px; display: inline-block; overflow: hidden; }

body h5 strong.line.bracket:after { margin-left: 20px; bottom: 5px; }

body h5 span { font-size: 85%; }

body h6 strong { font-size: 150%; line-height: 1.0; }

body h6 span { font-size: 80%; }

body h7 strong { font-size: 150%; line-height: 1.0; }

body h7 span { font-size: 80%; }

body h1 { font-size: 60px; }

body h2 { font-size: 38px; }

body h3 { font-size: 36px; }

body h4 { font-size: 30px; }

body h5 { font-size: 28px; }

body h6 { font-size: 24px; }

body h7 { font-size: 22px; }

@media screen and (max-width: 768px) { body h1.max-size, body h2.max-size, body h3.max-size, body h4.max-size, body h5.max-size, body h6.max-size, body h7.max-size { font-size: 30px; }
  body h1 { font-size: 40px; }
  body h2 { font-size: 32px; }
  body h3 { font-size: 28px; }
  body h4 { font-size: 24px; }
  body h5 { font-size: 20px; }
  body h5 strong { font-size: 130%; }
  body h5 strong.line { background-color: none; }
  body h5 strong.line:after { display: none; }
  body h5 strong.line.bracket { margin-left: 0px; display: inline; overflow: visible; }
  body h5 strong.line.bracket:after { margin-left: 0px; }
  body h6 { font-size: 16px; }
  body h6 strong { font-size: 130%; }
  body h7 { font-size: 15px; }
  body h7 strong { font-size: 130%; } }

p { color: #000; font-size: 16px; line-height: 1.6em; }

p span { font-size: 14px; }

p.smaller { font-size: 14px; }

p.smaller span { font-size: 12px; }

p.larger { font-size: 18px; }

p.larger span { font-size: 16px; }

p.large { font-size: 20px; }

p.large span { font-size: 18px; }

p strong.normal { font-weight: 700; font-size: 16px; margin-bottom: 5px; }

p.no-margin { margin: 0; }

strong { color: inherit; font-size: 20px; font-weight: 300; line-height: 1.6em; }

strong.normal { font-weight: 700; font-size: 16px; margin-bottom: 5px; }

strong.smaller { font-size: 18px; }

strong.read { line-height: 1.8; }

.bold strong, .strong strong { font-weight: 700; }

span { font-size: 13px; line-height: 1.6em; }

small { font-size: 12px; line-height: 1.6em; }

sup { font-size: 10px; }

@media screen and (max-width: 768px) { p { font-size: 15px; line-height: 1.8; }
  p.larger { font-size: 16px; }
  p.larger span { font-size: 14px; }
  p.large { font-size: 16px; }
  p.large span { font-size: 14px; }
  p strong.normal { font-size: 15px; }
  strong { font-size: 16px; }
  strong.normal { font-size: 15px; }
  strong.smaller { font-size: 14px; }
  span { font-size: 13px; } }

/*-------------------------------------------------- basics --------------------------------------------------*/
html { height: 100%; -ms-overflow-style: -ms-autohiding-scrollbar; }

html * { -webkit-font-smoothing: antialiased; outline: none; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: 100%; }

body { margin: 0; padding: 0; height: 100%; -webkit-font-smoothing: antialiased; font-smoothing: antialiased; }

body.top .sf-wrapper { background-color: black; }

body.article-recommend { background-color: white; }

body.article-recommend .sf-wrapper { background-color: white; }

*, *:before, *:after { -webkit-box-sizing: border-box; /* Not needed for modern webkit but still used by Blackberry Browser 7.0; see http://caniuse.com/#search=box-sizing */ -moz-box-sizing: border-box; /* Still needed for Firefox 28; see http://caniuse.com/#search=box-sizing */ box-sizing: border-box; }

@media screen and (max-width: 768px) { html * { -webkit-appearance: none; } }

/* link
---------------------------------------------------------*/
a { display: inline-block; color: #006ab4; cursor: pointer; outline: none; }

a:hover { text-decoration: none; }

a.with-arrow { background-image: url(../imgs/common/icon_link_arrow.png); background-position: left center; background-repeat: no-repeat; background-size: 24px 21px; padding-left: 30px; }

a.full-link { width: 100%; height: 100%; display: block; }

a img { border: none; }

img { vertical-align: top; }

img.fit-image { width: 100%; height: auto; }

img.height-fit { height: 100%; width: auto; }

img.auto-image { width: auto; height: auto; }

figure { margin: 0; }

figure img { width: 100%; height: auto; }

ul { padding: 0; margin: 0; list-style: none; }

a.item, input[type=submit].item { cursor: pointer; -webkit-transition: opacity ease 0.5s; -moz-transition: opacity ease 0.5s; -ms-transition: opacity ease 0.5s; -o-transition: opacity ease 0.5s; transition: opacity ease 0.5s; }

a.item:hover, input[type=submit].item:hover { opacity: 0.5; text-decoration: none; }

a.item img, input[type=submit].item img { width: 100%; height: auto; }

a.space, input[type=submit].space { margin-top: 20px; margin-bottom: 20px; }

a.button, input[type=submit].button { display: inline-block; text-align: center; width: 100%; height: 100%; cursor: pointer; }

a.size-full, input[type=submit].size-full { width: 100%; }

a.size-free, input[type=submit].size-free { width: auto; padding: 8px 40px; }

a.size-220, input[type=submit].size-220 { width: 220px; text-align: center; }

a.size-280, input[type=submit].size-280 { width: 280px; text-align: center; }

a.size-320, input[type=submit].size-320 { width: 320px; text-align: center; }

a.size-420, input[type=submit].size-420 { width: 420px; text-align: center; }

a.text-button, input[type=submit].text-button { padding: 20px 40px; -webkit-box-sizing: border-box; box-sizing: border-box; font-family: YuMincho, '游明朝', "Times New Roman", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif; font-size: 22px; text-decoration: none; }

a.black-button, input[type=submit].black-button { height: auto; color: white; font-weight: 700; background-color: #000; }

a.black-button.icon-arrow, input[type=submit].black-button.icon-arrow { padding: 13px 0px; color: white; font-family: YuMincho, '游明朝', "Times New Roman", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif; font-size: 18px; text-decoration: none; background-image: url(../imgs/common/icon_arrow_white.png); background-position: 92% center; background-repeat: no-repeat; background-size: 17px 15px; }

a.dark-button, input[type=submit].dark-button { color: white; font-weight: 700; background-color: #515151; }

a.black-text-button, input[type=submit].black-text-button { background-color: #000; color: white; font-size: 17px; font-family: 'Open Sans', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'Yu Gothic Medium', '游ゴシック Medium', 'Yu Gothic', '游ゴシック', sans-serif; font-weight: 700; text-decoration: none; line-height: 44px; margin: 0; }

a.blue-text-button, input[type=submit].blue-text-button { background-color: #2596ff; color: white; font-size: 17px; font-family: 'Open Sans', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'Yu Gothic Medium', '游ゴシック Medium', 'Yu Gothic', '游ゴシック', sans-serif; font-weight: 700; text-decoration: none; line-height: 44px; margin: 0; }

a.black-link-button, input[type=submit].black-link-button { text-indent: 300%; white-space: nowrap; overflow: hidden; background-color: #000; background-position: center center; background-repeat: no-repeat; background-size: contain; }

a.black-link-button.contact-link, input[type=submit].black-link-button.contact-link { background-image: url(../imgs/common/button_text_form.png); background-size: 248px 16px; }

a.black-link-button.list-link, input[type=submit].black-link-button.list-link { background-image: url(../imgs/common/button_text_list.png); background-size: 113px 16px; }

a.blue-link-button, input[type=submit].blue-link-button { text-indent: 300%; white-space: nowrap; overflow: hidden; background-color: #1392b2; background-position: center center; background-repeat: no-repeat; background-size: contain; }

a.blue-link-button.faq-link, input[type=submit].blue-link-button.faq-link { background-image: url(../imgs/common/button_text_faq.png); background-size: 186px 16px; }

a.black-plus-button, a.black-minus-button, input[type=submit].black-plus-button, input[type=submit].black-minus-button { text-align: center; background-color: #000; background-position: 25% center; background-repeat: no-repeat; background-size: 17px 17px; }

a.black-plus-button.icon-button, a.black-minus-button.icon-button, input[type=submit].black-plus-button.icon-button, input[type=submit].black-minus-button.icon-button { padding: 15px 0px; color: white; font-family: YuMincho, '游明朝', "Times New Roman", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif; font-size: 20px; font-weight: 700; text-decoration: none; text-indent: 25%; }

a.black-plus-button, input[type=submit].black-plus-button { background-image: url(../imgs/common/icon_plus.png); }

a.black-minus-button, input[type=submit].black-minus-button { background-image: url(../imgs/common/icon_minus.png); }

a.button-shadow, input[type=submit].button-shadow { position: relative; z-index: 2; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4); }

a.button-shadow.full-link, input[type=submit].button-shadow.full-link { box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.15); }

a.button-shadow:hover, input[type=submit].button-shadow:hover { box-shadow: none; }

input[type=submit] { border: none; outline: none; }

.full-size-link { height: 80px; margin-top: 30px; }

.full-size-link .black-link-button { background-image: url(../imgs/top/top_point_link_text.png); background-size: 395px 22px; }

@media screen and (max-width: 768px) { a.size-full, input[type=submit].size-full { width: 100%; }
  a.size-free, input[type=submit].size-free { width: auto; padding: 8px 20px; }
  a.size-220, input[type=submit].size-220 { width: 100%; max-width: 220px; }
  a.size-280, input[type=submit].size-280 { width: 100%; max-width: 280px; }
  a.size-320, input[type=submit].size-320 { width: 100%; max-width: 320px; }
  a.size-420, input[type=submit].size-420 { width: 100%; max-width: 420px; }
  a.text-button, input[type=submit].text-button { padding: 10px 30px; font-size: 18px; }
  a.black-button.icon-arrow, input[type=submit].black-button.icon-arrow { padding: 10px 30px 10px 10px; font-size: 16px; background-position: 95% center; }
  a.black-text-button, a.blue-text-button, input[type=submit].black-text-button, input[type=submit].blue-text-button { font-size: 16px; letter-spacing: -0.025em; }
  a.black-link-button, input[type=submit].black-link-button { text-indent: 0; white-space: normal; overflow: visible; color: white; font-family: YuMincho, '游明朝', "Times New Roman", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif; font-size: 16px; font-weight: 700; text-decoration: none; padding: 12px 0px; background-position: 93% center; background-repeat: no-repeat; }
  a.black-link-button.contact-link, input[type=submit].black-link-button.contact-link { background-image: url(../imgs/common/icon_arrow_white.png); background-size: 17px 15px; }
  a.black-link-button.list-link, input[type=submit].black-link-button.list-link { background-image: url(../imgs/common/icon_arrow_white.png); background-size: 17px 15px; }
  a.blue-link-button, input[type=submit].blue-link-button { text-indent: 0; white-space: normal; overflow: visible; color: white; font-family: YuMincho, '游明朝', "Times New Roman", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif; font-size: 16px; font-weight: 700; text-decoration: none; padding: 12px 0px; background-position: 93% center; background-repeat: no-repeat; }
  a.blue-link-button.faq-link, input[type=submit].blue-link-button.faq-link { background-image: url(../imgs/common/icon_arrow_white.png); background-size: 17px 15px; }
  a.black-plus-button.icon-button, a.black-minus-button.icon-button, input[type=submit].black-plus-button.icon-button, input[type=submit].black-minus-button.icon-button { padding: 10px 0px; font-size: 18px; text-indent: 25%; }
  .full-size-link { height: auto; }
  .full-size-link .black-link-button { background-image: none; } }

/*-------------------------------------------------- header --------------------------------------------------*/
header .header-wrapper { position: static; }

header .header-title { width: 100%; text-align: center; padding-top: 70px; padding-bottom: 50px; }

header .header-site-name { display: inline-block; width: 408px; height: 65px; background-image: url(../imgs/common/header_logo.png); background-size: contain; text-indent: 300%; white-space: nowrap; overflow: hidden; }

header .header-mobile { display: none; }

header nav { display: block; }

header nav.open { display: block; }

header nav ul { padding-left: 2px; }

header nav ul:after { display: table; content: ""; clear: both; }

header nav li { float: left; font-size: 10px; padding-left: 1px; position: relative; }

header nav li a { display: block; height: 15px; padding: 0px 18px 10px; border-bottom: 8px solid white; -webkit-transition: border-color ease 0.35s; -moz-transition: border-color ease 0.35s; -ms-transition: border-color ease 0.35s; -o-transition: border-color ease 0.35s; transition: border-color ease 0.35s; text-indent: 300%; white-space: nowrap; overflow: hidden; -webkit-box-sizing: content-box; box-sizing: content-box; background-position: center 1px; background-repeat: no-repeat; }

header nav li a:hover, header nav li a.current { border-bottom-color: #e29f00; }

header nav li:before { content: ""; height: 18px; width: 1px; background-color: #c9c9c9; position: absolute; left: 0px; }

header nav li:first-child:before { display: none; }

header nav .nav-about { width: 76px; background-image: url(../imgs/common/nav_about.png); background-size: 76px 16px; }

header nav .nav-flow { width: 141px; background-image: url(../imgs/common/nav_flow.png); background-size: 141px 16px; }

header nav .nav-cost { width: 94px; background-image: url(../imgs/common/nav_cost.png); background-size: 94px 16px; }

header nav .nav-voice { width: 141px; background-image: url(../imgs/common/nav_voice.png); background-size: 141px 16px; }

header nav .nav-access { width: 79px; background-image: url(../imgs/common/nav_access.png); background-size: 79px 16px; }

header nav .nav-faq { width: 110px; background-image: url(../imgs/common/nav_faq.png); background-size: 110px 16px; }

header nav .nav-contact { width: 95px; background-image: url(../imgs/common/nav_contact.png); background-size: 95px 16px; }

@media screen and (max-width: 768px) { header { height: 70px; }
  header .header-wrapper { position: fixed; width: 100%; z-index: 2000; }
  header .header-title { width: auto; height: 70px; text-align: center; background-color: white; padding-top: 0px; padding-bottom: 0px; padding-right: 70px; }
  header .header-site-name { width: 245px; height: 42px; margin-top: 14px; background-image: url(../imgs/common/header_logo_sp.png); background-size: contain; background-repeat: no-repeat; }
  header .header-mobile { display: block; position: absolute; right: 0; top: 0; width: 70px; height: 70px; }
  header .header-mobile a { display: block; width: 70px; height: 100%; padding-top: 45px; color: white; font-size: 12px; font-weight: 700; text-align: center; text-decoration: none; background-color: black; position: relative; }
  header .header-mobile a i, header .header-mobile a i:before, header .header-mobile a i:after { width: 30px; height: 3px; position: absolute; background-color: white; -webkit-transition: transform 0.25s, background-color 0.25s; -moz-transition: transform 0.25s, background-color 0.25s; -ms-transition: transform 0.25s, background-color 0.25s; -o-transition: transform 0.25s, background-color 0.25s; transition: transform 0.25s, background-color 0.25s; }
  header .header-mobile a i:before { content: ""; top: -10px; left: 0px; }
  header .header-mobile a i { top: 25px; left: 20px; }
  header .header-mobile a i:after { content: ""; top: 10px; left: 0px; }
  header .header-mobile a.active i:before { top: 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
  header .header-mobile a.active i { background-color: transparent; }
  header .header-mobile a.active i:after { top: 0px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }
  header nav { display: none; }
  header nav.open { display: block; }
  header nav ul { background-color: rgba(0, 0, 0, 0.95); padding: 15px 0; }
  header nav li { float: none; }
  header nav li a { width: 100%; height: auto; padding: 18px 0; border-bottom: none; text-indent: 0; white-space: normal; overflow: visible; color: white; font-size: 17px; font-family: serif; line-height: 1.0; text-align: center; text-decoration: none; }
  header nav li a:hover, header nav li a.current { border-bottom: none; }
  header nav li:before { display: none; }
  header nav .nav-about, header nav .nav-flow, header nav .nav-cost, header nav .nav-voice, header nav .nav-access, header nav .nav-faq, header nav .nav-contact { width: 100%; background: none; } }

/*-------------------------------------------------- footer --------------------------------------------------*/
footer { background-color: #ff8f00; }

.footer-contact { width: 1080px; margin-left: auto; margin-right: auto; padding-top: 60px; padding-bottom: 70px; }

.footer-contact h5 { position: relative; padding-left: 60px; }

.footer-contact h5:before { content: ""; position: absolute; top: -30px; left: -20px; width: 208px; height: 92px; background-image: url(../imgs/common/footer_contact_balloon.png); background-size: contain; }

.footer-contact-items { margin-top: 50px; }

.footer-contact-item-tel, .footer-contact-item-mail, .footer-contact-item-faq, .footer-contact-item-tv { width: 350px; height: 210px; background-color: white; padding: 15px 20px; -webkit-box-sizing: border-box; box-sizing: border-box; }

.footer-contact-item-tel .contact-title, .footer-contact-item-mail .contact-title, .footer-contact-item-faq .contact-title, .footer-contact-item-tv .contact-title { width: 100%; height: 53px; text-align: left; }

.footer-contact-item-tel .contact-title span, .footer-contact-item-mail .contact-title span, .footer-contact-item-faq .contact-title span, .footer-contact-item-tv .contact-title span { display: inline-block; vertical-align: top; line-height: 1.0; height: 53px; }

.footer-contact-item-tel .contact-title span img, .footer-contact-item-mail .contact-title span img, .footer-contact-item-faq .contact-title span img, .footer-contact-item-tv .contact-title span img { height: 100%; width: auto; }

.footer-contact-item-tel .contact-title p, .footer-contact-item-mail .contact-title p, .footer-contact-item-faq .contact-title p, .footer-contact-item-tv .contact-title p { display: inline-block; vertical-align: top; line-height: 1.0; color: black; font-size: 20px; font-weight: 700; margin: 16px 0px 0px 8px; }

.footer-contact-item-tel .contact-body, .footer-contact-item-mail .contact-body, .footer-contact-item-faq .contact-body, .footer-contact-item-tv .contact-body { width: 100%; height: 75px; margin-top: 10px; }

.footer-contact-item-tel .contact-body p, .footer-contact-item-mail .contact-body p, .footer-contact-item-faq .contact-body p, .footer-contact-item-tv .contact-body p { margin: 0; font-size: 14px; }

.footer-contact-item-tel .contact-bottom, .footer-contact-item-mail .contact-bottom, .footer-contact-item-faq .contact-bottom, .footer-contact-item-tv .contact-bottom { width: 100%; height: 44px; }

.footer-contact-item-tel .contact-body { text-align: center; }

.footer-contact-item-tel .contact-body a { display: inline-block; width: 90%; max-width: 260px; text-decoration: none; }

.footer-contact-item-tel .contact-body img { width: 100%; height: auto; }

.footer-contact-item-tel .contact-body p { margin: 0.5em 0px 0px; text-align: right; color: black; font-family: YuMincho, '游明朝', "Times New Roman", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif; font-size: 15px; font-weight: 700; }

.footer-contact-item-tel .contact-bottom { background-color: #b8d134; text-align: center; }

.footer-contact-item-tel .contact-bottom p { color: white; font-size: 17px; font-weight: 700; font-family: 'Open Sans', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'Yu Gothic Medium', '游ゴシック Medium', 'Yu Gothic', '游ゴシック', sans-serif; line-height: 44px; margin: 0; }

.footer-contact-item-tv .contact-bottom i { display: inline-block; padding: 2px; border: 1px solid white; margin-top: 13px; margin-left: 2px; font-size: 12px; font-style: normal; line-height: 1.0; vertical-align: top; }

.footer-contact-note { margin-top: 20px 0px 0px; padding: 0px 10px; color: white; text-align: center; }

.footer-contact-note a { color: inherit; }

@media screen and (max-width: 768px) { .footer-contact { width: 100%; padding-top: 40px; padding-bottom: 40px; }
  .footer-contact h5 { position: relative; padding-left: 10px; padding-right: 10px; padding-top: 65px !important; }
  .footer-contact h5:before { left: 10px; }
  .footer-contact-items { margin-top: 20px; padding-left: 10px; padding-right: 10px; }
  .footer-contact-item-tel, .footer-contact-item-mail, .footer-contact-item-faq, .footer-contact-item-tv { width: 100%; height: auto; margin-bottom: 10px; }
  .footer-contact-item-tel .contact-title, .footer-contact-item-mail .contact-title, .footer-contact-item-faq .contact-title, .footer-contact-item-tv .contact-title { text-align: center; }
  .footer-contact-item-tel .contact-title span, .footer-contact-item-mail .contact-title span, .footer-contact-item-faq .contact-title span, .footer-contact-item-tv .contact-title span { height: 48px; }
  .footer-contact-item-tel .contact-title p, .footer-contact-item-mail .contact-title p, .footer-contact-item-faq .contact-title p, .footer-contact-item-tv .contact-title p { font-size: 16px; margin: 16px 0px 0px 8px; }
  .footer-contact-item-tel .contact-body, .footer-contact-item-mail .contact-body, .footer-contact-item-faq .contact-body, .footer-contact-item-tv .contact-body { height: auto; margin-bottom: 10px; }
  .footer-contact-item-tel .contact-bottom, .footer-contact-item-mail .contact-bottom, .footer-contact-item-faq .contact-bottom, .footer-contact-item-tv .contact-bottom { height: auto; }
  .footer-contact-item-tel .contact-body img { width: 100%; height: auto; }
  .footer-contact-item-tv .contact-bottom i { margin-top: 14px; margin-left: 2px; font-size: 10px; } }

.footer-map { background-color: white; }

.footer-map-embed { width: 100%; height: 400px; }

@media screen and (max-width: 768px) { .footer-map-embed { height: 280px; } }

.footer-bottom { background-color: white; border-bottom: 10px solid #ff9c00; }

.footer-bottom-link { padding-top: 20px; text-align: center; }

.footer-link-privacy { width: 138px; height: 14px; text-indent: 300%; white-space: nowrap; overflow: hidden; background-image: url(../imgs/common/footer_link_privacy.png); background-size: contain; }

.footer-bottom-logo { margin-top: 60px; text-align: center; }

.footer-bottom-site-logo { width: 281px; height: 55px; margin-left: auto; margin-right: auto; }

.footer-bottom-office-logo { width: 237px; height: 27px; margin-top: 20px; margin-left: auto; margin-right: auto; }

.footer-bottom-copyright { margin-top: 60px; text-align: center; padding-bottom: 15px; }

.footer-bottom-copyright small { font-family: 'Open Sans', 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', 'Yu Gothic Medium', '游ゴシック Medium', 'Yu Gothic', '游ゴシック', sans-serif; }

@media screen and (max-width: 768px) { .footer-bottom-logo { margin-top: 30px; }
  .footer-bottom-copyright { margin-top: 30px; } }

/*-------------------------------------------------- main --------------------------------------------------*/
/* container
---------------------------------------------------------*/
.container { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0 auto; padding: 0; width: 980px; }

.container.nav-container { width: 1000px; }

@media screen and (max-width: 768px) { .container { width: 100%; padding-left: 10px; padding-right: 10px; }
  .container.nav-container { width: 100%; padding-left: 0px; padding-right: 0px; } }

/* section
---------------------------------------------------------*/
section { width: 100%; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; }

section.space { padding-top: 60px; padding-bottom: 70px; }

section.top-space { padding-top: 60px; }

section.bt-space { padding-bottom: 70px; }

section.section-shadow { box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.15); z-index: 2; }

.section-title { width: 100%; height: 120px; line-height: 120px; }

.section-title.arrow-down { position: relative; }

.section-title.arrow-down:after { content: ""; position: absolute; bottom: -25px; left: 50%; margin-left: -30px; width: 0; height: 0; border-style: solid; border-width: 25px 30px 0 30px; border-color: #ff9c00 transparent transparent transparent; }

.section-title.title-o { background-color: #ff9c00; }

.section-inner { width: 800px; position: relative; margin: 0px auto; }

@media screen and (max-width: 768px) { section.space { padding-top: 40px; padding-bottom: 40px; }
  section.top-space { padding-top: 40px; }
  section.bt-space { padding-bottom: 40px; }
  section.section-shadow { box-shadow: 0px 4px 9px rgba(0, 0, 0, 0.15); z-index: 2; }
  .section-title { width: 100%; height: auto; line-height: 1.6; padding-left: 10px; padding-right: 10px; margin-bottom: 20px; }
  .section-inner { width: 100%; padding-left: 0px; padding-right: 0px; } }

/* content
---------------------------------------------------------*/
.content-main-visual { width: 100%; height: 480px; overflow: hidden; background-position: center center; background-size: cover; }

.main-visual-inner { width: 100%; height: 480px; }

.main-visual-inner h1 { height: 480px; text-indent: 300%; white-space: nowrap; overflow: hidden; background-position: center center; background-repeat: no-repeat; }

.content-inner { width: 900px; margin-left: auto; margin-right: auto; }

@media screen and (max-width: 768px) { .content-main-visual { height: 260px; }
  .main-visual-inner { width: 100%; height: 260px; padding-left: 10px; padding-right: 10px; }
  .main-visual-inner h1 { height: 260px; background-size: contain !important; }
  .content-inner { width: 100%; } }

/*-------------------------------------------------- parts --------------------------------------------------*/
.page-top { position: fixed; bottom: 20px; right: 10px; z-index: 1000; width: 85px; height: 85px; -webkit-transition: opacity ease 0.5s; -moz-transition: opacity ease 0.5s; -ms-transition: opacity ease 0.5s; -o-transition: opacity ease 0.5s; transition: opacity ease 0.5s; opacity: 0.0; pointer-events: none; }

.page-top.show { opacity: 1.0; pointer-events: all; }

.page-top-button { width: 85px; height: 85px; text-indent: 300%; white-space: nowrap; overflow: hidden; background-image: url(../imgs/common/page_top_arrow.png); background-size: contain; }

.emphasis-mark { position: relative; }

.emphasis-mark:before { content: ""; width: 44px; height: 42px; position: absolute; left: -35px; top: -5px; background-image: url(../imgs/common/mark_emphasis.png); background-position: center center; background-size: contain; }

.checked-bullet { height: auto; list-style: none; margin: 0; padding: 0; text-align: left; }

.checked-bullet li { font-size: 20px; line-height: 1.5em; vertical-align: top; margin-bottom: 10px; padding-left: 35px; position: relative; }

.checked-bullet li:last-child { margin-bottom: 0px; }

.checked-bullet li:before { content: ""; width: 28px; height: 26px; background-image: url(../imgs/common/checkbox_orange.png); background-position: center center; background-size: contain; position: absolute; left: 0; }

.checked-bullet.white-bullet li:before { background-image: url(../imgs/common/checkbox_white.png); }

.form-link-button { position: absolute; }

.button-block { height: 44px; margin-top: 40px; margin-left: auto; margin-right: auto; text-align: center; }

.content-box-white { padding: 50px 50px; -webkit-box-sizing: border-box; box-sizing: border-box; border-radius: 25px; background-color: white; margin-top: 40px; margin-bottom: 40px; }

.section-inner .content-box-white { margin-left: -50px; margin-right: -50px; }

.content-box-white.no-space { margin-top: 0px; margin-bottom: 0px; }

.content-copy-text { line-height: 1.8em; padding-top: 0px; padding-bottom: 0px; margin-bottom: 10px; }

@media screen and (max-width: 768px) { .page-top { display: none; }
  .emphasis-mark { display: inline-block; }
  .emphasis-mark:before { left: -35px; top: -10px; }
  .checked-bullet li { font-size: 15px; padding-left: 35px; }
  .checked-bullet li:before { width: 24px; height: 22px; background-repeat: no-repeat; }
  .button-block { height: auto; margin-top: 30px; }
  .content-box-white { padding: 15px 15px; border-radius: 15px; margin-top: 30px; margin-bottom: 30px; }
  .section-inner .content-box-white { margin-left: -10px; margin-right: -10px; }
  .content-box-white.no-space { margin-top: 0px; margin-bottom: 0px; } }
