@charset "UTF-8";
/* =====================================================
1.0 - Foundation
===================================================== */
/*
1.1 - Reset
-----------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
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; vertical-align: baseline; font: inherit; font-size: 100%; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

body { line-height: 1; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

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

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

/*
1.2 - Base
-----------------------------------------------------*/
*, :before, :after { -webkit-box-sizing: inherit; box-sizing: inherit; }

html { -webkit-box-sizing: border-box; box-sizing: border-box; height: 100%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; font-size: 62.5%; }

body { height: 100%; text-rendering: optimizeLegibility; -webkit-font-feature-settings: 'pkna'; font-feature-settings: 'pkna'; line-height: 1.5; color: #221815; font-size: 1.6rem; font-family: YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans','メイリオ', Meiryo,sans-serif; }

img { max-width: 100%; height: auto; vertical-align: bottom; }

a { -webkit-transition-property: color, background, -webkit-box-shadow; transition-property: color, background, -webkit-box-shadow; transition-property: color, background, box-shadow; transition-property: color, background, box-shadow, -webkit-box-shadow; -webkit-transition-duration: .3s; transition-duration: .3s; -webkit-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; text-decoration: none; cursor: pointer; }

/* =====================================================
2.0 - Layout
===================================================== */
/*
2.1 - header
-----------------------------------------------------*/
.header { padding-bottom: 20px; background: #ffffff; }

@media screen and (max-width: 1200px) { .header { position: fixed; width: 100%; top: 0; left: 0; padding: 0; z-index: 1; } }

.header_inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 1200px) { .header_inner { padding: 10px 0; } }

.header-ttl { padding-top: 20px; }

@media screen and (max-width: 1200px) { .header-ttl { padding-top: 0; } }

.header-ttl_text { font-size: 14px; }

@media screen and (max-width: 1200px) { .header-ttl_text { display: none; } }

.header-logo { margin-top: 8px; vertical-align: middle; }

@media screen and (max-width: 1200px) { .header-logo { line-height: 1; padding: 0 0.5em; margin-top: 0; }
  .header-logo .pc-db { display: none; }
  .header-logo .tab-db { display: block; } }

.header-logo a { font-size: 36px; color: #cf1225; }

@media screen and (max-width: 1200px) { .header-logo a { font-size: 0; } }

.header-logo_img { width: 230px; }

@media screen and (max-width: 768px) { .header-logo_img { width: 160px; display: inline-block; }
  .header-logo_img img { max-width: 100%; } }

@media screen and (max-width: 1200px) { .header-subnav { display: none; } }

.header-subnav_btm { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media screen and (max-width: 1200px) { .header-subnav_btm { display: block; text-align: center; }
  .header-subnav_btm + * { margin-top: 15px; }
  .header-subnav_btm.contact { margin-bottom: 10px; margin-top: 20px; } }

.header-subnav_tel { font-size: 37px; margin-right: 14px; color: #221815; }

@media screen and (max-width: 1200px) { .header-subnav_tel { margin-right: 0; } }

.header-subnav_tel a { color: inherit; }

@media screen and (min-width: 1201px) { .header-subnav_tel a { pointer-events: none; } }

.header-subnav_time { font-size: 12px; }

.header-cta_btn { display: inline-block; }

@media screen and (min-width: 1201px) { .header-cta_btn:not(:last-child) { margin-right: 10px; } }

@media screen and (max-width: 1200px) { .header-cta_btn { display: block; }
  .header-cta_btn + * { margin-top: 10px; } }

.header-cta_btn a { display: block; background: #cf1225; color: #ffffff; font-size: 14px; padding: 12px; min-width: 200px; text-align: center; }

.header-cta_btn a:hover { -webkit-box-shadow: 0 0 6px rgba(207, 18, 37, 0.2); box-shadow: 0 0 6px rgba(207, 18, 37, 0.2); }

@media screen and (max-width: 1200px) { .header-cta_btn a { margin-right: auto; margin-left: auto; } }

.header-cta_btn.widefull a { font-size: 1em; font-weight: bold; }

.globalnav { -webkit-transition: none; transition: none; }

@media screen and (max-width: 1200px) { .globalnav { position: fixed; overflow: auto; top: 61px; left: 0; right: 0; width: 100%; background: #ffffff; -webkit-transform: translateX(150%); -ms-transform: translateX(150%); transform: translateX(150%); -webkit-transition: -webkit-transform .3s ease-in-out; transition: -webkit-transform .3s ease-in-out; transition: transform .3s ease-in-out; transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out; background: #ffeef1; height: calc(100vh - 60px); padding: 15px; } }

.globalnav-list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 55px; }

@media screen and (max-width: 1200px) { .globalnav-list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-top: 0; padding: 20px 0; } }

.globalnav-list > li { text-align: center; position: relative; }

@media screen and (max-width: 1200px) { .globalnav-list > li { width: 100%; border-top: 1px solid #cf1225; text-align: left; }
  .globalnav-list > li:last-child { border-bottom: 1px solid #cf1225; } }

.globalnav-list a { color: #221815; display: block; padding: 0 30px; }

.globalnav-list a:hover { color: #cf1225; }

@media screen and (max-width: 1200px) { .globalnav-list a { padding: 16px 0; } }

.globalnav-childlist { display: none; position: absolute; padding-top: 20px; top: 100%; left: 0; right: 0; width: 100%; z-index: 1; background: #ffffff; }

.globalnav-childlist > li a { display: block; padding: 10px 15px; }

.globalnav-childlist > li a:hover { color: #cf1225; }

@media screen and (max-width: 1200px) { .globalnav-childlist { padding: 10px 0; position: static; background: none; }
  .globalnav-childlist > li { border: none; }
  .globalnav-childlist > li a { font-size: .85em; }
  .globalnav-childlist > li a::before { content: '- '; } }

.globalnav-infolist { display: none; }

@media screen and (max-width: 1200px) { .globalnav-infolist { display: -webkit-box; display: -ms-flexbox; display: flex; font-size: 1.4rem; }
  .globalnav-infolist + * { margin-top: 20px; }
  .globalnav-infolist li { padding: 0 15px; }
  .globalnav-infolist li:not(:last-child) { border-right: 1px solid #000; }
  .globalnav-infolist a { color: #000; } }

/* Button */
.button-hamburger { position: absolute; top: 0; right: 0; bottom: 0; z-index: 1; width: 60px; height: 60px; margin: auto 0; border: 0; outline: 0; background-color: transparent; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; /* IE非対応 */ background: #cf1225; }

.hamburger { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; width: 32px; height: 2px; margin: auto; border-radius: 4px; background-color: #fff; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

.hamburger:before, .hamburger:after { position: absolute; display: block; width: 100%; height: 100%; border-radius: 4px; background-color: inherit; content: ''; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

.hamburger:before { top: -8px; }

.hamburger:after { top: 8px; }

.is-open .globalnav { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }

.is-open .hamburger { background: transparent; }

.is-open .hamburger::before, .is-open .hamburger::after { background: #ffffff; }

.is-open .hamburger::before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); top: 0; }

.is-open .hamburger::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); top: 0; }

@media screen and (min-width: 1201px) { .button-hamburger { display: none; } }

.has-childlist { position: relative; }

@media screen and (min-width: 1201px) { .has-childlist:hover .globalnav-childlist { display: block; opacity: 1; } }

.has-childlist.is-childlistOpen .globalnav-childlist { display: block; opacity: 1; }

.btn-childlist { display: block; width: 32px; height: 32px; background: none; border: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; position: absolute; top: 12px; right: 10px; -webkit-transition: all .4s; transition: all .4s; outline: none; }

.btn-childlist span { display: block; width: 14px; position: relative; height: 2px; background: #cf1225; margin: auto; }

.btn-childlist span::after { content: ''; display: block; position: absolute; width: 100%; height: 2px; background: #cf1225; -webkit-transform: rotate(90deg) translate(-50%, -50%); -ms-transform: rotate(90deg) translate(-50%, -50%); transform: rotate(90deg) translate(-50%, -50%); top: 50%; left: 50%; -webkit-transform-origin: top left; -ms-transform-origin: top left; transform-origin: top left; }

.is-childlistOpen > a { border-bottom: 1px solid #cf1225; }

.is-childlistOpen .btn-childlist { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

/*
2.2 - footer
-----------------------------------------------------*/
.footer { padding: 65px 0 0; }

.footer-logo_img { text-align: center; margin-bottom: 65px; }

.footer-logo_sitename { font-size: 2.4rem; margin-bottom: 10px; }

.footer-cta_btn + * { margin-top: 13px; }

.footer-cta_btn a { display: block; background: #cf1225; color: #ffffff; font-size: 14px; padding: 12px; max-width: 200px; text-align: center; }

.footer-cta_btn a:hover { -webkit-box-shadow: 0 0 6px rgba(207, 18, 37, 0.2); box-shadow: 0 0 6px rgba(207, 18, 37, 0.2); }

@media screen and (max-width: 768px) { .footer-cta_btn a { margin-right: auto; margin-left: auto; max-width: 80%; } }

.footer-address + * { margin-top: 24px; }

.footer_inner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 768px) { .footer_inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.footer-nav { display: -webkit-box; display: -ms-flexbox; display: flex; width: 60%; }

.footer-nav a { color: #000000; }

.footer-nav a:hover { color: #cf1225; }

.footer-nav > * { width: 50%; font-family: YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans','メイリオ', Meiryo,sans-serif; }

@media screen and (max-width: 768px) { .footer-nav { width: 100%; margin-top: 20px; } }

.footer-nav_ttl { font-weight: 600; }

.footer-nav_ttl + * { margin-top: 20px; }

.footer-nav_list { width: 100%; margin-top: 10px; }

.footer-nav_list + * { margin-top: 35px; }

.footer-nav_list li { font-size: 1.5rem; }

.footer-nav_list a { color: #221815; }

.footer-nav_list a::before { content: '・'; margin-right: 5px; }

.footer-copyright { text-align: center; margin-top: 100px; background: #b80022; padding: 20px 0; color: #ffffff; }

/*
2.3 - main
-----------------------------------------------------*/
.main { overflow: hidden; }

.l-inner { width: 1200px; max-width: 100%; margin-right: auto; margin-left: auto; }

.l-inner.narrow { width: 1000px; }

@media screen and (max-width: 1200px) { .l-inner { padding: 0 15px; }
  .main { padding-top: 60px; } }

/* =====================================================
3.0 - Object
===================================================== */
/*
3.1 - component
-----------------------------------------------------*/
.c-flex { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

@media screen and (max-width: 768px) { .c-flex.sp-flex1 { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .c-flex.sp-flex1 > * { width: 100%; max-width: 100%; } }

/*
3.2 - project
-----------------------------------------------------*/
.breadcrumbs { margin-top: 20px; }

.breadcrumbs_list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.breadcrumbs_list li { margin-left: 20px; font-size: 1.5rem; }

.breadcrumbs_list li:not(:last-child)::after { content: '>'; display: inline-block; margin-left: 20px; }

@media screen and (max-width: 768px) { .breadcrumbs_list li { margin-left: 10px; font-size: 1.2rem; }
  .breadcrumbs_list li:not(:last-child)::after { margin-left: 10px; } }

.breadcrumbs_list a { color: #221815; }

.breadcrumbs_list a:hover { opacity: 0.7; }

.sec-ttl { text-align: center; font-weight: bold; font-size: 4rem; font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; }

.sec-ttl + * { margin-top: 20px; }

@media screen and (max-width: 768px) { .sec-ttl { font-size: 2.6rem; } }

.sec-message { text-align: center; font-size: 1.8rem; }

.sec-message + * { margin-top: 45px; }

@media screen and (max-width: 768px) { .sec-message { font-size: 1.6rem; } }

.btn-round a, .btn-round > input { display: inline-block; border-radius: 1000rem; background: #b80022; color: #ffffff; font-size: 2rem; padding: 10px; text-align: center; min-width: 300px; border: 1px solid transparent; }

.btn-round a:hover, .btn-round > input:hover { border: 1px solid #b80022; background: #ffffff; color: #b80022; font-weight: bold; }

@media screen and (max-width: 768px) { .btn-round a, .btn-round > input { min-width: 300px; max-width: 100%; font-size: 1.6rem; } }

.btn-round.subcolor a { background: #000000; }

.btn-round.subcolor a:hover { border-color: #000; color: #000000; background: #ffffff; }

.btn-normal a { display: block; background: #b80022; color: #ffffff; padding: 10px; text-align: center; border-radius: 8px; width: 300px; max-width: 100%; }

.bg-separate { background: #f8f7ee; background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(17%, #fff), color-stop(17%, #f8f7ee), color-stop(87%, #f8f7ee), color-stop(87%, #fff), to(#fff)); background: linear-gradient(to bottom, #fff 0%, #fff 17%, #f8f7ee 17%, #f8f7ee 87%, #fff 87%, #fff 100%); }

@media screen and (max-width: 768px) { .bg-separate { background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(14%, #fff), color-stop(14%, #f8f7ee), to(#f8f7ee)); background: linear-gradient(to bottom, #fff 0%, #fff 14%, #f8f7ee 14%, #f8f7ee 100%); } }

.cta { background: url(../img/common/bg_cta.jpg) no-repeat center/cover; padding: 100px 0 80px; text-align: center; font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; }

.cta-ttl { font-weight: bold; font-size: 3rem; }

.cta-ttl + * { margin-top: 20px; }

@media screen and (max-width: 768px) { .cta-ttl { font-size: 2.4rem; }
  .cta-ttl + * { margin-top: 10px; } }

.cta-btn_list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.cta-btn_list li { margin: 0 40px; font-size: 1.8rem; font-weight: bold; }

.cta-btn_list .btn-normal a { margin-right: auto; margin-left: auto; margin-top: 5px; }

@media screen and (max-width: 768px) { .cta-btn_list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .cta-btn_list li { font-size: 1.6rem; }
  .cta-btn_list li + * { margin-top: 50px; } }

.page-mv { height: 320px; background: url(../img/common/page_mv.jpg) no-repeat center/cover; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

@media screen and (max-width: 768px) { .page-mv { height: 42.66667vw; } }

.page-mv.no-bg { background: #eeeeee; }

.page-mv h1 { font-weight: bold; font-size: 3.6rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; }

.page-mv h1 .en { font-size: 0.55556em; border-bottom: 1px solid #221815; margin-bottom: 10px; }

@media screen and (max-width: 768px) { .page-mv h1 { font-size: 2.6rem; } }

.page-message { padding: 90px 0; }

.page-message h2 { text-align: center; font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; font-size: 2.6rem; font-weight: bold; }

.page-message h2 + * { margin-top: 60px; }

@media screen and (max-width: 768px) { .page-message h2 { font-size: 2.4rem; } }

.page-message p { line-height: 2; }

.page-message p + * { margin-top: 40px; }

.page-message a { color: #cf1225; }

.page-message_inner { width: 800px; }

.page-contents { padding: 100px 0; }

.page-contents_secttl { font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; text-align: center; font-weight: bold; font-size: 4rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.page-contents_secttl + * { margin-top: 45px; }

.page-contents_secttl .en { color: #c50025; font-size: 0.4em; margin-bottom: 8px; border-bottom: 1px solid #c50025; }

@media screen and (max-width: 768px) { .page-contents_secttl { font-size: 3.2rem; } }

.page-contents_bgsecttl { font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; background: #f8f7ee; padding: 10px 20px; font-size: 2rem; font-weight: bold; }

.page-contents_bgsecttl + * { margin-top: 30px; }

.page-contents_bgsecttl.short { width: 900px; max-width: 100%; margin-right: auto; margin-left: auto; }

.page-contents_bgsecttl.red { background: #cf1225; color: #ffffff; }

.page-contents h3:not([class]) { color: #b80023; font-size: 2rem; font-weight: bold; line-height: 2.5; border-bottom: 2px solid #cc0033; }

.page-contents h3:not([class]) + * { margin-top: 30px; }

.page-contents h4:not([class]) { color: #b80023; font-weight: bold; font-size: 1.8rem; }

.page-contents h4:not([class]) + * { margin-top: 30px; }

.page-contents_subttl { font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; font-weight: bold; font-size: 2.8rem; line-height: 1.60714; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.page-contents_subttl + * { margin-top: 40px; }

.page-contents_subttl .en { display: inline-block; color: #c50025; font-size: 0.57143em; margin-bottom: 30px; }

.page-contents_subttl .en.border { border-bottom: 1px solid #c50025; margin-bottom: 5px; }

@media screen and (max-width: 768px) { .page-contents_subttl { font-size: 2.4rem; }
  .page-contents_subttl .en { margin-bottom: 15px; } }

.page-contents_flexbox { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

.page-contents_flexbox + * { margin-top: 65px; }

.page-contents_flexbox.reverse { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }

@media screen and (max-width: 768px) { .page-contents_flexbox { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
  .page-contents_flexbox.reverse { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

.page-contents_text { width: 370px; max-width: 100%; }

.page-contents_text p { line-height: 2; }

.ratio_3_2 .page-contents_text { width: 680px; }

.ratio_2_2 .page-contents_text { width: 570px; }

.page-contents_text.text_bg { position: relative; }

.page-contents_text.text_bg::after { content: ''; display: block; position: absolute; width: 75vw; height: 430px; background: #f8f7ee; position: absolute; z-index: -1; right: -12.5vw; top: 130px; }

.reverse .page-contents_text.text_bg::after { right: auto; left: -12.5vw; }

@media screen and (max-width: 768px) { .page-contents_text.text_bg::after { top: 50px; right: -15px; width: 100vw; height: 100%; }
  .reverse .page-contents_text.text_bg::after { left: -15px; } }

@media screen and (max-width: 768px) { .page-contents_text { width: 100%; margin-top: 30px; } }

.page-contents_img { margin-right: 80px; }

.reverse .page-contents_img { margin-right: 0; margin-left: 80px; }

.ratio_3_2 .page-contents_img { width: 460px; max-width: 100%; }

.ratio_2_2 .page-contents_img { width: 570px; max-width: 100%; }

.page-contents_img.wide { width: calc(62.5% + 12.5vw); margin-left: -12.5vw; }

.reverse .page-contents_img.wide { margin-left: auto; margin-right: -12.5vw; }

@media screen and (max-width: 768px) { .reverse .page-contents_img.wide { margin-right: -15px; } }

.page-contents_img.row-2 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.page-contents_img.row-2 img { display: block; }

.page-contents_img.row-2 img + * { margin-top: 10px; }

.page-contents_img.row-2 img:nth-child(2) { margin-left: 140px; }

@media screen and (max-width: 768px) { .page-contents_img { margin-right: 0; width: 100%; }
  .page-contents_img.wide { width: 100%; margin-left: 0; }
  .reverse .page-contents_img { margin-left: 0; width: 100%; }
  .page-contents_img.row-2 img:nth-child(2) { margin-left: auto; } }

.page-contents_imglist { margin-right: -5px; margin-left: -5px; margin-top: 65px; }

.page-contents_imglist li { border: 5px solid transparent; width: 33.3%; }

.page-contents_figlist { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 60px; }

.page-contents_figlist.col_3 { margin-right: -22px; margin-left: -22px; }

@media screen and (max-width: 768px) { .page-contents_figlist.col_3 { margin-left: 0; margin-right: 0; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.page-contents_figlist.col_4 { margin-right: -15px; margin-left: -15px; }

@media screen and (max-width: 768px) { .page-contents_figlist.col_4 { margin-right: -5px; margin-left: -5px; } }

.page-contents_figlist.col_5, .page-contents_figlist.col_6 { margin-right: -6px; margin-left: -6px; }

.col_3 .page-contents_figlist_item { width: 33.3%; border: 22px solid transparent; }

@media screen and (max-width: 768px) { .col_3 .page-contents_figlist_item { width: 100%; border: none; }
  .col_3 .page-contents_figlist_item + * { margin-top: 40px; } }

.col_4 .page-contents_figlist_item { width: 25%; border: 15px solid transparent; }

@media screen and (max-width: 768px) { .col_4 .page-contents_figlist_item { width: 50%; border-width: 5px; } }

.col_5 .page-contents_figlist_item { width: 20%; border: 6px solid transparent; }

@media screen and (max-width: 768px) { .col_5 .page-contents_figlist_item { width: 50%; } }

.col_6 .page-contents_figlist_item { width: 16.66667%; border: 6px solid transparent; }

@media screen and (max-width: 768px) { .col_6 .page-contents_figlist_item { width: 50%; } }

.page-contents_figlist_item figcaption { text-align: center; margin-top: 15px; font-weight: bold; font-size: 1.8rem; }

.page-contents_figlist_item figcaption .fz-small { font-weight: normal; font-size: 0.77778em; margin-top: 10px; }

.page-contents_figlist_item figcaption.has-triangle { font-weight: normal; text-align: left; margin-top: 10px; font-size: 1.4rem; }

.page-contents_figlist_item figcaption.has-triangle::before { content: '▲'; color: #cc0000; }

@media screen and (max-width: 768px) { .page-contents_figlist_item figcaption.has-triangle { font-size: 1.2rem; margin-top: 5px; } }

.page-contents_dllist + * { margin-top: 70px; }

.page-contents_dllist_inner { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; border-bottom: 3px dotted #cc0033; padding: 50px 15px; }

.page-contents_dllist_inner:first-child { border-top: 3px dotted #cc0033; }

@media screen and (max-width: 768px) { .page-contents_dllist_inner { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.page-contents_dllist dt { width: 310px; font-size: 1.8rem; font-weight: bold; color: #b80023; }

.page-contents_dllist dt:not(:last-of-type) { margin-bottom: 45px; }

@media screen and (max-width: 768px) { .page-contents_dllist dt { width: 100%; padding-bottom: 20px; } }

.page-contents_dllist dd { width: calc(100% - 310px); }

.page-contents_dllist dd:not(:last-of-type) { margin-bottom: 45px; }

.page-contents_dllist dd .ttl { color: #b80023; font-weight: bold; font-size: 1.8rem; }

.page-contents_dllist dd .ttl:nth-of-type(n+2) { margin-top: 45px; }

.page-contents_dllist dd small { font-size: 1.4rem; }

@media screen and (max-width: 768px) { .page-contents_dllist dd { width: 100%; } }

.page-contents_dllist .table-wrap { overflow: auto; width: 100%; }

.page-contents_dllist .table-wrap + * { margin-top: 30px; }

.page-contents_dllist table { width: 100%; }

.page-contents_dllist table th { color: #b80023; padding-bottom: 10px; border-bottom: 1px solid #ccc; text-align: left; }

.page-contents_dllist table th.tar { text-align: right; padding-right: 10px; }

.page-contents_dllist table td { padding-bottom: 10px; padding-top: 10px; border-bottom: 1px solid #ccc; min-width: 130px; }

.page-contents_dllist table td.tar { text-align: right; padding-right: 10px; }

.page-template p { line-height: 2; }

.page-template p + * { margin-top: 1em; }

.top-mv img { width: 100%; }

@media screen and (max-width: 768px) { .top-mv { height: 60vh; }
  .top-mv * { height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; width: 100%; }
  .top-mv .slick-dots { height: auto; } }

.top-bnr_wide { background: #b80022; color: #ffffff; padding: 40px 0; font-size: 2.6rem; font-weight: bold; font-family: YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans','メイリオ', Meiryo,sans-serif; }

.top-bnr_wide .btn-round { margin-top: 30px; text-align: center; }

.top-bnr_wide .btn-round a { position: relative; width: 330px; }

.top-bnr_wide .btn-round a::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent #ffffff; top: calc(50% - 6px); right: 10px; }

.top-bnr_wideinner { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.top-bnr_circle { font-size: 4.2rem; color: #b80022; background: #ffffff; width: 117px; height: 117px; border-radius: 50%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-right: 30px; }

@media screen and (max-width: 768px) { .top-bnr_circle { width: 100px; height: 100px; font-size: 3rem; } }

@media screen and (max-width: 400px) { .top-bnr_circle { width: 50px; height: 50px; font-size: 18px; margin-right: 10px; } }

.top-bnr_icon { margin-left: 30px; }

.top-bnr_copy { text-align: center; font-size: 2.7rem; }

@media screen and (max-width: 768px) { .top-bnr_copy { font-size: 2.85714vw; } }

.top-bnr_subcopy { text-align: center; font-size: 5.4rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.top-bnr_subcopy span { display: inline-block; font-size: 0.48148em; margin-right: 20px; position: relative; }

.top-bnr_subcopy span::after { content: ''; display: block; border-top: 4px double #fff; width: 100%; height: 2px; top: 100%; left: 0; }

@media screen and (max-width: 768px) { .top-bnr_subcopy { font-size: 5.55556vw; } }

.top-bnr_bg { background: url(../img/top/bg_bnr.png); padding: 60px 0; }

@media screen and (max-width: 768px) { .top-bnr_bg { padding: 30px 0; } }

.top-bnr_list { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.top-bnr_list + * { margin-top: 95px; }

.top-bnr_list li { width: 470px; max-width: calc(50% - 10px); text-align: center; }

@media screen and (max-width: 768px) { .top-bnr_list { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
  .top-bnr_list + * { margin-top: 50px; }
  .top-bnr_list li { max-width: 100%; }
  .top-bnr_list li + * { margin-top: 20px; } }

.top-flower { margin-top: 145px; }

.top-flower + * { margin-top: 200px; }

@media screen and (max-width: 768px) { .top-flower { margin-top: 60px; }
  .top-flower + * { margin-top: 70px; } }

.top-flower_list { margin-right: -10px; margin-left: -10px; }

@media screen and (max-width: 1200px) { .top-flower_list { margin-right: -5px; margin-left: -5px; } }

.top-flower_list li { width: 20%; border: 10px solid transparent; position: relative; text-align: center; }

@media screen and (max-width: 768px) { .top-flower_list li { width: 33.3%; border-width: 5px; font-size: 1.4rem; } }

.top-flower_list figure { padding-top: 100%; overflow: hidden; position: relative; background: #d9d8d6; }

.top-flower_list figure img { position: absolute; height: 100%; width: auto; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

.top-flower_list a { display: block; }

.top-flower_list a:hover { opacity: 0.7; }

.top-flower_list a::before { content: ''; display: block; position: absolute; width: 100%; height: 100%; top: 0; left: 0; }

.top-flower .btn-round { margin-top: 50px; text-align: center; }

.top-message { background: url(../img/top/bg_message.jpg) no-repeat center/cover; padding: 250px 0 300px; text-align: center; }

@media screen and (max-width: 768px) { .top-message { padding: 100px 15px 150px; } }

.top-message_copy { font-size: 3.6rem; font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; font-weight: bold; }

.top-message_copy + * { margin-top: 64px; }

@media screen and (max-width: 768px) { .top-message_copy { font-size: 2.6rem; } }

.top-message_list { margin-top: 90px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.top-message_list li { margin: 0 10px; }

@media screen and (max-width: 768px) { .top-message_list li { margin: 0; }
  .top-message_list li + * { margin-top: 10px; } }

.top-message .btn-round a { min-width: 220px; }

.top-feature { padding-top: 150px; }

@media screen and (max-width: 768px) { .top-feature { padding-top: 70px; } }

.top-feature_box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }

.top-feature_box:nth-child(even) { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

.top-feature_box:nth-child(even) .top-feature_text { padding-left: 50px; padding-right: 12.5vw; }

@media screen and (max-width: 1200px) { .top-feature_box:nth-child(even) .top-feature_text { padding-right: 50px; } }

@media screen and (max-width: 768px) { .top-feature_box { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
  .top-feature_box:nth-child(even) { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
  .top-feature_box:nth-child(even) .top-feature_text { padding: 20px; } }

.top-feature_img { width: 56.25%; padding-top: 100px; }

.top-feature_img img { width: 100%; }

@media screen and (max-width: 768px) { .top-feature_img { width: 100%; padding-top: 0; } }

.top-feature_text { width: 46.875%; padding-top: 180px; background: #f8f7ee; padding-left: 12.5vw; padding-right: 50px; padding-bottom: 60px; }

@media screen and (max-width: 1200px) { .top-feature_text { padding-left: 50px; } }

@media screen and (max-width: 768px) { .top-feature_text { width: 100%; padding: 20px 20px 50px; } }

.top-feature_subttl { font-weight: bold; font-family: 'TsukuARdGothic-Regular','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','ＭＳ Ｐゴシック','MS PGothic',sans-serif; font-size: 3rem; letter-spacing: 0.03em; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.top-feature_subttl + * { margin-top: 50px; }

@media screen and (min-width: 1201px) { .top-feature_subttl { white-space: nowrap; } }

@media screen and (max-width: 1200px) { .top-feature_subttl { font-size: 2rem; }
  .top-feature_subttl + * { margin-top: 25px; } }

.top-feature_subttl img { display: block; width: 100px; margin-right: 20px; }

@media screen and (max-width: 768px) { .top-feature_subttl img { width: 70px; } }

.top-feature .btn-round { margin-top: 40px; }

@media screen and (max-width: 768px) { .top-feature .btn-round { text-align: center; margin-top: 20px; } }

.top-menu { padding: 90px 0 80px; }

.top-menu_list { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-right: -30px; margin-left: -30px; }

@media screen and (max-width: 768px) { .top-menu_list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-right: 0; margin-left: 0; } }

.top-menu_list li { margin: 0 30px; position: relative; width: calc(50% - 60px); max-width: 570px; }

@media screen and (max-width: 768px) { .top-menu_list li { width: 100%; margin-left: auto; margin-right: auto; }
  .top-menu_list li + * { margin-top: 20px; } }

.top-menu_list a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; border: 1px solid #dddddd; overflow: hidden; }

.top-menu_list a:hover img { -webkit-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); }

.top-menu_list .img { overflow: hidden; }

.top-menu_list .img img { -webkit-transition: -webkit-transform .5s ease-in-out; transition: -webkit-transform .5s ease-in-out; transition: transform .5s ease-in-out; transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out; }

.top-menu_list span { font-weight: bold; font-size: 2.4rem; color: #221815; text-align: center; width: 100%; padding: 10px 0; }

@media screen and (max-width: 768px) { .top-menu_list span { font-size: 1.8rem; } }

.about-index .page-contents { padding: 0 0 300px; }

@media screen and (max-width: 768px) { .about-index .page-contents { padding: 100px 0; } }

.about-index .page-contents_flexbox + * { margin-top: 160px; }

.about-index .page-contents_text { padding-top: 80px; }

@media screen and (max-width: 768px) { .about-index .page-contents_text { padding-top: 0; } }

.about-concept .page-message { padding: 130px 0 440px; background: url(../img/common/bg_message.png) no-repeat bottom center/100% auto; }

@media screen and (max-width: 768px) { .about-concept .page-message { padding: 60px 0 150px; } }

.about-concept .page-contents { padding: 200px 0; }

@media screen and (max-width: 768px) { .about-concept .page-contents { padding: 100px 0; } }

.about-farm_ttlsec .page-contents_text { padding-top: 100px; width: 450px; }

@media screen and (max-width: 768px) { .about-farm_ttlsec .page-contents_text { padding-top: 0; width: 90%; } }

.about-farm_ttlsec .page-contents_img.wide { width: 56.25vw; }

@media screen and (max-width: 768px) { .about-farm_ttlsec .page-contents_img.wide { width: 95%; } }

@media screen and (min-width: 769px) { .about-farm_ttl { white-space: nowrap; } }

@media screen and (max-width: 768px) { .about-farm .reverse .page-contents_text.text_bg::after { top: -100px; height: calc(100% + 125px); width: calc(100% + 25px); } }

.about-farm-point .page-contents_text { width: 55.83333%; }

@media screen and (max-width: 768px) { .about-farm-point .page-contents_text { width: 100%; } }

.about-farm-point .page-contents_img { margin-right: 60px; max-width: 460px; }

@media screen and (max-width: 768px) { .about-farm-point .page-contents_img { width: 100%; } }

.about-farm-guide .page-contents_text { width: 38.33333%; }

@media screen and (max-width: 768px) { .about-farm-guide .page-contents_text { width: 100%; } }

.about-farm-guide .page-contents_imglist li { width: 50%; }

.about-farm-guide .page-contents_img { width: 56.66667%; }

@media screen and (max-width: 768px) { .about-farm-guide .page-contents_img { width: 100%; } }

.about-farm-tech .page-contents_text { width: 55.83333%; }

@media screen and (max-width: 768px) { .about-farm-tech .page-contents_text { width: 100%; } }

.about-farm-tech .page-contents_img { margin-right: 60px; max-width: 460px; }

@media screen and (max-width: 768px) { .about-farm-tech .page-contents_img { width: 100%; } }

@media screen and (max-width: 768px) { .about-farm-guide .page-contents_text, .about-farm-point .page-contents_text, .about-farm-tech .page-contents_text { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }
  .about-farm-guide .page-contents_text p, .about-farm-point .page-contents_text p, .about-farm-tech .page-contents_text p { margin-top: 20px; }
  .about-farm-guide .page-contents_imglist, .about-farm-point .page-contents_imglist, .about-farm-tech .page-contents_imglist { margin-top: 0px; } }

.lineup-sec { margin-top: 120px; }

.lineup-sec .page-contents_subttl { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

.lineup-product { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 768px) { .lineup-product { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

.lineup-product_largeimg { width: 380px; max-width: 100%; }

.lineup-product_left { width: calc(100% - 410px); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 768px) { .lineup-product_left { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; width: 100%; } }

.lineup-product_text { width: 100%; }

.lineup-product_text.narrow { max-width: 775px; margin-right: auto; margin-left: auto; }

.lineup-product_imglist { display: -webkit-box; display: -ms-flexbox; display: flex; margin-right: -5px; margin-left: -5px; }

.lineup-product_imglist.item3 { margin-right: -15px; margin-left: -15px; margin-top: 34px; }

@media screen and (max-width: 768px) { .lineup-product_imglist { margin-top: 20px; }
  .lineup-product_imglist.item3 { margin-right: -5px; margin-left: -5px; } }

.lineup-product_imgitem { width: 25%; border: 5px  solid transparent; }

.item3 .lineup-product_imgitem { width: 33.3%; border-width: 15px; }

.item3 .lineup-product_imgitem img { width: 100%; }

@media screen and (max-width: 768px) { .item3 .lineup-product_imgitem { border-width: 5px; } }

.deliver-list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 768px) { .deliver-list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.deliver-list li { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; padding: 30px; border: 1px solid #cccccc; border-radius: 10px; width: calc(25% - 24px); }

@media screen and (max-width: 768px) { .deliver-list li { width: 100%; }
  .deliver-list li + * { margin-top: 20px; } }

.deliver-list li .ttl { text-align: center; font-size: 2rem; color: #c50025; font-weight: bold; }

.deliver-list li .ttl + * { margin-top: 20px; }

.deliver-list_icon { text-align: center; margin: 35px auto; }

.deliver-figlist { position: relative; }

.deliver-secbg { padding-bottom: 120px; background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(30%, #fff), color-stop(30%, #f8f7ee), color-stop(50%, #f8f7ee)); background: linear-gradient(to bottom, #fff 0%, #fff 30%, #f8f7ee 30%, #f8f7ee 50%); }

@media screen and (max-width: 768px) { .deliver-secbg { background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(15%, #fff), color-stop(15%, #f8f7ee), color-stop(50%, #f8f7ee)); background: linear-gradient(to bottom, #fff 0%, #fff 15%, #f8f7ee 15%, #f8f7ee 50%); } }

.faq-list + * { margin-top: 100px; }

@media screen and (max-width: 768px) { .faq-list + * { margin-top: 60px; } }

.faq-list_item { border-bottom: 1px solid #d5d5d5; }

.faq-list dt, .faq-list dd { position: relative; padding: 16px 0; padding-left: 90px; padding-right: 40px; }

@media screen and (max-width: 768px) { .faq-list dt, .faq-list dd { padding-left: 45px; } }

.faq-list dt::before, .faq-list dd::before { content: 'Q'; width: 45px; height: 45px; position: absolute; color: #ffffff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; border-radius: 50%; background: #b80022; left: 16px; font-size: re(22); top: 10px; }

@media screen and (max-width: 768px) { .faq-list dt::before, .faq-list dd::before { width: 35px; height: 35px; font-size: 1.8rem; top: 20px; left: 0; } }

.faq-list dt { position: relative; font-size: 2rem; font-weight: bold; cursor: pointer; }

@media screen and (max-width: 768px) { .faq-list dt { font-size: 1.8rem; } }

.faq-list dt span::before, .faq-list dt span::after { -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; content: ''; width: 20px; height: 2px; background: #221815; display: block; position: absolute; top: 50%; right: 15px; }

.faq-list dt span::before { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); }

.faq-list dt.is-open span::before { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); }

.faq-list dt.is-open span::after { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); opacity: 0; }

.faq-list dd { line-height: 2; }

.faq-list dd::before { content: 'A'; background: #64b36a; }

div.left_column form table dl.type3 { margin-bottom: 20px; }

div.left_column form table dl.type3 dd input, div.left_column form table dl.type3 dd textarea { width: 100%; resize: vertical; }

table a { color: #990000; font-size: .8em; border-bottom: 1px solid #990000; }

.fs-sm { font-size: 0.85em; }

.txtRed { color: #990000; }

.underline { text-decoration: underline; }

.mt40 { margin-top: 40px !important; }

form#mailformpro label { white-space: pre-wrap; }

@media screen and (max-width: 768px) { form table tr { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  form table tr th { width: 100% !important; }
  form table tr td { width: 100%; }
  div.left_column form table tr th { text-align: left; }
  div.left_column form table select.w360 { max-width: 100%; width: 100% !important; }
  div.left_column form table dl.type1 dd { margin-left: 0; }
  div.left_column form table select { height: 45px; }
  div.left_column form table { width: 100%; max-width: 100%; }
  div.left_column form table tr td { width: 100%; }
  div.left_column form table.sendto textarea { width: 100%; }
  div.left_column form table.sendto input[type=text] { width: 100%; } }

form#mailformpro label.mfp_not_checked { padding: 3px 6px; padding-left: 20px; position: relative; }

form#mailformpro label.mfp_not_checked::before { content: ''; border: 1px solid #ccc; width: 16px; height: 16px; position: absolute; display: block; background: #ffffff; top: 10px; left: 3px; border-radius: 50%; }

form#mailformpro label.mfp_not_checked input[type="radio"], form#mailformpro label.mfp_not_checked input[type="checkbox"] { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(1px, 1px, 1px, 1px); }

form#mailformpro .checkbox label.mfp_not_checked::before { border-radius: 0; }

form#mailformpro label.mfp_checked { padding: 4px 10px; padding-left: 20px; border: solid 2px #b80022; background-color: #fee; -webkit-box-shadow: none !important; box-shadow: none !important; position: relative; }

form#mailformpro label.mfp_checked::before { content: ''; border: 1px solid #ccc; width: 16px; height: 16px; position: absolute; display: block; background: #ffffff; border-radius: 50%; top: 10px; left: 3px; border-radius: 50%; }

form#mailformpro label.mfp_checked::after { content: ''; display: block; position: absolute; width: 10px; height: 10px; background: #b80022; border-radius: 50%; top: 13px; left: 6px; }

form#mailformpro label.mfp_checked input[type="radio"], form#mailformpro label.mfp_checked input[type="checkbox"] { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(1px, 1px, 1px, 1px); }

form#mailformpro .checkbox label.mfp_checked::before, form#mailformpro .checkbox label.mfp_checked::after { border-radius: 0; }

form#mailformpro .checkbox label.mfp_checked::after { background: none; background: url(../img/common/icon_check.svg) no-repeat center/contain; }

.total-price { border: 2px solid #b80022; display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 40px; margin-bottom: 60px; }

.total-price > dt { background: #b80022; color: #ffffff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 200px; height: 200px; font-weight: bold; font-size: 20px; position: relative; }

.total-price > dt::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-style: solid; border-width: 100px 0 100px 20px; border-color: transparent transparent transparent #b80022; left: 100%; top: 0; }

.total-price dd { background: #ffffff; width: calc(100% - 200px); padding: 10px; padding-left: 50px; }

.total-price .type2 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-weight: bold; }

.total-price .type2 dt { width: 30%; }

.total-price .goukei-wrap { font-weight: bold; font-size: 18px; color: #b80022; }

@media screen and (max-width: 768px) { .total-price { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .total-price dd { width: 100%; }
  .total-price > dt { height: auto; padding: 10px 0; }
  .total-price > dt::after { content: none; }
  form#mailformpro dl.total-price .goukei-wrap dt, form#mailformpro dl.total-price .goukei-wrap dd { font-size: 16px; }
  form#mailformpro .total-price .type2 dt { width: 60%; }
  .total-price .type2 dd { width: 40%; } }

.page-contents_bgsecttl + * { margin-top: 20px; }

.order-message + * { margin-top: 50px; }

.page-contents h3:not([class]) + * { margin-top: 15px; }

.download-sec + * { margin-top: 60px; }

.download-buttons + * { margin-top: 80px; }

.download-buttons_list { width: 1050px; max-width: 100%; margin-right: auto; margin-left: auto; -ms-flex-wrap: wrap; flex-wrap: wrap; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 768px) { .download-buttons_list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.download-buttons_list li { width: 320px; max-width: calc(33.3% - 10px); }

@media screen and (max-width: 768px) { .download-buttons_list li { max-width: 100%; }
  .download-buttons_list li + * { margin-top: 10px; } }

.download-buttons_list a { display: block; border: 1px solid #999999; padding: 20px; padding-right: 0; color: #333333; position: relative; }

@media screen and (max-width: 1200px) { .download-buttons_list a { padding-left: 10px; } }

.download-buttons_list a::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #b9001c; right: 20px; top: calc(50% - 10px); }

@media screen and (max-width: 1200px) { .download-buttons_list a::after { right: 10px; } }

.download-buttons_list a:hover { color: #b9001c; }

.download-list { margin-top: 30px; }

@media screen and (max-width: 768px) { .download-list { margin-right: -5px; }
  .download-list.page-contents_figlist.col_4 { margin-left: -5px; } }

.download-list .page-contents_figlist_item { text-align: center; }

.download-list .page-contents_figlist_item img { width: 100%; }

.download-list .page-contents_figlist_item figcaption .fz-small { margin-top: 5px; }

@media screen and (max-width: 768px) { .download-list .page-contents_figlist_item { border-width: 5px; }
  .download-list .page-contents_figlist_item figcaption { font-size: 1.5rem; }
  .download-list .page-contents_figlist_item:nth-child(n+3) { margin-top: 20px; } }

.download-list .btn-round a { padding: 14px 0; min-width: 240px; line-height: 1; }

@media screen and (max-width: 768px) { .download-list .btn-round a { min-width: 100%; font-size: 1.2rem; } }

.order .page-contents_bgsecttl { font-size: 2.3rem; }

.order-lead_box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 768px) { .order-lead_box { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.order-lead_img { width: 550px; max-width: calc(45.83333%); }

@media screen and (max-width: 768px) { .order-lead_img { max-width: 100%; } }

.order-lead_text { width: 600px; max-width: calc(50% - 10px); }

@media screen and (max-width: 768px) { .order-lead_text { margin-top: 40px; max-width: 100%; } }

.order-lead_list + * { margin-top: 45px; }

@media screen and (max-width: 768px) { .order-lead_list + * { margin-top: 20px; } }

.order-lead_list li { position: relative; border-bottom: 1px dashed #b12523; font-size: 1.8rem; font-weight: bold; padding: 15px 0 15px 40px; }

@media screen and (max-width: 768px) { .order-lead_list li { font-size: 1.6rem; padding-left: 30px; } }

.order-lead_list li::before { content: ''; display: block; position: absolute; width: 23px; height: 23px; background: url(../img/common/icon_check.svg) no-repeat center/contain; top: 20px; left: 0; }

.order-check { padding-bottom: 0; padding-top: 0; }

.order-check_list { width: 695px; max-width: 100%; margin-right: auto; margin-left: auto; margin-top: 40px; }

.order-check_list + * { margin-top: 40px; }

.order-check_list li { position: relative; font-size: 2rem; font-weight: bold; padding-left: 40px; }

.order-check_list li + * { margin-top: 12px; }

@media screen and (max-width: 768px) { .order-check_list li { font-size: 1.7rem; } }

.order-check_list li::before { content: ''; display: block; position: absolute; width: 23px; height: 27px; background: url(../img/common/icon_checkbox.svg) no-repeat center/contain; bottom: 0; left: 0; }

@media screen and (max-width: 768px) { .order-check_list li::before { bottom: auto; top: 5px; } }

.order-check_message { text-align: center; font-weight: bold; font-size: 2.3rem; color: #b12523; }

@media screen and (max-width: 768px) { .order-check_message { font-size: 1.8rem; } }

.order-flow_message { text-align: center; font-size: 1.8rem; line-height: 1.66667; }

@media screen and (max-width: 768px) { .order-flow_message { font-size: 1.6rem; } }

.order-flow_img { width: 900px; max-width: 100%; margin-right: auto; margin-left: auto; margin-top: 45px; }

.order-flow_img + * { margin-top: 30px; }

.order-flow_list { width: 900px; max-width: 100%; margin-right: auto; margin-left: auto; padding-left: 40px; counter-reset: step; }

@media screen and (max-width: 768px) { .order-flow_list { padding-left: 20px; } }

.order-flow_list li { position: relative; border: 3px solid #f7f4ec; }

.order-flow_list li + * { margin-top: 40px; }

.order-flow_list li:not(:last-child)::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-style: solid; border-width: 25px 45px 0 45px; border-color: #dad1ad transparent transparent transparent; top: calc(100% + 3px); left: calc(50% - 60px); }

@media screen and (max-width: 768px) { .order-flow_list li:not(:last-child)::after { left: calc(50% - 40px); } }

.order-flow_list li .rep { display: inline-block; color: #ffffff; background: #b12523; min-width: 140px; font-size: 1.8rem; padding-left: 15px; margin-right: 25px; }

@media screen and (max-width: 768px) { .order-flow_list li .rep { font-size: 1.4rem; min-width: 120px; } }

.order-flow_list li .rep.customer { background: #4e8fb8; }

.order-flow_list li .flow-title { font-weight: bold; font-size: 2.3rem; margin-top: 0; }

@media screen and (max-width: 768px) { .order-flow_list li .flow-title { font-size: 2rem; } }

.order-flow_list li.purchaseorder { border-color: #b12523; color: #b12523; padding: 15px 0; }

.order-flow_list li.orderdelivery { padding: 15px 0; background: #d7ceac; border-color: #d7ceac; }

.order-flow_list li.count { counter-increment: step; padding: 30px 70px; }

.order-flow_list li.count .flow-title { display: inline-block; }

@media screen and (max-width: 768px) { .order-flow_list li.count .flow-title { display: block; } }

@media screen and (max-width: 768px) { .order-flow_list li.count { padding: 20px 40px; } }

.order-flow_list li.count::before { content: counter(step); position: absolute; width: 80px; height: 80px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background: #dad1ad; border-radius: 50%; color: #ffffff; font-size: 3.6rem; font-weight: 500; top: 20px; left: -40px; }

@media screen and (max-width: 768px) { .order-flow_list li.count::before { width: 60px; height: 60px; font-size: 2.8rem; left: -30px; } }

.order-flow_point { color: #b12523; font-size: 2.3rem; font-weight: bold; border-top: 1px solid #b12523; border-bottom: 1px solid #b12523; padding: 20px 0; margin-top: 85px; width: 900px; margin-right: auto; margin-left: auto; max-width: 100%; padding-left: 235px; position: relative; }

@media screen and (max-width: 768px) { .order-flow_point { padding: 10px 15px; padding-top: 70px; font-size: 1.8rem; } }

.order-flow_point .point-title { background: #b12523; color: #ffffff; font-size: 2.1rem; width: 165px; height: 165px; border-radius: 50%; text-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: absolute; top: 50%; left: 20px; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.order-flow_point .point-title + * { margin-top: 0; }

@media screen and (max-width: 768px) { .order-flow_point .point-title { font-size: 1.8rem; height: 120px; width: 120px; top: 0; left: 0; } }

.order-voice_list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -20px; margin-right: -20px; }

@media screen and (max-width: 768px) { .order-voice_list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-right: 0; margin-left: 0; } }

.order-voice_list li { width: 50%; border: 20px solid transparent; }

@media screen and (max-width: 768px) { .order-voice_list li { border-width: 0; width: 100%; }
  .order-voice_list li + * { margin-top: 30px; } }

.order-voice_box { display: -webkit-box; display: -ms-flexbox; display: flex; border: 3px solid #f7f4ec; padding: 25px; height: 100%; }

@media screen and (max-width: 768px) { .order-voice_box { padding: 15px; } }

.order-voice_img { -ms-flex-preferred-size: 140px; flex-basis: 140px; margin-right: 25px; }

@media screen and (max-width: 768px) { .order-voice_img { -ms-flex-preferred-size: 100px; flex-basis: 100px; margin-right: 20px; } }

.order-voice_text { width: calc(100% - 165px); }

@media screen and (max-width: 768px) { .order-voice_text { width: calc(100% - 120px); } }

.order-voice_text p { line-height: 1.75; }

.order-voice_text .name { font-weight: bold; }

.order-form { padding-top: 0; }

.order-flowregister { padding-top: 0; }

.contact-tel { font-size: 3rem; font-weight: bold; }

.contact-tel .fz-small { font-weight: normal; font-size: 1.6rem; display: block; }

@media screen and (max-width: 768px) { .contact-tel .fz-small { font-size: 1.2rem; } }

.contact-contents { padding-top: 0; }

.contact_inner { width: 900px; }

.contact-form .sendto { width: 100%; }

.contact-form .sendto th { width: 30%; text-align: left; font-size: 1.8rem; font-weight: bold; padding: 4px 0; }

.contact-form .sendto th .req { margin-left: 10px; color: #cc0000; }

.contact-form .sendto td { width: 70%; padding: 4px 0; }

.contact-form .sendto td .small { display: block; }

@media screen and (max-width: 768px) { .contact-form .sendto tr { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .contact-form .sendto th, .contact-form .sendto td { width: 100%; }
  .contact-form .sendto th { font-size: 1.6rem; } }

.contact-form .mfp_element_text, .contact-form .mfp_element_number, .contact-form .mfp_element_select-one, .contact-form .mfp_element_email, .contact-form .mfp_element_tel, .contact-form .mfp_element_textarea, .contact-form .mfp_element_date { width: 100% !important; height: 50px; font-size: 1.6rem !important; -webkit-box-shadow: none !important; box-shadow: none !important; }

.contact-form .mfp_element_submit { cursor: pointer; margin-right: auto; margin-left: auto; display: block; margin-top: 65px; }

.contact-form textarea { min-height: 200px; }

/*
3.3 - utility
-----------------------------------------------------*/
.u-visibilityHidden { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(1px, 1px, 1px, 1px); }

.sp-db { display: none; }

@media screen and (max-width: 768px) { .sp-db { display: block; } }

@media screen and (max-width: 768px) { .pc-db { display: none; } }

@media screen and (max-width: 768px) { .pc-dib { display: none; } }

.tab-db { display: none; }

@media screen and (max-width: 1200px) { .tab-db { display: block; } }

.u-tal { text-align: left; }

.u-tac { text-align: center; }

.u-fwlight { font-weight: 300; }

.u-mt10 { margin-top: 1rem; }

.u-mt20 { margin-top: 2rem; }

.u-mt30 { margin-top: 3rem; }

.u-mt40 { margin-top: 4rem; }

.u-mt50 { margin-top: 5rem; }

.u-mt60 { margin-top: 6rem; }

.u-mt70 { margin-top: 7rem; }

.u-mt80 { margin-top: 8rem; }

.u-mt90 { margin-top: 9rem; }

.u-mt100 { margin-top: 10rem; }
