@charset "UTF-8";



/********************************************************************

基本設定・イニシャライズ

*********************************************************************/

* { margin: 0; padding: 0; box-sizing: border-box;}

html { height: 100%; font-size: 62.5%;}
html, body { height: 100%;}

body { margin: 0; padding: 0; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-weight: 500; font-size: 1.4rem; line-height: 1.8em; font-feature-settings: "palt";}

a:link { color: #333; text-decoration: none;}
a:visited { color: #333;}
a:hover { color: #6d5115;}
a:active { color: #333;}

/* アンダーラインアニメーション */
a.under_line { display: inline-block; position: relative; text-decoration: none;}
a.under_line::after { position: absolute; content: ''; bottom: 0; left: 0; width: 0; height: 1px; background: #6d5115; transition: all 0.3s ease 0s;}
a.under_line:hover { color: #6d5115; cursor: pointer;}
a.under_line:hover::after { width: 100%;}


@media (min-width: 1200px) {
  .container { width: 1170px !important;}
}

img.img-responsive { width: 100% !important; height: auto !important;}


/********************************************************************

見出し・テキスト

*********************************************************************/

/* 見出し */
h2 { font-size: 6.0rem; font-family: 'Crimson Text', serif; color: #645d23; line-height: 1.2em; margin: 0 0 60px 0; padding: 0;}
h3 { font-size: 3.0rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #645d23; line-height: 1.6em; margin: 0 0 10px 0; padding: 0;}
h4 { font-size: 2.0rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #645d23; line-height: 1.6em; margin: 0 0 10px 0; padding: 0;}

/* 段落 */
p.catch { font-size: 1.6rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; line-height: 3.0em; letter-spacing: 0.04em;}

@media screen and (max-width: 767px) {
 body { font-size: 3.4vw;}
 h2 { font-size: 10vw; margin: 0 0 30px 0;}
 h3 { font-size: 5.4vw;}
 h4 { font-size: 4.8vw;}
 p.catch { font-size: 3.6vw; line-height: 2.0em; letter-spacing: 0.04em;}
}



/********************************************************************

クリアランス・表示切り替え

*********************************************************************/

/* PCスマホ要素切り替え */
.pc_parts { display: block;}
.smp_parts { display: none;}

/* smp版改行 */
br.smp_break { display: none !important; width: 0 !important; height: 0 !important; visibility: hidden !important; content: ""; font-size:0;}

@media screen and (max-width: 767px) {
.pc_parts { display: none;}
.smp_parts { display: block;}
 br.smp_break { display: block !important;}	
}

/* pc版クリアランス */
.cl_pc200 { margin-bottom: 200px !important;}
.cl_pc160 { margin-bottom: 160px !important;}
.cl_pc120 { margin-bottom: 120px !important;}
.cl_pc100 { margin-bottom: 100px !important;}
.cl_pc80 { margin-bottom: 80px !important;}
.cl_pc70 { margin-bottom: 70px !important;}
.cl_pc50 { margin-bottom: 50px !important;}
.cl_pc30 { margin-bottom: 30px !important;}

@media screen and (max-width: 767px) {
 .cl_pc200 { margin-bottom: 100px !important;}
 .cl_pc160 { margin-bottom: 80px !important;}
.cl_pc120 { margin-bottom: 60px !important;}
 .cl_pc100 { margin-bottom: 50px !important;}
.cl_pc80 { margin-bottom: 40px !important;}
 .cl_pc70 { margin-bottom: 35px !important;}
.cl_pc50 { margin-bottom: 25px !important;}
.cl_pc30 { margin-bottom: 15px !important;}
}

/* smp版クリアランス */
.cl_sm20 { margin-bottom: 0 !important;}
.cl_sm40 { margin-bottom: 0 !important;}

@media screen and (max-width: 767px) {
.cl_sm20 { margin-bottom: 20px !important;}	
.cl_sm40 { margin-bottom: 40px !important;}
 .cl_sm60 { margin-bottom: 60px !important;}
}

/* h2タイトル下のキャッチがない場合のクリアランス */
.cl_no_catch { margin-bottom: 100px;}

@media screen and (max-width: 767px) {
 .cl_no_catch { margin-bottom: 0;}
}



/********************************************************************

共通パーツ

*********************************************************************/

/* 共通クリアランス */
.cl_10 { margin-bottom: 10px !important;}
.cl_30 { margin-bottom: 30px !important;}
.cl_50 { margin-bottom: 50px !important;}
.cl_100 { margin-bottom: 100px !important;}


/* ページ先頭に戻るボタン */
#btnTop { display: table; width: 40px; height: 40px; background-color: rgba(62,23,41,0.8); text-align: center; color: #fff; position: fixed; bottom: -50px; right: 0; z-index: 6; -webkit-transition:1.0s ease-in-out; transition:1.0s ease-in-out;
}
a#btnTop:link { text-decoration: none;}
a#btnTop:hover { background-color: rgba(62,23,41,1.0);}
#btnTop i { display: table-cell; vertical-align: middle; font-size: 2.2rem;}
#btnTop.disp { bottom: 0; z-index: 7;}

/* 基本ボタン */
.btn_wrapper { width: 100%; position: relative;}
a.common_btn { display: inline-block; font-size: 1.4rem; line-height: 1em; color: #fff; text-align: center; padding: 16px 30px; background: #3e1729; position: absolute; top: 0; right: 0;}

@media screen and (max-width: 767px) {
 .btn_wrapper { width: 80%; margin-left: auto; margin-right: auto;}
 a.common_btn { width: 100%;}
}

/* ボタンホバーアニメーション */
a.common_btn::before,
a.common_btn::after { position: absolute; content: ""; width: 0; height: 0; border: 2px solid transparent; box-sizing: content-box;}
a.common_btn::before { top: -2px; left: -2px;}
a.common_btn::after { bottom: -2px; right: -2px;}
a.common_btn:hover { color: #3e1729; background: #fff;}
a.common_btn:hover::before,
a.common_btn:hover::after { width: 100%; height: 100%;}
a.common_btn:hover::before { border-bottom-color: #3e1729; border-left-color: #3e1729; transition: height .3s, width .3s .3s;}
a.common_btn:hover::after { border-top-color: #3e1729; border-right-color: #3e1729; transition: height .3s, width .3s .3s;}

/* 外部リンク */
a.external_link { display: block;}
a.external_link:after { font-family: fontawesome; content: "\f08e"; font-size: 1.2rem; margin-left: 6px;}

/* 定義リスト */
dl.common_dl_list { display: flex; flex-wrap: wrap;}
dl.common_dl_list dt { font-weight: normal; width: 16%; padding: 12px 0; border-top: 1px dotted #e4dcca;}
dl.common_dl_list dd { width: 84%; padding: 12px 0; border-top: 1px dotted #e4dcca;}

dl.common_dl_list ul { margin: 0 0 0 24px; padding: 0; list-style-type: decimal; line-height: 1.6em;}

dl.common_dl_list ol { margin: 0; padding: 0; line-height: 1.6em;}

@media screen and (max-width: 767px) {
 dl.common_dl_list dt, dl.common_dl_list dd { width: 100%; border-bottom: none;}
 dl.common_dl_list dt { text-align: center; padding: 6px 0; background: #f6f5f1;}
 dl.common_dl_list dd { padding: 12px 0 24px 0;}
}

/* 一覧リスト */
ul.news_list { margin-bottom: 60px;}
ul.news_list li { padding: 12px 0; border-bottom: 1px dotted #e4dcca;}
ul.news_list li span.news_date { display: inline-block; font-size: 1.2rem; line-height: 1.0em; color: #fff; margin-right: 14px; padding: 4px; background: #3e1729;}

@media screen and (max-width: 767px) {
 ul.news_list li span.news_date { font-size: 3.2vw; margin-right: 0;}
 /* ul.news_list li a::before { content: "\A"; white-space: pre;} */
}

/* スマホ電話ボタン */
a.smp_tel_btn { display: none;}
a.smp_tel_btn:link { color: #fff;}
a.smp_tel_btn:visited { color: #fff;}
a.smp_tel_btn:hover { color: #fff;}
a.smp_tel_btn:active { color: #fff;}

@media screen and (max-width: 767px) {
a.smp_tel_btn { display: block; width: 100%; height: 40px; padding-top: 14px; font-size: 1.2rem; line-height: 1.0em; color: #fff; text-align: center; background: #c6a45a; position: fixed; bottom: -40px; z-index: 6; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; -ms-transition: all 0.4s ease-out; transition: all 0.4s ease-out;}
 a.smp_tel_btn.disp { bottom: 0;}
}

/* PC電話ボタン */
.pc_tel_btn { width: 40px; height: 150px; background: #c6a45a; position: fixed; right: 0; top: 30%; z-index: 4; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; -ms-transition: all 0.4s ease-out; transition: all 0.4s ease-out; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl;}

.pc_tel_btn:after { content: "お電話で問い合わせ"; font-size: 1.4rem; line-height: 1.0em; color: #fff; position: absolute; top: 12px; left: 12px;}

.pc_tel_btn.hover_class { padding-top: 80px; width: 80px; height: 200px;  background-image: url("../images/qr.svg"); background-repeat: no-repeat; background-size: 60px; background-position: center 8px;}

.pc_tel_btn.hover_class:after { content: "スマホで読み取り"; top: 80px; left: 32px;}

@media screen and (max-width: 767px) {
 .pc_tel_btn { display: none;}
}




/********************************************************************

ローディングアニメーション

*********************************************************************/

.cover { width: 100%; height: 100%; background: linear-gradient(-45deg, #3e1729, #6d5115, #2a271f) fixed; background-size: 400% 400%; animation: GradietionAnimation 4s ease; position: absolute; top: 0; left: 0; z-index: 5;}

@keyframes GradietionAnimation { 
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

.logo_wrapper { width: 30%; height: 0; padding-top: calc(183 / 522 * 100%); position: absolute; margin: auto; top: 0; bottom: 0; left: 0; right: 0; z-index: 6;}
.logo_wrapper svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.mask_line { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 10px;}

@media screen and (max-width: 767px) {
 .cover { background-size: 600% 600%;}
 .logo_wrapper { width: 60%;}
}



/********************************************************************

ヘッダー・ドロアメニュー

*********************************************************************/

#contents_wrapper { margin: 0; padding: 0; transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);}
#navTgl:checked ~ #contents_wrapper { transform: translateX(-250px);}

label.open, label.close { display: none;}

@media screen and (max-width: 767px) {
 label.open, label.close { display: block;}
}

#navTgl { display: none;}
label { cursor: pointer; position: fixed; top: 0; right: 0; z-index: 4 !important;}
.open { z-index: 20; width: 64px; height: 64px; background: #6d5115; transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);}

.open::before,.open::after { content: "";}
.open span, .open::before, .open::after { content: ""; position: absolute; top: calc(50% - 1px); left: 30%; width: 40%; border-bottom: 1px solid #fff; transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);}

.open::before { transform: translateY(-8px);}
.open::after { transform: translateY(8px);}

.close { z-index: 1; width: 100%; height: 100%; pointer-events: none; transition: background .2s;}

#navTgl:checked + .open { transform: translateX(-250px);}
#navTgl:checked + .open span {transform: scaleX(0);}
#navTgl:checked + .open::before { transform: rotate(45deg);}
#navTgl:checked + .open::after {transform: rotate(-45deg);}
#navTgl:checked ~ .close { pointer-events: auto;}

/* ドロアメニュー */
.menu { z-index: 22; position: fixed; overflow: auto; top: 0; right: 0; width: 250px; height: 100%; margin: 0; padding: 10px; background: #6d5115; transform: translateX(100%); transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);}

.menu a { color: #fff;}
.menu ul li { line-height: 1.6em;}
.menu ul li:not(:first-child) { border-top: 1px solid rgba(255,255,255,0.2);}
.menu ul li a { display: block; font-size: 1.4rem; padding: 0.6em 1em;}
.menu ul li a span { margin-left: 6px; font-size: 1.0rem;}

.menu ul li ul li { font-size: 1.2rem; border: none !important;}
.menu ul li ul li a { display: block; padding: 0.2em 0em 1.0em 2em;}


#navTgl:checked ~ .menu { transform: none;}

/* ヘッダー */
header { width: 100%; height: 140px; position: relative; z-index: 3;}
header h1 { width: 200px; height: 88px; margin: 0; padding: 0; position: absolute; top: 30px;}
header h1 img { width: 100%; height: auto;}
header h1.small { width: 160px; height: 70px;}

header ul { margin: 0; padding: 0; list-style-type: none; position: absolute; top: 50px; right: 0;}
header ul li { display: inline-block; width: 90px; font-size: 1.2rem; color: #fff; text-align: center; position: relative;}
header ul li span { font-size: 14px; font-family: 'Crimson Text', serif; position: absolute; top: -16px; left: 0; right: 0;}
header ul li:last-child { color: #fff; width: 120px; margin-left: 20px; padding: 4px 0; background: #6d5115; top: -8px;}

header ul li a { -webkit-transition: all 0.6s ease-out; -moz-transition: all 0.6s ease-out; -ms-transition: all 0.6s ease-out; transition: all 0.6s ease-out;}
header ul li a:link { color: #6d5115;}
header ul li a:visited { color: #6d5115;}
header ul li a:hover { color: #af852a;}
header ul li a:active { color: #6d5115;}

header ul li:last-child a:link { color: #fff;}
header ul li:last-child a:visited { color: #fff;}
header ul li:last-child a:hover { color: #fff;}
header ul li:last-child a:active { color: #fff;}
header ul li:last-child:hover { background: #af852a;}

@media screen and (max-width: 767px) {
 header { height: 100px; position: absolute;}
 header h1 { top: 20px;}
	header ul { display: none;}
}

/* フッター */
footer { border-top: 8px solid #6d5115;}
footer .contact_wrapper { background-color: #f6f5f1; background-image: url("../images/logo_bg.png"); background-repeat: no-repeat; background-position: 90% center; padding: 60px 0 100px 0;}
footer .foot_smp_image { width: 100%;}

footer .ci_wrapper { background: #6d5115; padding: 40px 0; position: relative;}
footer .ci_wrapper h2 { margin-bottom: 10px;}
footer .ci_wrapper p.foot_copyright { font-size: 1.2rem; line-height: 1em; color: #fff; margin: 0; padding: 0;}

footer .ci_wrapper a { display: inline-block; position: absolute; right: 0; top: 0;}

/* インスタツールチップ */
footer .ci_wrapper .tool_chip { font-size: 1.2rem; color: #fff; text-align: center; white-space: nowrap; padding: 12px; background: rgba(62,23,41,0.8); position: absolute; top: -100px; right: -77px; z-index: 7; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; -ms-transition: all 0.4s ease-out; transition: all 0.4s ease-out; opacity: 0;}

footer .ci_wrapper .tool_chip:after { content: ""; width: 0; height: 0; border-style: solid; border-width: 10px 8px 0 8px; border-color: #3e1729 transparent transparent transparent; position: absolute; bottom: -8px; left: 46%;}

footer .ci_wrapper .tool_chip.hover_disp { opacity: 1.0; top: -90px;}

@media screen and (max-width: 767px) {
 footer .contact_wrapper { background-size: 60% auto; background-position: 90% 44%;}
 footer .foot_smp_image { width: 60% !important; margin: 0 auto 40px auto;}
 footer .ci_wrapper h2 img { width: 34%; height: auto;}
 footer .ci_wrapper { padding: 30px 0 60px 0; text-align: center;}
 footer .ci_wrapper p.foot_copyright { font-size: 3.0vw; text-align: center;}
 footer .ci_wrapper a { position: relative; margin-top: 20px;}
}


/********************************************************************

トップページ

*********************************************************************/

/* スライド */
.slide_wrapper { width: 100%; margin-top: 50px; position: relative;}
.slide_wrapper h2 { font-size: 8.0rem; font-family: 'Crimson Text', serif; color: #645d23; line-height: 1.2em; margin: 180px 0 0 0; padding: 0; position: relative; z-index: 4;}
.slide_wrapper h3 { font-size: 3.0rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #645d23; line-height: 1.6em; margin: 30px 0 10px 0; padding: 0;}

.slide_wrapper .slider { width: 56%; padding-top: 34.086%; position: absolute; top: 0; right: 0; overflow: hidden;}

.slide_bg { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; background-size: cover; animation: slide_anime 28s infinite;}
.slide_bg01 { background-image : url(../images/top_slide01.jpg);}
.slide_bg02 { background-image : url(../images/top_slide02.jpg); animation-delay: 7s;}
.slide_bg03 { background-image : url(../images/top_slide03.jpg); animation-delay: 14s;}
.slide_bg04 { background-image : url(../images/top_slide04.jpg); animation-delay: 21s;}

@keyframes slide_anime {
   0% { opacity: 0; transform: scale(1.1, 1.1); z-index: 2;}
   8% { opacity: 1; transform: scale(1, 1); z-index: 2;}
  25% { opacity: 1; transform: scale(1, 1); z-index: 1;}
  33% { opacity: 0; transform: scale(1, 1); z-index: 1;}
 100% { opacity: 0;}
}

@media screen and (max-width: 767px) {
 .slide_wrapper { margin-top: 0;}
 .slide_wrapper .slider { width: 100%; padding-top: 100%; margin-bottom: 40px; position: relative;}
 .slide_wrapper h2 { font-size: 10vw; margin: 0 0 0 0;}
 .slide_wrapper h3 { font-size: 5.4vw;}
 .slide_bg { background-position: center;}
}

/* スライドマスク */
.slide_mask { width: 100%; height: 100%; background: #fff; position: absolute; top: 0; left: 0; z-index:3; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; -ms-transition: all 0.4s ease-out; transition: all 0.4s ease-out;}

.slide_mask.open_mask { height: 0%;}




/********************************************************************

ボトムページ共通

*********************************************************************/

/* ボトムページヘッダー */
.page_header { width: 100%; margin-top: 50px; position: relative;}
.page_header h2 { font-size: 8.0rem; font-family: 'Crimson Text', serif; color: #645d23; line-height: 1.2em; margin: 180px 0 0 0; padding: 0; position: relative; z-index: 4;}
.page_header h3 { font-size: 3.0rem; font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; color: #645d23; line-height: 1.6em; margin: 30px 0 10px 0; padding: 0;}

.page_header .header_img { width: 56%; padding-top: 34.086%; position: absolute; top: 0; right: 0; background-size: cover; overflow: hidden;}

@media screen and (max-width: 767px) {
 .page_header { margin-top: 0;}
 .page_header h2 { font-size: 10vw; margin: 0 0 0 0;}
 .page_header h3 { font-size: 5.4vw;}
 .page_header .header_img { width: 100%; padding-top: 100%; margin-bottom: 40px; position: relative;}
}




/********************************************************************

ボトムページパーツ

*********************************************************************/

/* コンセプト */
.page_header .header_img.header_concept { background: url("../images/header_concept.jpg"); background-repeat: no-repeat; background-position: center;}

/* 会社概要 */
.page_header .header_img.header_company { background: url("../images/header_company.jpg"); background-repeat: no-repeat; background-position: center;}

.president_profile {  width: 220px; height: auto; margin: 50px 0 0 40px; float: right;}

.google_map { filter: saturate(10%); -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease-out; -ms-transition: all 0.4s ease-out; transition: all 0.4s ease-out;}
.google_map:hover { filter: none;}

@media screen and (max-width: 767px) {
 .president_profile { width: 120px; margin-top: 30px;}
}

/* 唯一無二 */
.page_header .header_img.header_oneandonly { background: url("../images/header_oneandonly.jpg"); background-repeat: no-repeat; background-position: center;}

.contract_flow_wrapper { width: 45%; padding: 0 15px; float: left;}
.contract_flow_wrapper.right { float: right;}

ul.contract_flow { width: 100%;}
ul.contract_flow li { min-height: 36px; margin-bottom: 16px; padding: 6px 6px 6px 46px; background: #f6f5f1; position: relative;}
ul.contract_flow li:after { content: ""; width: 0; height: 0; border-style: solid; border-width: 10px 8px 0 8px; border-color: #e0dbc5 transparent transparent transparent; position: absolute; bottom: -8px; left: 10px;}
ul.contract_flow li:last-child:after { border: none;}

ul.contract_flow li .number { width: 36px; height: 100%; font-size: 1.4rem; line-height: 1.0em; color: #fff; text-align: center; padding-top: 12px; background: #e0dbc5; position: absolute; top: 0; left: 0;}

ul.contract_flow li span { display: inline-block; font-size: 1.2rem; line-height: 1.0em; color: #fff; padding: 2px 4px; margin-right: 8px; background: #3e1729;}

@media screen and (max-width: 767px) {
 .contract_flow_wrapper { width: 100%; float: none;}
 ul.contract_flow li .number { font-size: 3.4vw;}
 ul.contract_flow li span { font-size: 2.8vw;}
}

/* 施工実績 */
.page_header .header_img.header_ideas { background: url("../images/header_idea.jpg"); background-repeat: no-repeat; background-position: center;}

.trim_wrapper { position: relative; width: 100%; height:0; padding-bottom:100%; margin-bottom: 30px; overflow:hidden;}
.trim_wrapper .lazy { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:auto; height:auto; max-width:179%; max-height:initial;}

.serial_wrapper { width: 0 !important; height: 0 !important; display: none !important;}

/* お問い合わせ */
.page_header .header_img.header_contact { background: url("../images/header_contact.jpg"); background-repeat: no-repeat; background-position: center;}

/* フォーム */
.req { font-size: 1.0rem; line-height: 1.0em; color: #fff; padding: 2px 4px; font-weight: normal; background: #f0ad4f; vertical-align: 1px; margin-left: 8px;}

.form-group { margin: 0 !important; padding: 16px !important;}
.form-group:before, .form-group:after { clear: both}
.form-group label { font-weight: normal; position: relative !important;}
.form-control { padding: 20px 10px; border: none;}
.form-control .w100 { width: 100%;}
textarea.w100 { width: 100% !important; height: 200px; border-radius: 6px; border: none;} 

dl.form-horizontal { width: 100%; margin: 0; padding: 0;}
dl.form-horizontal dt { font-weight: normal; width: 30%; float: left;}
dl.form-horizontal dd { width: 70%; float: left; text-align: left !important;}

select { margin: 0; padding: 4px 8px; border: none; border-radius: 6px;}

@media screen and (max-width: 767px) {
dl.form-horizontal dt { width: 100% !important; padding-bottom: 8px; float: none !important;}
dl.form-horizontal dd { width: 100% !important; float: none !important;}
}

.buttons_wrapper { padding: 40px 0 0 0; text-align: center;}

/* お問い合わせフォーム */
.wpcf7 { font-weight: normal !important;}
.wpcf7 .wpcf7-response-output { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;}
.wpcf7 .wpcf7-validation-errors { border-color: #f0ad4f;}
.wpcf7 .wpcf7-mail-sent-ok { border-color: #f0ad4f;}

.wpcf7 span.wpcf7-not-valid-tip { font-size: 1.2rem !important; color: #f0ad4f !important; margin-top: 6px;}

.form-group { margin: 0 !important; padding: 20px 0;}
.wpcf7 input.input_r { border: 1px solid #ccc; padding: 0 5px; border-radius: 4px;}

.wpcf7 input[type="confirm"] { padding: 10px 20px; margin: 40px auto 0 auto; background: #f0ad4f; color: #fff; border-radius: 4px; border: none !important; cursor: pointer;}
.wpcf7 input[type="submit"] { padding: 10px 20px; margin: 40px auto 0 auto; background: #f0ad4f; color: #fff; border-radius: 4px; border: none !important; cursor: pointer;}
.wpcf7 input.back { padding: 10px 20px; margin: 40px auto 0 auto; background: #aaa; color: #fff; border-radius: 4px; border: none !important; cursor: pointer;}

.wpcf7 label { white-space: nowrap; font-weigh: normal;}
.wpcf7 div { white-space: nowrap;}


@media screen and (max-width: 420px) {
.wpcf7 div { white-space: normal;} 
}

/* Contact Form 7 add confirmのスタイル上書き */
input.wpcf7c-conf, textarea.wpcf7c-conf { background-color: transparent !important; color: #fff; border: none !important; outline: none; pointer-events: none;}
