@charset "utf-8";

/*-------------------------------------------------------------------------*/

/* font
/*-------------------------------------------------------------------------*/
/*@import url('https://fonts.googleapis.com/css?family=Oswald');*/
/* font-family: 'Roboto', sans-serif; */
/* font-family: 'Lato', sans-serif; */

/*-------------------------------------------------------------------------*/
/* reset
/*-------------------------------------------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,ins,kbd,q,samp,small,strong,
sub,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,main,nav,section,summary,time,mark,audio,video{ margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body{ line-height: 1; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{ display: block; }
nav ul{ list-style: none; }
ul,ol,li,dl,dt,dd{ list-style-type: none; list-style-position: outside; }
blockquote,q{ quotes: none; }
blockquote:before,blockquote:after,q:before,q:after{ content: none; }
a{ margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins{ background-color: #ff9; color: #000; text-decoration: none; }
img{ vertical-align: top; border: 0; }
em{ font-style: italic; }
mark{ background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del{ text-decoration: line-through; }
abbr[title],dfn[title]{ border-bottom: 1px dotted; cursor:help; }
table{ border-collapse: collapse; border-spacing: 0; }
hr{ display:block; height:1px; border: 0; border-top: 1px solid #ccc; margin: 0; padding: 0; }
input,select{ vertical-align: middle; }
main { display: block; }
button { border: none; }
small { line-height: 1.2; }

/*-------------------------------------------------------------------------*/
/* module
/*-------------------------------------------------------------------------*/
.err { color: #ff0000 !important; font-weight: bold; }.bold { font-weight: bold !important; }.red { color: #eb0602 !important; }.center { text-align: center !important; }.right { text-align: right !important; }.left { text-align: left !important; }.fr { float: right; }.fl { float: left; }
.fs10 { font-size: 10px !important; }.fs12 { font-size: 12px !important; }.fs14 { font-size: 14px !important; }.fs16 { font-size: 16px !important; }.fs18 { font-size: 18px !important; }.fs20 { font-size: 20px !important; }.fs22 { font-size: 22px !important; }.fs24 { font-size: 24px !important; }
.mt0 { margin-top: 0px !important; }.mt5 { margin-top: 5px !important; }.mt10 { margin-top: 10px !important; }.mt15 { margin-top: 15px !important; }.mt20 { margin-top: 20px !important; }.mt30 { margin-top: 30px !important; }.mt40 { margin-top: 40px !important; }.mt50 { margin-top: 50px !important; }
.mb5 { margin-bottom: 5px !important; }.mb0 { margin-bottom: 0 !important; }.mb10 { margin-bottom: 10px !important; }.mb15 { margin-bottom: 15px !important; }.mb20 { margin-bottom: 20px !important; }.mb30 { margin-bottom: 30px !important; }.mb40 { margin-bottom: 40px !important; }.mb50 { margin-bottom: 50px !important; }.mb60 { margin-bottom: 60px !important; }
.mr0 { margin-right: 0 !important; }.mr10 { margin-right: 10px !important; }.mr15 { margin-right: 15px !important; }.mr20 { margin-right: 20px !important; }.mr25 { margin-right: 25px !important; }.mr30 { margin-right: 30px !important; }
.ml5 { margin-left: 5px !important; }.ml10 { margin-left: 10px !important; }.ml20 { margin-left: 20px !important; }.ml30 { margin-left: 30px !important; }
.center { text-align: center !important; }.right { text-align: right !important; }.left { text-align: left !important; }
.pb0 { padding-bottom: 0px !important; }.pb10 { padding-bottom: 10px !important; }.pb20 { padding-bottom: 20px !important; }.pb30 { padding-bottom: 30px !important; }.pb40 { padding-bottom: 40px !important; }
.pl10 { padding-left: 10px !important; }.pl35 { padding-left: 35px !important; }.pl40 { padding-left: 40px !important; }.pl55 { padding-left: 55px !important; }
.pr10 { padding-right: 10px !important; }
.w150 { width: 150px !important; }.w200 { width: 200px !important; }.w220 { width: 220px !important; }.w240 { width: 240px !important; }.w300 { width: 300px !important; }.w330 { width: 330px !important; }.w350 { width: 350px !important; }.w380 { width: 380px !important; }.w480 { width: 480px !important; }.w100 { width: 100px !important; }
.err-msg, .error-message { margin: 10px 0 0; font-weight: bold; font-size: 14px; color: #cc0000; }
@media print, screen and (min-width: 768px) {
}

/*-------------------------------------------------------------------------*/
/* base
/*-------------------------------------------------------------------------*/

* { margin: 0; padding: 0; box-sizing: border-box; }
body { position: relative; font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; width: 100%; font-size: 16px; font-weight: 200; color: #333; background: #fff; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-feature-settings: "palt"; }

h1, h2, h3, h4, h5, h6 { font-size: 1.0em; font-weight: normal; }
table { border-collapse: collapse; }
img { border: none; vertical-align: bottom; }
li { list-style-type: none; }
sup { font-size: 10px; }
p { line-height: 1.5; }
p small { font-size: 80%; }
.red { color: #d52f21; }
th { font-weight: normal; }
@media print, screen and (min-width: 768px) {
body { font-size: 13px; }
}

/* link */
/*a { transition: .2s; }*/
a:link { color: #097cf2; text-decoration: none; }
a:visited { color: #097cf2; }
a:hover { color: #097cf2; text-decoration: underline;  }
a.under:link { text-decoration: underline; }
a.under:hover { text-decoration: none; }

/* Selected Text */
@media print, screen and (min-width: 768px) {
::selection { background: #ecf9ff; }
::-moz-selection { background: #ecf9ff; }
}

/* rollover */
@media print, screen and (min-width: 768px) {
a:hover img.hov { filter: alpha(opacity=9); -moz-opacity: 0.9; opacity: 0.9; }
.ovrgp a:hover img, img.ovr:hover, input.ovr:hover, button.ovr:hover { filter: alpha(opacity=90); opacity: 0.9; }
}

/* ios */
.ios a:hover img.hov { filter: alpha(opacity=1); -moz-opacity: 1; opacity: 1; }
.ios .ovrgp a:hover img, .ios img.ovr:hover, .ios input.ovr:hover { filter: alpha(opacity=1); opacity: 1; }

/* clear */
.clear { clear: both; }
.cfgp li:before, .cfgp li:after,.cf:before, .cf:after, .clearfix:before, .clearfix:after { content: ""; display: table; }
.cfgp li:after,.cf:after, .clearfix:after { clear: both; }
.cfgp li,.cf, .clearfix { *zoom: 1; }

/* img */
img { max-width: 100%; }
@media print, screen and (min-width: 768px) {
img { max-width: auto; max-height: auto; }
}

/* hiddn */
.pc { display: none !important; }
@media print, screen and (min-width: 768px) {
.pc { display: block !important; }
img.pc { display: inline !important; }
.sp { display: none !important; }
}

/*-------------------------------------------------------------------------*/
/* parts
/*-------------------------------------------------------------------------*/

/* widelink */
.widelink { cursor: pointer; }
.widelink_cover { position: relative;}
.widelink_cover:before { display: flex; justify-content: center; align-items: center; content: "詳細を見る"; position: absolute; top: 50%; left: 50%; width: 100px; height: 100px; z-index: 6; opacity: 0; color: #fff; text-align: center; font-size: 15px; font-weight: 500; line-height: 1.3; transition-property: opacity,top; transition-duration: 0.15s; transition-timing-function: ease-out; transform: translate(-50%,-50%); background: #097cf2; border-radius: 50%; }

@media print, screen and (min-width: 768px) {
.widelink.hover a { text-decoration: underline;}
.widelink.hover .widelink_cover:before { opacity: .9; top: 50%; }
.widelink.hover .widelink_cover:after { opacity: .9; }
}

/* bg */
.bg_img { background: url(../img/top_srh_sp.jpg) no-repeat top center; background-size: cover; }
.bg_b { background: #ecf9ff; }

@media print, screen and (min-width: 768px) {
.bg_img { min-height: 610px; background: url(../img/top_srh_bg.jpg) no-repeat top center; }
}

/* underbar */
@media print, screen and (min-width: 768px) {
.underbar { position: relative; display: inline-block; margin-bottom: 20px; }
.underbar:before { position: absolute; bottom: -20px; left: 0; content: ""; display: inline-block; width: 100%; height: 4px; background: #101010; }
}


/* marker */
.marker { font-size: 112%; color: #f62f2f; font-weight: 700; background: linear-gradient(transparent 50%, #fff099 50%); }

/* btn */
.btn_entry { position: relative; }
.btn_entry:before { position: absolute; top: 0; left: 0; content: "地域最安値で解体!"; color: #fff; font-size: 12px; font-weight: 700; background: #f84444; padding: 4px 10px 6px; z-index: 2; }
.btn_entry a { display: block; background: #ff9d2b; border-radius: 4px; box-shadow: 0 3px 0 #ca7818; color: #fff; display: block; width: 100%; height: 70px; padding-top: 25px; font-size: 20px; font-weight: 700; text-align: center; text-decoration: none; line-height: 1; }
.btn_phone a { display: block; background: #1faa6d; border-radius: 4px; box-shadow: 0 3px 0 #168c58; color: #fff; display: block; width: 100%; height: 70px; padding-top: 8px; font-size: 10px; font-weight: 500; text-align: center; text-decoration: none; font-family: sans-serif; font-weight: 700; line-height: 1.2; }
.btn_phone .numbar { font-size: 28px; }
.btn_entry a i, .btn_phone a i { margin-right: 7px; }

@media screen and (min-width: 768px) {
.btn_entry:before { font-size: 14px; padding: 6px 12px 8px; }
.btn_entry a { box-shadow: 0 4px 0 #ca7818; width: 380px; height: 90px; padding-top: 35px; font-size: 24px; }
.btn_phone a { border-radius: 4px; box-shadow: 0 4px 0 #168c58; width: 380px; height: 90px; padding-top: 10px; font-size: 12px; }
.btn_phone .numbar { font-size: 38px; }
.btn_entry a:hover, .btn_phone a:hover { box-shadow: none !important; transform: translate3d(0, 4px, 0); }
}

.btn_entry2 { position: relative; }
.btn_entry2:before { position: absolute; top: 0; left: 0; content: "全国見積もり対応"; color: #fff; font-size: 12px; font-weight: 700; background: #f84444; padding: 4px 10px 6px; z-index: 2; }
.btn_entry2 a { display: block; background: #ff9d2b; border-radius: 4px; box-shadow: 0 3px 0 #ca7818; color: #fff; display: block; width: 100%; height: 70px; padding-top: 25px; font-size: 20px; font-weight: 700; text-align: center; text-decoration: none; line-height: 1; }
.btn_entry2 a i { margin-right: 7px; }

@media screen and (min-width: 768px) {
.btn_entry2:before { font-size: 14px; padding: 6px 12px 8px; }
.btn_entry2 a { box-shadow: 0 4px 0 #ca7818; width: 380px; height: 90px; padding-top: 35px; font-size: 24px; }
.btn_entry2 a:hover { box-shadow: none !important; transform: translate3d(0, 4px, 0); }
}

/* btn_color */
.btn_blue a { /*display: block;*/ background: #097cf2; border-radius: 4px; box-shadow: 0 3px 0 #c1d9f2; color: #fff; display: block; width: 100%; height: 70px; padding-top: 25px; font-size: 20px; font-weight: 700; text-align: center; text-decoration: none; line-height: 1; }
.btn_blue a i { margin-right: 7px; }

@media screen and (min-width: 768px) {
.btn_blue a { box-shadow: 0 4px 0 #c1d9f2; width: 380px; height: 90px; padding-top: 35px; font-size: 24px; }
.btn_blue a:hover { box-shadow: none !important; transform: translate3d(0, 4px, 0); }
}

.btn_red a { /*display: block;*/ background: #f20909; border-radius: 4px; box-shadow: 0 3px 0 #f2c1c1; color: #fff; display: block; width: 100%; height: 70px; padding-top: 25px; font-size: 20px; font-weight: 700; text-align: center; text-decoration: none; line-height: 1; }
.btn_red a i { margin-right: 7px; }

@media screen and (min-width: 768px) {
.btn_red a { box-shadow: 0 4px 0 #f2c1c1; width: 380px; height: 90px; padding-top: 35px; font-size: 24px; }
.btn_red a:hover { box-shadow: none !important; transform: translate3d(0, 4px, 0); }
}

.btn_orange a { margin-top:30px; /*display: block;*/ background: #ff9d2b; border-radius: 4px; box-shadow: 0 3px 0 #ca7818; color: #fff; display: block; width: 100%; height: 70px; padding-top: 25px; font-size: 18px; font-weight: 700; text-align: center; text-decoration: none; line-height: 1; }
.btn_red a i { margin-right: 7px; }

@media screen and (min-width: 768px) {
.btn_orange a { box-shadow: 0 4px 0 #ca7818; width: 65%; height: 90px; padding-top: 35px; font-size: 24px; }
.btn_orange a:hover { box-shadow: none !important; transform: translate3d(0, 4px, 0); }
}


/*-------------------------------------------------------------------------*/
/* sp
/*-------------------------------------------------------------------------*/

/* sp-btn */
#sp-btn { position: fixed; top: 2px; right: 7px; width: 40px; height: 40px; padding: 10px 0 0; z-index: 999; background: #fff; text-align: center; }

#sp-btn-icon,#sp-btn-icon span { display:inline-block; transition: all .4s; box-sizing: border-box; }
#sp-btn-icon { position:relative; width: 27px; height: 22px; }
#sp-btn-icon span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #005bac; }
#sp-btn-icon span:nth-of-type(1) { top: 0; }
#sp-btn-icon span:nth-of-type(2) { top: 10px; }
#sp-btn-icon span:nth-of-type(3) { bottom: 0; }
/*.open #sp-btn-icon { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
.open #sp-btn-icon span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(-45deg); transform: translateY(10px) rotate(-45deg); }
.open #sp-btn-icon span:nth-of-type(2) { -webkit-transform: translateY(0) rotate(45deg); transform: translateY(0) rotate(45deg); }
.open #sp-btn-icon span:nth-of-type(3) { opacity: 0; }*/
.open #sp-btn-icon span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(-315deg); transform: translateY(10px) rotate(-315deg); }
.open #sp-btn-icon span:nth-of-type(2) { opacity: 0; }
.open #sp-btn-icon span:nth-of-type(3) { -webkit-transform: translateY(-10px) rotate(315deg); transform: translateY(-10px) rotate(315deg); }

@media screen and (min-width: 768px) {
#sp-btn { display: none; top: 24px; right: 40px; width: 70px; height: 70px; padding: 20px 0 0; border: 2px solid #2d71ae; }
.sp-open #sp-btn { z-index: 99999; top: 14px; }
.fixed #sp-btn, .sub #sp-btn { top: 14px; }
}

/* sp-nav */
#sp-nav { display: none; position: fixed; top: 45px; left: 0; right: 0; bottom: 0; overflow: auto; width: 100%; height: 100%; z-index: 1001; background: rgba(121,189,255, 0.8); text-align: center; color: #fff; }
#sp-nav .head { display: none; }
#sp-nav .nav01 { margin: 10px 10px 0; }
#sp-nav .nav01 li { margin-bottom: 10px; }
#sp-nav .nav02 { margin: 0 10px; }
#sp-nav .nav02 li { margin-bottom: 10px; }
/*#sp-nav .nav02 li { float: left; width: 50%; margin-bottom: 10px; }
#sp-nav .nav02 li:nth-child(even) { padding-left: 5px; }
#sp-nav .nav02 li:nth-child(odd) { padding-right: 5px; }*/
#sp-nav .nav02 a { display: block; width: 100%; height: 50px; padding-top: 15px; text-align: center; font-size: 16px; border-radius: 4px; box-shadow: 0 3px 0 #0d53bc; background: #097cf2; color: #fff; background-size: 12px; font-weight: 500; }
#sp-nav .nav02 i { margin-right: 5px; }

@media print, screen and (min-width: 768px) {
#sp-nav { top: 0; }
#sp-nav .head { display: block; position: fixed; width: 100%; top: 0; left: 0; padding: 28px 0; border-top: 5px solid #005bac; background: #fff; text-align: center; }
#sp-nav .head img { width: 300px; }
#sp-nav .nav01 { margin: 120px 0 0; }
#sp-nav .nav01 li { margin-bottom: 20px; }
#sp-nav .nav02 { width: 640px; margin: 0 auto; }
#sp-nav .nav02 li { padding: 10px !important; }
#sp-nav .nav02 a { padding: 45px 0; font-size: 20px; background: #fff url(../img/arw_blue.png) no-repeat right 20px center; background-size: 16px; }
}

/* sp-close */
#sp-close { height: 100px; padding: 15px 0 0; text-align: center; font-size: 18px; font-weight: 700; color: #097cf2; }
#sp-close i { margin-right: 7px; color: #097cf2; font-size: 20px; }

@media print, screen and (min-width: 768px) {
#sp-close { display: none; padding: 60px 0; font-size: 24px; }
#sp-close i { font-size: 40px; }
}

/*-------------------------------------------------------------------------*/
/* header
/*-------------------------------------------------------------------------*/

#header { position: fixed; top: 0; left: 0; z-index: 998; width: 100%; background: #fff; box-shadow: 0 0 10px 0 rgba(0,91,172 , 0.3); }

@media print, screen and (min-width: 768px) {
#header { position: relative; box-shadow: none; }
}

.header_wrap { height: 45px; padding: 7px; }
#header .logo { font-size: 18px; font-weight: 900; }
#header .logo img { width: 44px; vertical-align: text-bottom; margin-right: 5px; }
#header .logo a { text-decoration: none; }
#header .btn { display: none; }

@media print, screen and (min-width: 768px) {
.header_wrap { display: flex; justify-content: space-between; align-items: center; width: 1240px; height: 110px; margin: 0 auto; padding: 0; }
#header .logo { font-size: 30px; }
#header .logo img { width: auto; vertical-align: middle; margin-right: 7px; }
#header .btn { display: flex; justify-content: space-between; align-items: center; }
#header .btn li { margin-left: 10px; }
}

/* gnav */
#header .gnav { display: none; }

@media print, screen and (min-width: 768px) {
#header .gnav { display: block; background: #097cf2; }
#header .gnav ul { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; width: 1240px; height: 100px; margin: 0 auto; }
#header .gnav li { width: calc(100% / 6); height: 100%; }
#header .gnav li a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; color: #fff; font-size: 16px; font-weight: 500; }
#header .gnav li:hover { 
background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,0.21) 50%, rgba(255,255,255,0.21) 51%, rgba(255,255,255,0.5) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.21) 50%,rgba(255,255,255,0.21) 51%,rgba(255,255,255,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0.21) 50%,rgba(255,255,255,0.21) 51%,rgba(255,255,255,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
}

/*-------------------------------------------------------------------------*/
/* footer
/*-------------------------------------------------------------------------*/

#footer { position: relative; }
.footer_inner { display: none; padding: 30px 0 10px; text-align: center; }

.footer_inner .logo { margin-bottom: 15px; font-size: 20px; font-weight: 700; }
.footer_inner .logo img { width: 60px; vertical-align: middle; margin-right: 7px; }
.footer_inner .logo a { text-decoration: none; color: #fff; }

.footer_inner ul { display: none; }
.footer_inner li { display: inline-block; margin: /*0 20px*/0 15px 20px 15px; line-height: 1.4; }
.footer_inner li a { color: #fff; font-size: 16px; }

.footer_cr { padding: 30px 0; font-size: 12px; text-align: center; font-family: sans-serif; background: #fff; }

@media print, screen and (min-width: 768px) {
#footer { background: url(../img/img_footer.jpg) no-repeat center center; background-size: cover; }
.footer_inner { display: block; width: 1240px; margin: 0 auto; padding: 60px 0; }
.footer_inner .logo { margin-bottom: 30px; font-size: 30px; }
.footer_inner .logo img { width: auto; }
.footer_inner .logo a { }
.footer_inner ul { display: flex; justify-content: center; align-items: center; }
.footer_inner li { display: block; }
.footer_inner li a { font-size: 14px; }
.footer_cr { padding: 50px 0; font-size: 14px; }
}

/*-------------------------------------------------------------------------*/
/* pagetop
/*-------------------------------------------------------------------------*/
#pagetop { display: none; position: fixed; bottom: -30px; right: 0; z-index: 999; width: 55px; height: 80px; padding-top: 5px; text-align: center; background: #097cf2; }
#pagetop a { display: block; color: #fff; font-family: sans-serif; font-size: 10px; }

@media print, screen and (min-width: 768px) {
#pagetop { bottom: -50px; width: 65px; height: 100px; padding-top: 10px; }
#pagetop:hover { bottom: 0; }
#pagetop a { font-size: 11px; }
}

/*-------------------------------------------------------------------------*/
/* main
/*-------------------------------------------------------------------------*/
/* content */
#content { margin-top: 45px; }

@media print, screen and (min-width: 768px) {
#content { margin-top: 0; }
}

/*-------------------------------------------------------------------------*/
/* section
/*-------------------------------------------------------------------------*/

.sec_visual { background: url(../img/img_mv_bg_sp.jpg) top center; text-align: center; background-size: cover; }
.sec_visual h1 { margin: 0 auto; }
.sec_visual .btn_entry { padding: 15px; }
.sec_visual .btn_entry2 { padding: 15px; }

@media print, screen and (min-width: 768px) {
.sec_visual { background: url(../img/img_mv_bg.jpg) top center; background-size: auto; }
.sec_visual .inner { width: 1160px; height: 350px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-end; }
.sec_visual h1 { }
.sec_visual .btn_entry { margin-bottom: 30px; padding: 0; }
.sec_visual .btn_entry2 { margin-bottom: 30px; padding: 0; }
}

.sec_picup { padding: 15px; text-align: center; }
@media print, screen and (min-width: 768px) {
.sec_picup { padding: 30px 0; }
}

/*.sec_quote { background: url(../img/img_quo_bg.png) top center; background-size: 840px; }*/
.sec_quote { background: #ffe9d5 top center; background-size: 840px; }
.sec_quote .inner { position: relative; padding: 25px 15px; }
/*.sec_quote .inner:after { position: absolute; top: 0; right: -25px; width: 96px; height: 193px; content: ""; background: url(../img/img_quo.png) no-repeat; background-size: cover; }*/
.sec_quote .txt { padding: 15px 0 15px 0; font-size: 14px; font-weight: 500; }
.sec_quote .btn { }
.sec_quote .btn li { margin-bottom: 10px; }
.sec_quote .btn li .btn_phone { position: relative; z-index: 3 !important; }

@media print, screen and (min-width: 768px) {
/*.sec_quote { background: url(../img/img_quo_bg.png) top center; background-size: 1680px; text-align: center;}*/
.sec_quote { background: #ffe9d5 top center; background-size: 1680px; text-align: center;}
.sec_quote .inner { width: 1050px; margin: 0 auto; padding: 50px 0; }
.sec_quote .inner:after { position: absolute; bottom: 0; right: 0; width: 192px; height: 386px; content: ""; background: url(../img/img_quo.png) no-repeat; }
.sec_quote .txt { padding: 30px 0; font-size: 18px; }
.sec_quote .btn { display: flex; justify-content: space-between; align-items: center; width: 790px; margin: 0 auto; }
.sec_quote .btn li { margin-bottom: 0; margin-left: 10px; }
}

.sec_cont { padding: 25px 0; }
.sec_cont > .ttl01 { margin-bottom: 25px; }
@media print, screen and (min-width: 768px) {
.sec_cont { padding: 50px 0; }
.sec_cont > .ttl01 { margin-bottom: 50px; }
}

.sec_article { position: relative; margin: 0; padding-bottom: 60px; background: #fff; z-index: 2; }
@media print, screen and (min-width: 768px) {
.sec_article { width: 1030px; margin: -60px auto 0; padding-bottom: 120px; }
.sec_article.re { width: 1030px; margin: 0 auto 0; padding-bottom: 120px; }
}

.sec_headline { background: #097cf2; }
.sec_headline .inner { }
@media print, screen and (min-width: 768px) {
.sec_headline { overflow: hidden; position: relative; height: 450px; }
.sec_headline .inner { width: 1030px; margin: 0 auto; }
}

.sec_shear { overflow: hidden; position: relative; background: #097cf2; text-align: center; }
.sec_shear:before { display: block; padding: 45px 15px; content: "この記事が役に立ったら共有をお願いします！"; color: #fff; font-size: 18px; font-weight: 700; }
.sec_shear ul { display: flex; justify-content: space-between; align-items: center; }
.sec_shear li { width: calc(100% / 3); }
.sec_shear li a, .sec_shear li span { display: flex; justify-content: center; align-items: center; height: 50px; color: #fff; font-size: 14px; font-weight: 500; }
.sec_shear .tw { background: #6ac5fa; box-shadow: 0 5px 0 #0c74b0; }
.sec_shear .fb { background: #608ef6; box-shadow: 0 5px 0 #2357cd; }
.sec_shear .ht { background: #00a4de; box-shadow: 0 5px 0 #2f7497; }
.sec_shear i { margin-right: 5px; }

@media print, screen and (min-width: 768px) {
.sec_shear { height: 300px; }
.sec_shear:before { padding: 60px 0; font-size: 30px; }
.sec_shear ul { width: 960px; margin: 0 auto; }
.sec_shear li { margin: 0 10px; border-radius: 3px; }
.sec_shear li a, .sec_shear li span { display: flex; justify-content: center; align-items: center; width: 300px; height: 80px; font-size: 18px; border-radius: 3px; }
/*.sec_shear li:hover { opacity: 0.9; }*/
.sec_shear li:hover { box-shadow: none !important; transform: translate3d(0, 5px, 0); }
}

.sec_intro { position: relative; padding: 30px 0; }
.sec_intro p { padding: 15px 15px 0; font-size: 14px; font-weight: 500; line-height: 1.4; }
.sec_intro .muryo:before { position: absolute; top: 0; left: 10px; display: inline-block; padding: 4px 8px; content: "完全無料"; color: #fff; background: #f84444; font-size: 13px; font-weight: 700; }
@media print, screen and (min-width: 768px) {
.sec_intro { width: 1160px; margin: 0 auto; padding: 60px 0; text-align: center; }
/*.sec_intro h1 { display: inline-block; position: relative; font-size: 44px; font-weight: 900; line-height: 1.4; color: #097cf2;  }*/
.sec_intro p { margin-top: 20px; padding: 0; font-size: 18px; }
.sec_intro .muryo:before { top: 30px; left: 80px; padding: 10px 15px; font-size: 16px; }
}

/*.sec_form { padding: 30px 0; background: url(../img/img_quo_bg.png); }*/
.sec_form { padding: 30px 0; background: #ffe9d5; }
.sec_form .txt { padding: 10px 0; font-size: 14px; text-align: left; }
@media print, screen and (min-width: 768px) {
.sec_form { padding: 60px 0; text-align: center; }
.sec_form .txt { font-size: 16px; }
}

/* sec_anken */
.sec_anken { padding-bottom: 25px; background: url(../lp/img/back_05_sp.jpg) no-repeat; background-size: cover; text-align: center; }
.sec_anken h2 { padding: 30px 0; font-size: 25px; color: #fff; }
.sec_anken ul { margin: 0 15px; }
.sec_anken li { position: relative; margin-bottom: 15px; padding: 20px 0; border: 3px solid #fff; font-size: 18px; font-weight: 700; color: #fff; background: url(../lp/img/ico_check.png) no-repeat center left 10px; background-size: 25px; }
.sec_anken a { display: block; padding-top: 10px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; color: #fff; }

@media print, screen and (min-width: 768px) {
.sec_anken { min-height: /*900*/500px; background: url(../lp/img/back_05.jpg) no-repeat; background-size: cover; }
.sec_anken h2 { padding: /*45*/65px 0; font-size: 35px; }
.sec_anken ul { display: flex; justify-content: space-between; flex-wrap: wrap; width: 860px; margin: 0 auto; }
.sec_anken li { width: 420px; margin-bottom: 20px; padding: 30px 0; border: 4px solid #fff; font-size: 26px; background: url(../lp/img/ico_check.png) no-repeat center left 15px; background-size: auto; }
.sec_anken a { display: block; padding-top: 15px; position: absolute; top: 0; left: 0; width: 100%; height: 100%; color: #fff; }
}

/*-------------------------------------------------------------------------*/
/* bx etc
/*-------------------------------------------------------------------------*/

.arw_b { display: inline-block; width: 19px; height: 19px; margin-right: 5px; background: url(../img/ico_arw_b.png) no-repeat; vertical-align: middle; }
.ico_quote { display: inline-block; width: 22px; height: 23px; margin-right: 4px; background: url(../img/ico_quote.png) no-repeat; vertical-align: baseline; background-size: cover; }
@media print, screen and (min-width: 768px) {
.arw_b { display: inline-block; width: 19px; height: 19px; margin-right: 5px; background: url(../img/ico_arw_b.png) no-repeat; vertical-align: middle; }
.ico_quote { width: 44px; height: 46px; margin-right: 7px; }
}

.ttl01 { text-align: center; line-height: 1.4; }
.ttl01 .ja { font-size: 22px; font-weight: 900; }
.ttl01 .en { font-size: 10px; font-family: sans-serif; font-weight: 500; color: #666; }
.ttl01 .ao { color: #097cf2; }
@media print, screen and (min-width: 768px) {
.ttl01 .ja { font-size: 44px; }
.ttl01 .en { font-size: 14px; }
}

.bx_3step { margin: 0 15px; }
.bx_3step li { position: relative; width: 100%; background: #fff; text-align: center; }
.bx_3step li:last-child { box-shadow: 0 3px 0 #b3d5f2; }
.bx_3step li p { padding: 10px 0 20px; font-size: 14px; font-weight: 500; }
.bx_3step li i { position: absolute; bottom: -15px; left: 50%; margin-left: -15px; color: #f84444; font-size: 30px; z-index: 2; }

@media print, screen and (min-width: 768px) {
.bx_3step { display: flex; justify-content: space-between; align-items: center; width: 1160px; margin: 0 auto; }
.bx_3step li { width: 360px; box-shadow: 0 3px 0 #b3d5f2; }
.bx_3step li p { padding: 30px 0; font-size: 18px; }
.bx_3step li i { bottom: inherit; left: inherit; top: 50%; right: -45px; margin-top: -40px; font-size: 60px; }
}

.bx_why { padding: 0 15px; }
.bx_why p { padding: 15px 0; font-size: 14px; font-weight: 500; }
@media print, screen and (min-width: 768px) {
.bx_why { text-align: center; }
.bx_why p { padding: 30px 0; font-size: 18px; }
}

.bx_examples { margin-bottom: 15px; }
.bx_examples li { position: relative; background: #097cf2; }
.bx_examples li:before { position: absolute; top: 0; left: 0; right: 0; bottom: 0; content: ""; z-index: 2;
background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.21) 50%, rgba(0,0,0,0.21) 51%, rgba(0,0,0,0.5) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.21) 50%,rgba(0,0,0,0.21) 51%,rgba(0,0,0,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.21) 50%,rgba(0,0,0,0.21) 51%,rgba(0,0,0,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.bx_examples li a { position: relative; display: block; width: 100%; height: 310px; color: #fff; }
.bx_examples li img { width: 100%; height: 100%; opacity: 0.8; }
.bx_examples li p { position: absolute; bottom: 15px; left: 15px; font-size: 16px; font-weight: 500; z-index: 2;
}
@media print, screen and (min-width: 768px) {
.bx_examples { display: flex; justify-content: space-between; align-items: center; width: 1160px; margin: 0 auto; }
.bx_examples li { width: 360px; }
.bx_examples li a { width: 360px; height: 350px; }
.bx_examples li img { position: absolute; bottom: 0; left: 0; z-index: 1; }
.bx_examples li p { bottom: 25px; left: 25px; font-size: 18px; }
}

.bx_area { overflow: hidden; }
.bx_area .higashi {  }
.bx_area .nishi {  }
.bx_area a { font-size: 14px; font-weight: 500; }
.bx_area dt { margin: 0 15px; }
.bx_area dt a { display: inline-block; padding: 13px 15px 10px; background: #fff; border-radius: 20px; box-shadow: 0 3px 0 #b3d5f2; }
.bx_area dd { margin: 10px 15px; }
.bx_area li { float: left; padding-right: 8px; line-height: 1.6; }
.bx_area li:after { content: "|"; color: #097cf2; padding-left: 8px; }
.bx_area li:last-child:after { display: none; }
.bx_area.free { margin: 0 15px; background: none;  }
.bx_area.free li { margin-bottom: 10px; }

.bx_cate { overflow: hidden; }
.bx_cate a { font-size: 14px; font-weight: 500; }
.bx_cate dt { margin: 0 15px; }
.bx_cate dt a { display: inline-block; padding: 13px 15px 10px; background: #fff; border-radius: 20px; box-shadow: 0 3px 0 #b3d5f2; }
.bx_cate dd { margin: 10px 15px; }
.bx_cate dd a { display: inline-block; padding: 13px 15px 10px; background: #fff; border-radius: 20px; box-shadow: 0 3px 0 #b3d5f2; }
.bx_cate li { float: left; padding-right: 8px; line-height: 1.6; margin-bottom: 20px; }
.bx_cate li:after { content: "|"; color: #097cf2; padding-left: 8px; }
.bx_cate li:last-child:after { display: none; }

@media print, screen and (min-width: 768px) {
.bx_area { width: 1160px; margin: 0 auto; background: url(../img/img_japan.png) no-repeat top 40px left 310px;  }
/*
.bx_area .higashi { float: right; width: 410px; }
.bx_area .nishi { float: left; width: 450px; }
*/
.bx_area .higashi { float: right; width: 410px; }
.bx_area .nishi { float: left; width: 370px; }

.bx_area a { font-size: 16px; }
.bx_area dt { margin: 0; }
.bx_area dt a { padding: 17px 20px 13px; border-radius: 25px; box-shadow: 0 4px 0 #b3d5f2; }
.bx_area dd { margin: 15px 0 30px; }
.bx_area li { line-height: 1.4; }
.bx_area li:after { content: "|"; color: #097cf2; padding-left: 8px; }
.bx_area.free { width: 860px; margin: 0 auto; }
.bx_area.free li { margin-bottom: 20px; }

.bx_cate { width: 1160px; margin: 0 auto; }
.bx_cate a { font-size: 16px; }
.bx_cate dt { margin: 0; }
.bx_cate dt a { padding: 17px 20px 13px; border-radius: 25px; box-shadow: 0 4px 0 #b3d5f2; }
.bx_cate dd { margin: 15px 0 30px; }
.bx_cate dd a { padding: 17px 20px 13px; border-radius: 25px; box-shadow: 0 4px 0 #b3d5f2; }
.bx_cate li { line-height: 1.4; }
.bx_cate li:after { content: "|"; color: #097cf2; padding-left: 8px; }
}


.bx_cat_a, .bx_cat_b, .bx_cat_c { padding: 0 15px; }
.bx_cat_a li, .bx_cat_b li, .bx_cat_c li { position: relative; margin-bottom: 15px; background: #ecf9ff; box-shadow: 0 3px 0 #c1d9f2; }
.bx_cat_a p, .bx_cat_b p, .bx_cat_c p { padding: 20px 15px; font-size: 16px; font-weight: 500; line-height: 1.4; }
.bx_cat_a p a, .bx_cat_b p a, .bx_cat_c p a { display: inline-block; padding-bottom: 10px; }

@media print, screen and (min-width: 768px) {
.bx_cat_a { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; width: 1240px; margin: 0 auto; padding: 0; }
.bx_cat_a:before { display: block; content: ""; width: 295px; height: 0; order:1; }
.bx_cat_a:after { display: block; content: ""; width: 295px; height: 0; }
.bx_cat_a li { width: 295px; min-height: 400px; margin-bottom: 25px; box-shadow: 0 4px 0 #c1d9f2; }
}

@media print, screen and (min-width: 768px) {
.bx_cat_b { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; width: 1240px; margin: 0 auto; padding: 0; }
.bx_cat_b li { overflow: hidden; width: 610px; min-height: 195px; margin-bottom: 25px; box-shadow: 0 4px 0 #c1d9f2; }
.bx_cat_b .img { float: left; width: 295px; }
.bx_cat_b p { float: right; width: 305px; padding: 20px 15px; font-size: 16px; font-weight: 500; line-height: 1.4; }
}

@media print, screen and (min-width: 768px) {
.bx_cat_c { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; width: 1240px; margin: 0 auto; padding: 0; }
.bx_cat_c:after { display: block; content: ""; width: 400px; height: 0; }
.bx_cat_c li { overflow: hidden; width: 400px; min-height: 90px; margin-bottom: 25px; box-shadow: 0 4px 0 #c1d9f2; }
.bx_cat_c .img { float: left; width: 150px; }
.bx_cat_c p { float: right; width: 240px; padding: 10px 10px; }
}



.bx_gyosya { padding: 0 15px; }
.bx_gyosya li { position: relative; margin-bottom: 15px; box-shadow: 0 3px 0 #c1d9f2; background: #ecf9ff; }
.bx_gyosya p { padding: 10px 15px; font-size: 14px; font-weight: 300; line-height: 1.4; }
.bx_gyosya p a { display: inline-block; padding-bottom: 10px; font-weight: 500; font-size: 18px; }
.bx_gyosya .o_ttl { display: inline-block; padding-bottom: 10px; font-weight: 500; font-size: 18px; color: #097cf2; }
.bx_gyosya .center { text-align:center; }
.bx_gyosya .center img { text-align:center; width:100%; }
.bx_gyosya .btn { position: relative; padding: 0 15px 15px; }
.bx_gyosya .btn a { display: block; background: #52a7fd; border-radius: 4px; box-shadow: 0 3px 0 #097cf2; color: #fff; display: block; width: 100%; height: 40px; padding-top: 12px; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none; line-height: 1; }

@media print, screen and (min-width: 768px) {
.bx_gyosya { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; width: 1030px; margin: 0 auto; padding: 0; }
.bx_gyosya:after { display: block; content: ""; width: 330px; height: 0; }
.bx_gyosya li { width: 330px; min-height: 660px; margin-bottom: 25px; padding-bottom: 50px; box-shadow: 0 4px 0 #c1d9f2; }
.bx_gyosya p { padding: 20px 20px; font-size: 16px; }
.bx_gyosya p a { font-size: 20px; }
.bx_gyosya .o_ttl { font-size: 20px; color: #097cf2; }
.bx_gyosya .center { text-align:center; }
.bx_gyosya .center img { text-align:center; width:100%;/* padding: 10px;*/ }
.bx_gyosya .btn { position: absolute; bottom: 20px; left: 20px; width: 290px; height: 50px; padding: 0; }
.bx_gyosya .btn a { box-shadow: 0 3px 0 #097cf2; height: 50px; padding-top: 15px; font-size: 16px; }
.bx_gyosya .btn a:hover { box-shadow: none !important; transform: translate3d(0, 3px, 0); }
}

.btn_heart { position: absolute; bottom: 0; right: 0; width: 100%; height: 30px; padding-right: 15px; color: #fff; font-size: 16px; font-weight: 500; text-align: right;
background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.21) 50%, rgba(0,0,0,0.21) 51%, rgba(0,0,0,0.5) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.21) 50%,rgba(0,0,0,0.21) 51%,rgba(0,0,0,0.5) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.21) 50%,rgba(0,0,0,0.21) 51%,rgba(0,0,0,0.5) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.btn_heart i { color: #f84444; margin-right: 7px; }
@media screen and (min-width: 768px) {
}

.bx_select { position: relative; margin: 0 auto 10px; padding: 15px; background: #fff; z-index: 5; text-align: left; }
.bx_select ul { }
.bx_select li { font-size: 16px; font-weight: 500; line-height: 1.4; }
.bx_select .step01:before, .bx_select .step02:before, .bx_select .step03:before { display: block; content: "STEP01"; color: #097cf2; font-weight: 700; font-size: 20px; font-family: sans-serif; }
.bx_select .step02:before { content: "STEP02"; }
.bx_select .step03:before { content: "STEP03"; }

@media screen and (min-width: 768px) {
.bx_select { width: 770px; margin: 0 auto 20px; padding: 15px 25px 25px; }
.bx_select ul { display: flex; justify-content: space-between; align-items: center; }
.bx_select li { width: 235px; }
.bx_select .step01:before, .bx_select .step02:before, .bx_select .step03:before { font-size: 26px; }
}

.cp_ipselect { overflow: hidden; margin: 10px 0 0; text-align: center; }
.cp_ipselect select { width: 220px; height: 50px; padding: 10px 10px; cursor: pointer; text-overflow: ellipsis; border: none; outline: none; background: transparent; background-image: none; box-shadow: none; -webkit-appearance: none; appearance: none; }
.cp_ipselect select::-ms-expand { display: none; }
.cp_ipselect.cp_sl01 { position: relative; border: 1px solid #6bb2fb; border-radius: 2px; background: #ecf9ff; }
.cp_ipselect.cp_sl01::before { position: absolute; top: 20px; right: 15px; width: 0; height: 0; padding: 0; content: ''; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #097cf2; pointer-events: none; }
.cp_ipselect.cp_sl01 select { padding: 0; color: #666666; }
@media print, screen and (min-width: 768px) {
.cp_ipselect select { padding: 15px 10px; }
}

/* bx_pager */
.bx_pager { display: flex; justify-content: space-between; align-items: center; margin: 15px; }
.bx_pager div { font-size: 14px; font-weight: 700; }
.bx_pager span { color: #097cf2; }
.bx_pager li { float: left; margin-right: 5px; }
.bx_pager li a, .bx_pager li span { display: flex; justify-content: center; align-items: center; width: 30px; height: 30px; border-radius: 3px; background: #9accff; color: #fff; font-size: 14px; font-weight: 700; box-shadow: 0 2px 0 #0a6bd0; }
.bx_pager li span, .bx_pager li a:hover { background: #409af7; }

@media print, screen and (min-width: 768px) {
.bx_pager { display: flex; justify-content: space-between; align-items: center; width: 1240px; margin: 30px auto; }
.bx_pager div { font-size: 16px; }
.bx_pager li a, .bx_pager li span { width: 40px; height: 40px; box-shadow: 0 3px 0 #0a6bd0; }
}

.bx_pagettl { display: flex; justify-content: center; align-items: center; padding: 15px; font-size: 20px; font-weight: 700; color: #fff; line-height: 1.4; }
@media print, screen and (min-width: 768px) {
.bx_pagettl { height: 280px; font-size: 42px; font-weight: 900; }
}

.bx_options, .bx_options a { color: #fff; }
.bx_options .breadcrumb { overflow: hidden; padding: 0 15px; }
.bx_options .breadcrumb li { float: left; margin-right: 10px; padding-right: 15px; font-size: 11px; vertical-align: middle; background: url(../img/ico_arw_c.png) no-repeat center right; background-size: 10px; line-height: 1.3; }
.bx_options .breadcrumb li:last-child { margin-right: 0; padding-right: 0; background: none; }
.bx_options hr { margin: 8px 15px 0; border-color: #fff; }
.bx_options .option { overflow: hidden; padding: 8px 15px 15px; }
.bx_options .option li { float: left; margin-right: 10px; font-size: 12px; font-weight: 500; }
.bx_options .option i { margin-right: 3px; color: #fff; }
.bx_options .heart i { color: #f84444; }

@media print, screen and (min-width: 768px) {
.bx_options .breadcrumb { padding: 0 0 30px; }
.bx_options .breadcrumb li { margin-right: 15px; padding-right: 25px; font-size: 14px; background: url(../img/ico_arw_c.png) no-repeat center right; background-size: auto; line-height: 1.4; }
.bx_options .breadcrumb li:last-child { margin-right: 0; padding-right: 0; background: none; }
.bx_options hr { margin: 0; }
.bx_options .option { padding: 20px 0 0; }
.bx_options .option li { margin-right: 20px; font-size: 16px; }
.bx_options .option i { margin-right: 7px; }
}

/* bx_breadcrumb */
.bx_breadcrumb { padding: 15px 10px; }
.bx_breadcrumb li { float: left; margin-right: 7px; padding-right: 14px; font-size: 11px; background: url(../img/ico_arw_a.png) no-repeat center right; background-size: 11px; vertical-align: middle; }
.bx_breadcrumb li:last-child { margin-right: 0; padding-right: 0; background: none; }
@media print, screen and (min-width: 768px) {
.bx_breadcrumb { width: 1160px; margin: 0 auto; padding: 30px 0; }
.bx_breadcrumb li { margin-right: 15px; padding-right: 25px; font-size: 14px; background: url(../img/ico_arw_a.png) no-repeat center right; background-size: 15px; }
.bx_breadcrumb li:last-child { margin-right: 0; padding-right: 0; background: none; }
}

/* bx_index */
.bx_index { padding: 15px 15px 0; }
article .bx_index { padding: 30px 0 0; }
.bx_index dl { padding: 15px 15px; background: #deecf7; counter-reset:number; }
.bx_index dt { font-size: 18px; font-weight: 500; }
.bx_index .ttl span { display: inline-block;  }

.bx_index dl div:before { display: inline-block; counter-increment: number; content: counter(number) " ."; margin-right: 5px; font-size: 14px; font-weight: 500; color: #097cf2; }
.bx_index dl div.none:before { content: ">>"; }
.bx_index dl div { margin: 12px 0; font-size: 14px; font-weight: 500; }

.bx_index #close_btn { font-size: 16px; font-weight: 500; text-align: right; }
.bx_index #close_btn:before { display: inline-block; content: ""; width: 17px; height: 17px; margin-right: 3px; background: url(../img/ico_open.png) no-repeat top left; vertical-align: middle; }
.bx_index #close_btn.close:before { background: url(../img/ico_close.png) no-repeat top left; }

@media print, screen and (min-width: 768px) {
.bx_index { padding: 40px 40px 0; }
article .bx_index { padding: 40px 40px 0; }
.bx_index dl { padding: 30px 40px; }
.bx_index dt { font-size: 20px; }
.bx_index dl div:before { margin-right: 5px; font-size: 16px; }
.bx_index dl div { font-size: 16px; }
}

.bx_snsbtn { position: fixed; bottom: 0; left: 0; z-index: 99; }
.bx_snsbtn ul { overflow: hidden; }
.bx_snsbtn li { float: left; }
.bx_snsbtn li a, .bx_snsbtn li span { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 50px; height: 50px; color: #fff; font-size: 12px; font-weight: 500; }
.bx_snsbtn li.qu a, .bx_snsbtn li.qu span { flex-direction: row; width: 180px; }
.bx_snsbtn li.tl a, .bx_snsbtn li.tl span { flex-direction: row; width: 150px; }
.bx_snsbtn .tw { background: #6ac5fa; box-shadow: 0 3px 0 #0c74b0; }
.bx_snsbtn .fb { background: #608ef6; box-shadow: 0 3px 0 #2357cd; }
.bx_snsbtn .ht { background: #f16060; box-shadow: 0 3px 0 #de2d2d; }
.bx_snsbtn .qu { background: #ff9d2b; box-shadow: 0 3px 0 #ca7818; }
.bx_snsbtn .tl { background: #1faa6d; box-shadow: 0 3px 0 #168c58; }
.bx_snsbtn li.qu a i, .bx_snsbtn li.qu span i,
.bx_snsbtn li.tl a i, .bx_snsbtn li.tl span i { margin-right: 5px; }

@media print, screen and (min-width: 768px) {
.bx_snsbtn { bottom: inherit;; left: inherit; top: 50%; right: 0; }
.bx_snsbtn ul { margin-top: -175px; }
.bx_snsbtn li { float: none; margin-bottom: 3px; }
.bx_snsbtn li a, .bx_snsbtn li span { width: 65px; height: 65px; font-size: 16px; }
.bx_snsbtn li.qu a, .bx_snsbtn li.qu span { width: 65px; height: 260px; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.bx_snsbtn li.tl a, .bx_snsbtn li.tl span { width: 65px; height: 220px; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.bx_snsbtn li:hover { box-shadow: none !important; transform: translate3d(0, 3px, 0); }
.bx_snsbtn li.qu a i, .bx_snsbtn li.qu span i { margin-right: 0; margin-bottom: 5px; }
.bx_snsbtn li.tl a i, .bx_snsbtn li.tl span i { margin-right: 0; margin-bottom: 5px; }
}

/* bx_form */
.bx_form { margin: 30px auto; padding: 15px; background: #fff; }
.bx_form table { width: 100%; text-align: left; }
.bx_form th { position: relative; display: block; width: 100%; padding: 12px 0; border-bottom: 1px solid #d0d0d0; font-size: 16px; line-height: 1.4; vertical-align: middle; }
.bx_form th.rep:before { position: absolute; top: 50%; right: 10px; margin-top: -15px; content: "必須"; color: #fff; font-size: 11px; font-weight: 700; display: inline-block; padding: 3px 5px; background: #f84444; }
.bx_form td { display: block; width: 100%; padding: 12px 0; font-size: 16px; line-height: 1.4; vertical-align: middle; font-weight: 500; }
.bx_form td + td { padding: 0 0 12px; }
.bx_form ul { display: flex; justify-content: space-between; align-items: center; }
.bx_form ol li { float: left; margin-right: 10px; }
.bx_form .c01 { font-size: 11px; color: #666; line-height: 1.4; }
.bx_form .c02 { padding: 10px; background: #fff5f5; font-size: 12px; color: #f84444; line-height: 1.4; }
.bx_form .c02 a { font-size: 16px; font-weight: 700; color: #f84444; }
.bx_form .w200, .bx_form .w300 { width: 100% !important; }

@media print, screen and (min-width: 768px) {
.bx_form { width: 950px; margin: 60px auto; padding: 40px; }
.bx_form th { display: table-cell; width: 200px; padding: 20px 0; border-top: 1px solid #d0d0d0; border-right: 1px solid #d0d0d0; font-size: 18px; line-height: 1.2; }
.bx_form th.rep:before { right: 15px; font-size: 13px; padding: 6px 8px; }
.bx_form td { display: table-cell; width: inherit; padding: 20px 0 20px 20px; border-top: 1px solid #d0d0d0; border-bottom: 1px solid #d0d0d0; font-size: 18px; line-height: 1.2; }
.bx_form td + td { padding: 20px 0 20px 20px; }
.bx_form ol li { margin-right: 20px; }
.bx_form .c01 { font-size: 12px; }
.bx_form .c02 { padding: 15px; font-size: 13px; }
.bx_form .c02 a { font-size: 18px; }
.bx_form .w200 { width: 200px !important; }
.bx_form .w300 { width: 300px !important; }
}

/* bx_flow */
.bx_flow { margin-bottom: 15px; background: #ff971d; text-align: center; counter-reset:flow; }
.bx_flow li { padding: 15px 10px; color: #fff; font-weight: 500; font-size: 13px; background: url(../img/ico_arw_c.png) no-repeat center right; background-size: 10px; }
.bx_flow li:last-child { background: none; }
.bx_flow li.current { background: #ffb155 url(../img/ico_arw_c.png) no-repeat center right; background-size: 10px; }
.bx_flow li:last-child.current { background: #ffb155; }
.bx_flow li:before { display: inline-block; width: 18px; height: 18px; padding-top: 0; box-sizing: border-box; line-height: 1.5; counter-increment: flow; content: counter(flow); margin-right: 5px; border-radius: 50%; background: #fffaf0; color: #ff971d; text-align: center; font-size: 11px; }

@media print, screen and (min-width: 768px) {
.bx_flow { margin-bottom: 30px; }
.bx_flow li { width: calc(100% / 3); padding: 20px 0; display: flex; justify-content: center; align-items: center; font-size: 18px; background: url(../img/ico_arw_c.png) no-repeat center right 20px; background-size: auto; }
.bx_flow li.current { background: #ffb155 url(../img/ico_arw_c.png) no-repeat center right; background-size: auto; }
.bx_flow li:before { width: 24px; height: 24px; padding-top: 1px; margin-right: 10px; border-radius: 50%; font-size: 14px; }
}

/*-------------------------------------------------------------------------*/
/* article
/*-------------------------------------------------------------------------*/

article { position: relative; padding: 0 15px; }

@media print, screen and (min-width: 768px) {
article { max-width: 1160px; min-width: 1030px; margin: 0 auto; padding: 0; }
}

article a[target="_blank"] { padding-right: 20px; background: url(../img/ico_wind.png) no-repeat top right; vertical-align: middle; }
article p { margin: 15px 0 0; font-size: 14px; font-weight: 300; }
article strong { font-size: 16px; font-weight: 500; color: #e41001; }
article em { font-style: italic; text-decoration: underline; font-weight: 500; }
@media print, screen and (min-width: 768px) {
article p { margin: 25px 0 0; font-size: 16px; line-height: 1.6; }
article div p { margin: 15px 0 0; }
article strong { font-size: 18px; }
}

article h1 { margin: 30px 0 10px; font-size: 22px; font-weight: 700; line-height: 1.2; color: #097cf2; background-color: #ecf9ff; text-align: left; padding: 1.2rem 0.6rem;}
@media print, screen and (min-width: 768px) {
article h1 { margin: 40px 0 10px; font-size: 40px; padding: 1.5rem 0.8rem;}
}

article h2 { position: relative; clear: both; margin: 30px -15px 0; padding: 15px 10px; font-size: 20px; font-weight: 500; color: #fff; background: #097cf2; line-height: 1.4; }
@media print, screen and (min-width: 768px) {
article h2 { margin: 70px 0 0; padding: 15px 20px; font-size: 24px; }
}

article h2:before { position: absolute; top: -25px; left: 0; display: inline-block; padding: 10px 5px; background: #fff; color: #005bac; font-size: 12px; font-weight: 500; }
@media print, screen and (min-width: 768px) {
article h2:before { top: -20px; left: 0; padding: 15px 10px; font-size: 16px; }
}

article h3 {  position: relative; clear: both; margin: 30px 0 0; padding: 0 0 12px 12px; font-size: 18px; font-weight: 500; border-bottom: 1px solid #d0d0d0; line-height: 1.2; }
article h3:before { position: absolute; top: 0; left: 0; display: inline-block; content: ""; width: 6px; height: 18px; background: #097cf2; }

@media print, screen and (min-width: 768px) {
article h3 { margin: 40px 0 0; padding: 3px 0 14px 25px; font-size: 22px; }
article h3:before { position: absolute; top: 0; left: 0; display: inline-block; content: ""; width: 8px; height: 36px; background: #097cf2; }
}

article h4 { position: relative; clear: both; margin: 20px 0 0; padding: 10px 0 0; font-size: 16px; font-weight: 700; /*background: #deecf7;*/ color: #097cf2; line-height: 1.3; }
@media print, screen and (min-width: 768px) {
article h4 { margin: 40px 0 0; padding: 15px 0 0; font-size: 22px; }
}

article h5 { margin: 15px 0 0; font-size: 16px; line-height: 1.4; }
@media print, screen and (min-width: 768px) {
article h5 { margin: 30px 0 0; font-size: 18px; font-weight: 500; }
}

article .h5 { margin: 15px 0 0; font-size: 16px; line-height: 1.4; }
@media print, screen and (min-width: 768px) {
article .h5 { margin: 30px 0 0; font-size: 18px; font-weight: 500; }
}

/* figure */
article figure { margin: 15px 0; text-align: center; }
article figcaption { margin: 10px 0; font-size: 12px; }
@media print, screen and (min-width: 768px) {
article figure { margin: 120px 0 60px 0; }
article figcaption { margin: 15px 0; font-size: 14px; }
}

article .ph-r,article .ph-l { margin: 10px; }
@media print, screen and (min-width: 768px) {
article .ph-r { float: right; margin: 25px 0 0 50px; }
article .ph-l { float: left; margin: 25px 50px 0 0; }
}

/* table */
article table { width: 100%; margin: 25px 0 0; text-align: center; }
article table th { min-width: 100px; padding: 10px; font-size: 13px; vertical-align: middle; color: #097cf2; background: #ecf9ff; border: 1px solid #b3d5f2; line-height: 1.4; font-weight: 500; }
article table td { padding: 10px; vertical-align: middle; font-size: 13px; border: 1px solid #b3d5f2; line-height: 1.4; }

@media print, screen and (min-width: 768px) {
article table { width: 100%; margin: 40px 0 0; }
article table th { min-width: 180px; padding: 20px; font-size: 16px; }
article table td { padding: 20px; font-size: 16px; }
}

/* point */
article .point { position: relative; margin: 30px 0 0; padding: 15px; background: #feefef; border: 1px solid #fdbec0; }
article .point:before { position: absolute; top: -10px; left: -10px; content: "この記事のポイント"; color: #fff; font-size: 11px; font-weight: 700; display: inline-block; padding: 5px 8px 5px 28px; background: #f84444 url(../img/ico_point.png) no-repeat top 1px left 6px; }

@media print, screen and (min-width: 768px) {
article .point { margin: 60px 5% 40px; padding: 0 40px 30px; }
article .point:before { top: -20px; left: -30px; font-size: 13px; padding: 10px 15px 12px 35px; background: #f84444 url(../img/ico_point.png) no-repeat top 6px left 12px; }
}

/* this */
article .this { position: relative; margin: 30px 0 0; padding: 15px; background: #effaff; border: 1px solid #9fc9f3; }
article .this:before { position: absolute; top: -10px; left: -10px; content: "こちらも読まれています"; color: #fff; font-size: 11px; font-weight: 700; display: inline-block; padding: 5px 8px 5px 28px; background: #097cf2 url(../img/ico_this.png) no-repeat top 1px left 6px; }
article .this a { font-size: 14px; font-weight: 500; }

@media print, screen and (min-width: 768px) {
article .this { margin: 60px 5% 40px; padding: 25px; }
article .this:before { top: -20px; left: -30px; font-size: 13px; padding: 10px 15px 12px 35px; background: #097cf2 url(../img/ico_this.png) no-repeat top 8px left 14px; }
article .this div { float: left; width: 30%; }
article .this p { float: right; width: 70%; padding-left: 25px; }
article .this a { font-size: 18px; }
}

/* ul */
article ul { margin: 25px 0 0; padding: 15px; background: #ecf9ff; }
article ul li { padding: 0 0 10px; font-size: 14px; font-weight: 400; line-height: 1.4; }
article ul li:before { display: inline-block; content: ""; width: 12px; height: 12px; margin-right: 3px; background: url(../img/ico_hash.png) no-repeat; vertical-align: middle; background-size: 10px; }

@media print, screen and (min-width: 768px) {
article ul { margin: 40px; padding: 30px 40px 15px; }
article ul li { padding: 0 0 20px; font-size: 16px; }
article ul li:before { width: 16px; height: 16px; margin-right: 10px; background: url(../img/ico_hash.png) no-repeat; background-size: 16px; }
}

/* ol */
article ol {  margin: 25px 0 0; padding: 15px; counter-reset:number; list-style: none; background: #ecf9ff; }
article ol li { padding: 0 0 10px; font-size: 14px; font-weight: 400; line-height: 1.6; }
article ol li:before { display: inline-block; width: 15px; height: 15px; padding-top: 0; box-sizing: border-box; line-height: 1.5; counter-increment: number; content: counter(number); margin-right: 3px; border-radius: 50%; background: #097cf2; color: #fff; text-align: center; font-size: 10px; }
@media print, screen and (min-width: 768px) {
article ol { margin: 40px; padding: 30px 40px 15px; }
article ol li { padding: 0 0 15px; font-size: 16px; }
article ol li:before { width: 24px; height: 24px; padding-top: 1px; margin-right: 10px; font-size: 13px; }
}

/* blockquote */
article blockquote { position: relative; margin: 30px 0 0; padding: 15px; background: #f3f3f3; line-height: 1.4; font-size: 14px; }
article blockquote:before { display: inline-block; content: ""; width: 17px; height: 17px; margin-right: 7px; background: url(../img/ico_quote_left.png) no-repeat;}
article blockquote:after { display: inline-block; content: ""; width: 17px; height: 17px; margin-left: 7px; background: url(../img/ico_quote_right.png) no-repeat;}

@media print, screen and (min-width: 768px) {
article blockquote { margin: 40px 5% 0; padding: 25px; font-size: 16px; }
}

/* link */
article .link { margin: 20px 10px; padding: 15px; background: #f3f8ff; text-align: center; line-height: 1.4; }
article .link:before { display: inline-block; content: ""; width: 23px; height: 23px; margin-right: 10px; background: url(../img/arw_blue.png) no-repeat; vertical-align: middle; }
@media print, screen and (min-width: 768px) {
article .link { margin: 40px 0 0; padding: 35px 35px; }
}

/* input */
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=number] { width: 100%; height: 40px; border-radius: 5px; padding: 3px; font-size: 16px; font-weight: 400; border: 1px solid #c0c0c0; vertical-align: text-bottom; }
.form textarea { width: 100%; height: 80px; padding: 3px; border: 1px solid #c0c0c0; font-size: 16px; font-weight: 400; border-radius: 5px; vertical-align: text-bottom; }
@media print, screen and (min-width: 768px) {
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=number] { width: auto; height: 40px; padding: 6px; font-size: 18px; }
.form textarea { width: 600px; height: 100px; padding: 6px; font-size: 18px; }
}


.form input[type=button] { display: inline-block; height: 40px; margin-top: 5px; padding: 3px 5px; font-size: 11px; font-weight: 400; border: none; color: #fff; background: #005bac; }
@media print, screen and (min-width: 768px) {
.form input[type=button] { font-size: 14px; }
}

/*
.form input[type=submit] { display: inline-block; height: 40px; margin-top: 5px; padding: 3px 5px; font-size: 11px; font-weight: 400; border-radius: 4px; box-shadow: 0 1px 2px 0; color: #fff; background: #005bac; }
@media print, screen and (min-width: 768px) {
.form input[type=submit] { font-size: 14px; margin: -25px 0 0 10px; }
}
;*/
.form input[type=submit] { -webkit-appearance: none; display: inline-block; height: 40px; margin-top: -23px; padding: 5px 15px; font-weight: 400; border-radius: 4px; color: #fff; background: #097cf2; border-radius: 4px;/* box-shadow: 0 3px 0 #c1d9f2;*/ }
@media print, screen and (min-width: 768px) {
.form input[type=submit] { font-size: 14px; margin: -25px 0 0 10px;}
}

.form button[type=button] { display: inline-block; margin-top: 5px; padding: 0.5em 1em;text-decoration: none;background: #668ad8;color: #FFF;border-bottom: solid 4px #627295;border-radius: 3px; }
/*.form button[type=button] { -webkit-appearance: none; display: inline-block; height: 40px;  margin-top: -23px; padding: 5px 15px; font-weight: 400; border-radius: 4px; color: #fff; background: #668ad8; border-bottom: solid 4px #627295; border-radius: 4px; }*/
/*.form:active button[type=button] { -webkit-transform: translateY(4px); transform: translateY(4px); border-bottom: none; }*/
/*
@media print, screen and (min-width: 768px) {
.form button[type=button] { font-size: 14px; margin: -25px 0 0 10px;}
}
*/
.form p { margin: 15px 0 0; font-size: 14px; font-weight: 300; }
@media print, screen and (min-width: 768px) {
.form p { margin: 25px 0 0; font-size: 16px; line-height: 1.6; }
}

/* select_box */
.form .select_box select { position: relative; min-width: 75px; height: 40px; padding: 4px; font-size: 16px; font-weight: 400; border: none; background: #deecf7; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.form .select_box label { display: inline-block; position: relative; }
.form .select_box label:after { display: inline-block; content: ""; position: absolute; top: 50%; right: 8px; width: 14px; height: 14px; margin-top: -7px; background: url(../img/arw_select.png) no-repeat; background-size: 14px; pointer-events: none; z-index: 997; vertical-align: middle; }
@media print, screen and (min-width: 768px) {
.form .select_box select { min-width: 80px; }
}

/* checkbox radio */
.form input[type="checkbox"], .form input[type="radio"] { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.form label { position: relative; display: block; word-break: break-all; }
.form label input[type="checkbox"] + span,
.form label input[type="radio"] + span { position: relative; padding: 0 0 0 20px; vertical-align: middle; }
.form label span{display:inline-block;}
.form label input[type="checkbox"] ,.form label input[type="radio"] {position:absolute;top:0;left:0;opacity:0;}
.form label input[type="checkbox"] + span::before,.form label input[type="checkbox"] + span::after{position:absolute;top:0;left:0;display:inline-block;content:'';box-sizing:border-box;}
.form label input[type="checkbox"] + span::before{z-index:0;background-color:transparent;width: 15px;height: 15px;border: 1px #6bb2fb solid; }
.form label input[type="checkbox"] + span::after{ z-index:1; width:7px; height:10px; margin: 1px 4px;}
.form label input[type="checkbox"]:checked + span::before{ background-color:#fff;}
.form label input[type="checkbox"]:checked + span::after{ border:1px solid #0c64bd;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg); border-width:0 2px 2px 0;}
.form label input[type="radio"] + span::before{position:absolute;display:inline-block;content:'';box-sizing:border-box; border-radius: 18px;z-index:0;top:0;left:0;background-color:transparent;width: 18px;height: 18px;border: 1px #fa2525 solid;}
.form label input[type="radio"]:checked + span::after{ position:absolute;display:inline-block;content:'';box-sizing:border-box; border-radius: 12px;z-index:0;top: 3px;left: 3px;background-color:transparent;width: 12px;height: 12px; background: #fa2525; }

@media print, screen and (min-width: 768px) {
}

.form_kiyaku { overflow: auto; width: 100%; height: 140px; margin: 10px 0; text-align: left; color: #999; font-size: 12px; }
.form_kiyaku p { padding: 10px 0; }
.form_check { position: relative; margin: 15px 0 30px; font-size: 14px; font-weight: 700; }

@media print, screen and (min-width: 768px) {
.form_kiyaku { margin: 20px 0; }
.form_check { margin: 0; }
}

.box_txt { position: relative; padding: 0 15px /*30px*/0 15px; }
.box_txt input[type=text], .form input[type=email], .form input[type=tel], .form input[type=number] { width: 80%; }
.box_txt p { margin: 15px 0 0; font-size: 14px; font-weight: 300; }
.box_txt h3 {  position: relative; clear: both; margin: 30px 0 0; padding: 0 0 12px 12px; font-size: 18px; font-weight: 500; border-bottom: 1px solid #d0d0d0; line-height: 1.2; }
.box_txt h3:before { position: absolute; top: 0; left: 0; display: inline-block; content: ""; width: 6px; height: 18px; background: #097cf2; }

@media print, screen and (min-width: 768px) {
.box_txt { max-width: 1160px; min-width: 1030px; margin: 0 auto; padding: 0; }
/* .box_txt { text-align: center; } */
.box_txt input[type=text], .form input[type=email], .form input[type=tel], .form input[type=number] { width: auto; }
.box_txt p { margin: 25px 0 0; font-size: 16px; line-height: 1.6; }
.box_txt h3 { margin: 40px 0 0; padding: 3px 0 14px 25px; font-size: 22px; }
.box_txt h3:before { position: absolute; top: 0; left: 0; display: inline-block; content: ""; width: 8px; height: 36px; background: #097cf2; }
}

.form_btn { position: relative; margin: 15px auto; }
.form_btn input[type="submit"] { display: block; background: #ff9d2b; border-radius: 4px; box-shadow: 0 4px 0 #ca7818; color: #fff; display: block; width: 100%; height: 70px; margin: 0 auto;  padding-top: 5px; font-size: 18px; font-weight: 700; text-align: center; text-decoration: none; line-height: 1; cursor: pointer; }
.form_btn input[type="submit"] i { margin-right: 5px; }

@media print, screen and (min-width: 768px) {
.form_btn { margin: 30px auto; }
.form_btn input[type="submit"] { width: 380px; height: 90px; font-size: 24px; }
.form_btn input[type="submit"] i { margin-right: 7px; }
.form_btn input[type="submit"]:hover { box-shadow: none !important; transform: translate3d(0, 4px, 0); }
}

.box_top { margin-top: 20px; }

@media print, screen and (min-width: 768px) {
.box_top {  }
}

.box_btm { margin-bottom: 20px; }

@media print, screen and (min-width: 768px) {
.box_btm {  }
}

.more { text-align: right; margin: 25px 15px 0 0; }

@media print, screen and (min-width: 768px) {
.more { text-align: right; margin: 50px 75px 0 0; font-size: 1.3em;}
}

/*-------------------------------------------------------------------------*/
/* cta
/*-------------------------------------------------------------------------*/
/* p_btn */
.p_btn a, .p_btn button { position:relative; display:inline-block; padding: 12px 10px; text-align:center;vertical-align:middle;text-decoration:none; letter-spacing:.05em; font-weight: 500; border-radius: 5px; color: #fff; background-color: #ff9900; border-bottom:3px solid #da8300; font-size: 14px; }
.sec_infomation .p_btn a { padding: 15px 20px; font-size: 16px; }

.p_btn_gp { display: flex; justify-content: center; align-items: center; height: 50px; }
.p_btn_gp > div { margin: 0 10px; }
.p_btn_gp .p_btn a { padding: 12px 10px; font-size: 14px; border-bottom:3px solid #da8300 }

.p_btn.ao a { background-color: #244a8b; border-bottom:3px solid #153161 }
.p_btn i { margin-right: 4px; }

@media print, screen and (min-width: 768px) {
.p_btn a, .p_btn button { padding: 20px 40px; -webkit-transition:all .3s; transition:all .3s; border-radius:.5rem; cursor: pointer; border-bottom:5px solid #da8300; font-size: 18px; }
.sec_infomation .p_btn a { padding: 20px 40px; font-size: 18px; }
.p_btn a:hover, .p_btn button:hover { margin-top:3px; color:#111; background: #ffff3f; border-bottom: 3px solid #111}
.p_btn_gp { height: 100px; }
.p_btn_gp > div { margin: 0 30px; }
.p_btn_gp .p_btn a { padding: 30px 50px; font-size: 22px; border-bottom:6px solid #da8300 }
.p_btn.ao a { border-bottom:6px solid #153161 }
.p_btn.ao a:hover { color:#111; background: #ffff3f; border-bottom: 4px solid #111}
.p_btn i { margin-right: 8px; }
}

/* p_tel */
.p_tel { font-size: 12px; font-weight: 400; }
#header .p_tel { display: none; }
.p_tel div { text-align: left; }
.p_tel p { font-size: 12px; }
.p_tel a { font-size: 36px; font-weight: 600; color: #11a73b !important; }
.p_tel i { margin-right: 8px; }

@media print, screen and (min-width: 768px) {
#header .p_tel { display: block; }
}

/* sec_infomation */
.sec_infomation { background: #f0faff; }
.sec_infomation .chach { position: relative; padding: 20px 10px; text-align: center; }

.sec_infomation .chach:before { position: absolute; top: -30px; left: -15px; display: inline-block; width: 130px; height: 115px; content: ""; background: url(/module/lp/img/img_catch02.png) no-repeat; background-size: cover; }

.sec_infomation .p_txt { /*margin-left: 110px;*/margin: 0 0 5px 110px; font-size: 14px; font-weight: 600; line-height: 1.6; }
.sec_infomation .p_btn { margin-left: 110px; }
.sec_infomation .p_tel { margin: 0 auto; }

@media print, screen and (min-width: 768px) {
.sec_infomation .chach { display: flex; justify-content: space-between; align-items: center; width: 1100px; height: 160px; margin: 0 auto; padding: 0 0 0 200px; text-align: left;}

.sec_infomation .chach:before { top: inherit; bottom: 0; left: 0; width: 173px; height: 153px; background: url(/module/lp/img/img_catch02.png) no-repeat; background-size: cover; }

.sec_infomation .p_txt { margin-left: 0; font-size: 20px; line-height: 1.8; }
.sec_infomation .p_btn { margin-left: 0; }
.sec_infomation .p_tel { margin: 0; }
}


/*-------------------------------------------------------------------------*/
/* wp-image
/*-------------------------------------------------------------------------*/
img.aligncenter,img.alignnone,img.alignleft,img.alignright { margin-left: auto; margin-right: auto; margin-bottom: 1em; display: block; }

@media screen and (min-width: 768px) {
img.aligncenter,img.alignnone { margin-left: auto; margin-right: auto; display: block; }
img.alignleft { float: left; margin: 0 1em 1.5em 0;}
img.alignright { float: right; margin: 0 0 1.5em 1em;}
}

/*-------------------------------------------------------------------------*/
/* pen
/*-------------------------------------------------------------------------*/
.pen_blue { /*font-size: 16px;*/ font-weight: 500; color: #047ec9; }

/*-------------------------------------------------------------------------*/
/* modal
/*-------------------------------------------------------------------------*/
.modalBack {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,.6);
  z-index: 9998;
  display: none;
}
.modalBack .modalBack__inner {
  max-width: 650px;
  width: 90%;
  box-shadow: 0 0 10px 0 rgba(61, 38, 38, 0.4);
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 9999;
  border-radius: 5px;
}
.modalBack .modalBack__inner .btnClose {
  font-size: 50px;
  color: #fff;
  line-height: 1;
  position: absolute;
  top: -56px;
  right: -3px;
}
.modalBack .modalBack__cont {
  border-radius: 5px;
  overflow: hidden;
  text-align: center;
}
.modalBack .modalBack__cont .modalBack__ttl {
  font-size: 34px;
  background: #0d53bc;
  color: #ffff00;
  font-weight: bold;
  line-height: 1;
  padding: 20px 10px;
  margin-bottom: 30px;
}
.modalBack .modalBack__cont p {
  padding-right: 30px;
  padding-left: 30px;
}
.modalBack .modalBack__cont p:not([class]) + p:not([class]) {
  margin-top: 25px;
}
.modalBack .modalBack__cont .emText {
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 30px;
  padding: 0 70px;
  display: inline-block;
  position: relative;
}
.modalBack .modalBack__cont .emText::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 70px;
  height: 4px;
  background-color: #333;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.modalBack .modalBack__cont .emText::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 70px;
  height: 4px;
  background-color: #333;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.modalBack .modalBack__cont .emText b {
  font-size: 135%;
}
.modalBack .modalBack__cont .contactWrap {
  background: #f0faff;
  padding: 20px 10px;
  margin-top: 26px;
}
.modalBack .modalBack__cont .contactWrap .tel p {
  font-size: 16px;
}
.modalBack .modalBack__cont .contactWrap .tel a {
  font-size: 36px;
  font-weight: 600;
  color: #11a73b !important;
}
.modalBack .modalBack__cont .contactWrap .tel a i {
  margin-right: 8px;
}
.modalBack .modalBack__cont .contactWrap .btn {
  margin-top: 14px;
}
.modalBack .modalBack__cont .contactWrap .btn a {
  padding: 20px 40px;
  font-size: 18px;
  -webkit-transition: all .3s;
  transition: all .3s;
  border-radius: 0.5rem;
  cursor: pointer;
  border-bottom: 5px solid #da8300;
  position: relative;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: .05em;
  font-weight: 500;
  color: #fff;
  background-color: #ff9900;
}
.modalBack .modalBack__cont .contactWrap .btn a:hover {
  margin-top: 3px;
  color: #111;
  background: #ffff3f;
  border-bottom: 3px solid #111;
}
.modalBack .modalBack__cont .contactWrap .btn a i {
  margin-right: 8px;
}
@media print, screen and (max-width: 768px) {
  .modalBack .modalBack__inner {
    top: 10%;
    transform: translate(-50%, 0);
  }
  .modalBack .modalBack__cont {
    overflow-y: auto;
    max-height: calc(90vh - 30px);
  }
  .modalBack .modalBack__cont .modalBack__ttl {
    font-size: 28px;
  }
  .modalBack .modalBack__cont .contactWrap .tel p {
    font-size: 14px;
  }
  .modalBack .modalBack__cont .contactWrap .tel a {
    font-size: 28px;
  }
  .modalBack .modalBack__cont .contactWrap .tel a i {
    margin-right: 3px;
  }
}

article .date {
  margin-bottom: 20px;
  text-align: right;
}
article .date > * {
  display: inline-block;
  margin: 0 1em 0 0 !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
  color: #B8B8B8;
}
@media screen and (min-width: 0) and (max-width: 767px) {
  article .date {
    margin-bottom: 15px;
  }
  article .date > * {
    font-size: 0.9rem !important;
  }
}

/* --- 補足・注記用のグレー文字(参考坪単価セル・※注記文など) --- */
.kh-sub {
  color: #666;
}
 
/* --- さらに控えめな注記(表内の「(参考)」など) --- */
.kh-note {
  color: #999;
}
 
 
/* --- 坪数別・総額の目安テーブル --- */
.kh-cost-table {
  table-layout: fixed;
  width: 100%;
}
 
/* 列幅指定: 1列目=延べ床面積(広め) / 参考坪単価(狭め) / 総額(中) ×3構造
   <colgroup>の各<col>に対して nth-child で幅を当てる            */
.kh-cost-table col:nth-child(1) { width: 16%; } /* 延べ床面積 */
.kh-cost-table col:nth-child(2) { width: 10%; } /* 木造 参考坪単価 */
.kh-cost-table col:nth-child(3) { width: 18%; } /* 木造 総額 */
.kh-cost-table col:nth-child(4) { width: 10%; } /* 鉄骨造 参考坪単価 */
.kh-cost-table col:nth-child(5) { width: 18%; } /* 鉄骨造 総額 */
.kh-cost-table col:nth-child(6) { width: 10%; } /* RC造 参考坪単価 */
.kh-cost-table col:nth-child(7) { width: 18%; } /* RC造 総額 */
