@charset "UTF-8";
/*=============================================================
 02_base
=============================================================*/
/*!  02_base
================================================ */
@font-face {font-family: 'icomoon'; src: url("fonts/icomoon.eot?80bepj"); src: url("fonts/icomoon.eot?80bepj#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?80bepj") format("truetype"), url("fonts/icomoon.woff?80bepj") format("woff"), url("fonts/icomoon.svg?80bepj#icomoon") format("svg"); font-weight: normal; font-style: normal; }

.icon-tel:before { content: "\e900"; font-family: 'icomoon'; }

html { overflow: auto; }

body { min-width: 320px; font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; color: #333; font-size: 1.4rem; line-height: 1.9; letter-spacing: .05em; overflow: hidden; }

@media all and (min-width: 600px) { body { min-width: 1100px; font-size: 1.6rem; } }

a { color: #333; text-decoration: underline; }

@media all and (min-width: 600px) { a:hover { text-decoration: none; } }

.alpha { display: block; text-decoration: none; }

@media all and (min-width: 600px) { .alpha { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  .alpha:hover { opacity: .7; } }

img { max-width: 100%; height: auto; }

@media all and (max-width: 599px) { .viewPc { display: none; } }

@media all and (min-width: 600px) { .viewSp { display: none; } }

.cf:after { content: ''; display: block; clear: both; }

#mediaQuery { display: none; font-family: 'sp'; }

@media all and (min-width: 600px) { #mediaQuery { font-family: 'pc'; } }

/*! layout
-------------------------------------- */
#wrapper { position: relative; }

main { position: relative; display: block; }

span, em, small, strong { font-weight: inherit; }

.en { font-family: "Oswald","Noto Sans JP", "Hiragino Kaku Gothic ProN",YuGothic,'Yu Gothic',"メイリオ", sans-serif; letter-spacing: 0; }

.num { font-family: "Roboto","Noto Sans JP", "Hiragino Kaku Gothic ProN",YuGothic,'Yu Gothic',"メイリオ", sans-serif; letter-spacing: 0; font-weight: 700; }

/*=============================================================
 03_layout
=============================================================*/
/* #gHeader
================================================ */
#gHeader { position: relative; top: 0; left: 0; width: 100%; z-index: 100; }

@media all and (min-width: 600px) { #gHeader { background: #fff; } }

@media all and (min-width: 600px) { #gHeader.is_fixed { position: fixed; z-index: 100; top: 0; left: 0; } }

/* #hdInfo
-------------------------------------- */
#hdInfo { position: relative; box-sizing: border-box; height: 75px; background: #fff; padding: 0 0 0 20px; }

@media all and (min-width: 600px) { #hdInfo { background: #fff; max-width: 1120px; min-width: 1070px; height: 90px; margin: 0 auto; padding: 17px 10px 12px; } }

#hdInfo .hdTxt { display: inline-block; padding: 5px 75px 0 0; color: #9b9b9b; font-size: 0.7rem; line-height: 1.2; }

@media all and (min-width: 600px) { #hdInfo .hdTxt { position: absolute; top: 0; left: 0; padding-left: 10px; padding-bottom: 5px; font-size: 1.3rem; } }

@media all and (min-width: 600px) { #hdInfo .logoWrap { float: none; } }

#hdInfo .logo { float: left; width: 136px; padding: 2px 0 2px 0; }

@media all and (min-width: 600px) { #hdInfo .logo { float: left; width: 273px; padding: 5px 0 0 0; } }

#hdInfo .txt { padding-top: 17px; font-size: 1rem; line-height: 1.2; }

@media all and (min-width: 600px) { #hdInfo .txt { padding-top: 20px; font-size: 1.6rem; line-height: 1.5; } }

#hdInfo .btnGnav { display: inline-block; position: fixed; z-index: 101; top: 0; right: 0; width: 75px; height: 75px; background: #fcdd0f; cursor: pointer; }

#hdInfo .btnGnav .line { display: inline-block; position: absolute; left: 26px; width: 26px; height: 2px; content: ''; background: #333; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#hdInfo .btnGnav .line:nth-child(1) { top: 31px; }

#hdInfo .btnGnav .line:nth-child(2) { top: 39px; }

#hdInfo .btnGnav .line:nth-child(3) { top: 47px; }

#hdInfo .btnGnav.is_open .line:nth-child(1) { -ms-transform: translateY(8px) rotate(-45deg); transform: translateY(8px) rotate(-45deg); -webkit-transform: translateY(8px) rotate(-45deg); }

#hdInfo .btnGnav.is_open .line:nth-child(2) { opacity: 0; }

#hdInfo .btnGnav.is_open .line:nth-child(3) { -ms-transform: translateY(-8px) rotate(45deg); transform: translateY(-8px) rotate(45deg); -webkit-transform: translateY(-8px) rotate(45deg); }

#hdInfo .btnGnav .chara { position: absolute; left: 0; bottom: 3px; width: 100%; font-size: 1rem; line-height: 1.2; text-align: center; }

@media all and (min-width: 600px) { #hdInfo .btnGnav { display: none; } }

/* #gNav
================================================ */
#gNav { display: none; position: fixed; top: 0; left: 0; width: 100%; min-width: 320px; padding: 0; background: #fff; box-sizing: border-box; }

@media all and (max-width: 599px) { #gNav .logo { float: none; width: 100%; height: 75px; padding: 0; border-bottom: 1px solid #c5c5c5; box-sizing: border-box; }
  #gNav .logo a { display: block; padding: 20px 0 0 20px; }
  #gNav .logo img { width: 149px; vertical-align: top; }
  #gNav .item { border-bottom: 1px solid #eaeaea; font-size: 1.6rem; font-weight: 700; }
  #gNav .item > a { position: relative; padding: 14px 20px; }
  #gNav .item > a:before { content: ""; display: block; position: absolute; top: 50%; right: 20px; width: 6px; height: 6px; border-top: 2px solid #333; border-right: 2px solid #333; -ms-transform-origin: right top; transform-origin: right top; -webkit-transform-origin: right top; -ms-transform: rotate(45deg); transform: rotate(45deg); -webkit-transform: rotate(45deg); }
  #gNav .contact { padding: 30px 20px; border-bottom: none; }
  #gNav .contact a { text-align: center; } }

@media all and (min-width: 600px) { #gNav { position: absolute; display: block; position: static; width: 100%; min-width: auto; padding: 0; text-align: center; }
  #gNav .list { text-align: left; letter-spacing: -.5em; }
  #gNav .item { display: inline-block; letter-spacing: .05em; font-size: 1.4rem; font-weight: 500; }
  #gNav .item a { padding: 13px 11px 13px 12px; }
  #gNav .item.viewSp { display: none; } }

#gNav a { display: block; text-decoration: none; }

#gNav a:hover { text-decoration: underline; }

/* #overlay
================================================ */
#overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.25); z-index: 99; }

@media all and (min-width: 600px) { #overlay { display: none !important; } }

/* #loading
================================================ */
#loading { opacity: 0; position: absolute; width: 100%; left: 0; top: 50%; padding: 0 10px; -ms-transform: translateY(-50%); transform: translateY(-50%); -webkit-transform: translateY(-50%); -webkit-transition: .5s; transition: .5s; text-align: center; box-sizing: border-box; }

#loader-bg { position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; background: #fff; z-index: 200; }

/* #mainVisual HOME
================================================ */
@media all and (min-width: 600px) { #mainVisual { height: 765px; text-align: center; position: relative; } }

#mainVisual .inner { position: relative; z-index: 2; padding: 140px 4.5% 25%; }

@media all and (max-width: 599px) { #mainVisual .inner { text-shadow: 0px 5px 7px rgba(0, 0, 0, 0.1); } }

@media all and (min-width: 600px) { #mainVisual .inner { padding: 178px 0 0 410px; } }

#mainVisual .italic { font-style: italic; }

#mainVisual .lead { margin: 0 0 13px; }

@media all and (min-width: 600px) { #mainVisual .lead { margin: 0 0 30px; } }

#mainVisual .lead .txt { display: inline-block; position: relative; color: #fff; font-size: 1.6rem; font-size: 4.35vw; font-weight: 500; line-height: 1.3; }

@media all and (min-width: 600px) { #mainVisual .lead .txt { background: #ed3838; padding: 0 17px 0 3px; font-size: 2.5rem; letter-spacing: .03em; line-height: 55px; } }

#mainVisual .lead .txt:before { display: none; }

@media all and (min-width: 600px) { #mainVisual .lead .txt:before { display: block; content: ""; display: block; position: absolute; left: 50%; width: 0; height: 0; border-style: solid; border-color: #ed3838 transparent transparent transparent; bottom: -9px; margin: 0 0 0 -5px; border-width: 10px 10px 0 10px; } }

#mainVisual .lead .ib { display: inline-block; }

#mainVisual .ico { color: #fff; font-size: 1.6rem; font-size: 4.2vw; }

@media all and (min-width: 600px) { #mainVisual .ico { display: inline-block; height: 36px; padding: 0 22px; border-radius: 17px; background: #333; font-size: 2.3rem; font-weight: 700; letter-spacing: .09em; line-height: 34px; } }

#mainVisual .tit { margin: -5px 0 15px; color: #fff; font-size: 1.7rem; font-size: 4.5vw; line-height: 1.4; }

@media all and (min-width: 600px) { #mainVisual .tit { position: relative; font-weight: 700; margin: 0; padding: 0 0 0 50px; color: #333; font-size: 5rem; letter-spacing: -.03em; line-height: 1.7; } }

#mainVisual .tit .viewPc { display: inline-block; }

#mainVisual .tit strong { margin: 0 .1em 0 0; font-size: 3.35rem; font-size: 8.9vw; font-weight: 900; letter-spacing: 0; vertical-align: baseline; }

#mainVisual .tit small { font-size: 1.7rem; font-size: 4.6vw; font-weight: 900; letter-spacing: 0; vertical-align: baseline; }

@media all and (min-width: 600px) { #mainVisual .tit span { position: absolute; top: -2px; left: 60px; padding: 0 0 0 20px; font-size: 2.6rem; letter-spacing: .03em; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform-origin: left bottom; -ms-transform: rotate(-15deg); transform: rotate(-15deg); -webkit-transform: rotate(-15deg); } }

#mainVisual .tit span:before, #mainVisual .tit span:after { content: ""; display: block; position: absolute; background: #333; }

@media all and (min-width: 600px) { #mainVisual .tit span:before, #mainVisual .tit span:after { top: 13px; width: 2px; height: 30px; } }

@media all and (min-width: 600px) { #mainVisual .tit span:before { left: 9px; -ms-transform: rotate(-22deg); transform: rotate(-22deg); -webkit-transform: rotate(-22deg); } }

@media all and (min-width: 600px) { #mainVisual .tit span:after { right: -10px; -ms-transform: rotate(22deg); transform: rotate(22deg); -webkit-transform: rotate(22deg); } }

@media all and (min-width: 600px) { #mainVisual .copy { font-size: 2.7rem; font-weight: 700; letter-spacing: .05em; line-height: 1.6; } }

#mainVisual .copy .em { display: inline-block; position: relative; }

#mainVisual .copy .em:before { content: ""; display: block; position: absolute; top: -3px; left: 50%; width: 6px; height: 6px; margin: 0 0 0 -3px; border-radius: 50%; background: #ed3838; }

#mainVisual .price { padding: 0 0 0 28.5%; color: #fff; font-weight: 700; vertical-align: baseline; letter-spacing: 0; line-height: 45px; }

@media all and (min-width: 600px) { #mainVisual .price { margin: -10px 0 0; padding: 0; color: #ed3838; font-size: 5.5rem; letter-spacing: .03em; line-height: 95px; } }

#mainVisual .price .em { padding: 0 .1em 0 0; display: inline-block; font-size: 5.2rem; font-size: 13.8vw; font-style: italic; font-weight: 900; vertical-align: baseline; }

@media all and (min-width: 600px) { #mainVisual .price .em { padding: 0 7px; color: #ed3838; background: #eb4e39; background: -webkit-gradient(linear, left top, left bottom, from(#eb4e39), color-stop(54%, #eb4e39), color-stop(55%, #e60013), to(#e60013)); background: linear-gradient(to bottom, #eb4e39 0%, #eb4e39 54%, #e60013 55%, #e60013 100%); background: -webkit-linear-gradient(top, #eb4e39 0%, #eb4e39 54%, #e60013 55%, #e60013 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eb4e39', endColorstr='#e60013',GradientType=0 ); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-size: 10.2rem; font-style: normal; letter-spacing: -.03em; } }

#mainVisual .price .em > span { vertical-align: 6px; }

@media all and (min-width: 600px) { #mainVisual .price .em > span { vertical-align: 8px; } }

#mainVisual .price small { font-size: 2.3rem; font-size: 5.9vw; vertical-align: baseline; }

@media all and (min-width: 600px) { #mainVisual .price small { font-size: 4.5rem; vertical-align: 4px; } }

#mainVisual .price img { width: 10%; vertical-align: baseline; }

#mainVisual .img { float: left; width: 25%; }

#mainVisual .note { margin: -10px 0 0; padding: 0 0 0 27%; color: #fff; font-size: 1.3rem; letter-spacing: 0; text-shadow: none; }

#mainVisual .note .em { display: inline-block; position: relative; }

#mainVisual .note .em:after { content: ""; display: block; position: absolute; bottom: 0; left: -.5%; width: 101%; height: 2px; background: #fcdd0f; z-index: -1; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform-origin: left bottom; -ms-transform: skewX(-20deg); transform: skewX(-20deg); -webkit-transform: skewX(-20deg); }

@media all and (min-width: 600px) { #mainVisual .pic { top: 0; height: 765px; background: none; position: absolute; left: 0; right: 0; margin: auto; width: 100%; }
  #mainVisual .pic .item { height: 765px; background-repeat: no-repeat; background-position: center center; }
  #mainVisual .pic .item01 { background: url("../img/pic_mainimg01_pc.webp") no-repeat center; }
  #mainVisual .pic .item02 { background: url("../img/pic_mainimg02_pc.webp") no-repeat center; } }

/* #mainImg
================================================ */
#mainVisual { position: relative; }

#mainVisual .pic02 { min-height: 400px; background: url(../img/pic_mainimg01-sp.webp) no-repeat center; background-size: cover; }

#mainVisual .pic02 img { max-height: 400px; max-width: none; width: 100%; }

#mainVisual .mvTxtWrap { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

#mainVisual .mvTxtWrap .lead { position: relative; display: inline-block; padding: 5px 10px; color: #fff; background: #e60013; text-align: center; font-size: 1.5rem; line-height: 1; }

#mainVisual .mvTxtWrap .titWrap { margin-top: 10px; padding-left: 80px; text-align: center; }

#mainVisual .mvTxtWrap .sub { display: inline-block; padding: 5px 12px; border-radius: 20px; color: #fff; background: #333; font-size: 1.2rem; line-height: 1; }

#mainVisual .mvTxtWrap .tit { position: relative; margin-top: 10px; font-size: 3.2rem; font-weight: 900; line-height: 1.22; color: #333; }

#mainVisual .mvTxtWrap .tit span { position: absolute; top: -15px; left: 15px; font-size: 1.3rem; -webkit-transform: rotate(-20deg); -ms-transform: rotate(-20deg); transform: rotate(-20deg); }

#mainVisual .mvTxtWrap .tit span:before, #mainVisual .mvTxtWrap .tit span:after { content: ''; position: absolute; bottom: 0; height: 10px; width: 1px; background: #333; }

#mainVisual .mvTxtWrap .tit span:before { left: -10px; -webkit-transform: rotate(-30deg); -ms-transform: rotate(-30deg); transform: rotate(-30deg); }

#mainVisual .mvTxtWrap .tit span:after { right: -10px; -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); }

#mainVisual .mvTxtWrap .copy { margin-top: 15px; font-size: 1.6rem; font-weight: 600; }

#mainVisual .mvTxtWrap .copy span { position: relative; display: inline-block; }

#mainVisual .mvTxtWrap .copy span:before { content: ''; position: absolute; top: -2px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 4px; height: 4px; background: #eb4e39; border-radius: 50%; }

#mainVisual .mvTxtWrap .price { padding: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 10px; color: #e60013; }

#mainVisual .mvTxtWrap .price .txt { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 1.9rem; line-height: 1; white-space: nowrap; font-weight: 700; -webkit-transform: translateY(-3px); -ms-transform: translateY(-3px); transform: translateY(-3px); }

#mainVisual .mvTxtWrap .price .num { padding-left: 3px; color: #e60013; font-size: 5.1rem; font-weight: 900; letter-spacing: 0; background: -webkit-linear-gradient(top, #eb4e39 0%, #eb4e39 50%, #e60013 51%, #e60013 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-family: "Roboto","Noto Sans JP", "Hiragino Kaku Gothic ProN",YuGothic,'Yu Gothic',"メイリオ", sans-serif; letter-spacing: 0; }

#mainVisual .mvTxtWrap .price .num span { font-size: 2.2rem; line-height: 1.5; color: #e60013; }

#mainVisual .mvTxtWrap .list { margin-top: 15px; padding-left: 70px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

#mainVisual .mvTxtWrap .list .item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-line-pack: center; align-content: center; width: 90px; height: 90px; margin: 0 5px; border: 2px solid #eb4e39; border-radius: 50%; background: #fff; text-align: center; vertical-align: middle; font-size: 1.7rem; font-weight: 600; line-height: 1.4; }

#mainVisual .mvTxtWrap .list .item span { font-weight: 800; color: #eb4e39; }

@media all and (min-width: 600px) { #mainVisual .pic { top: 0; height: 765px; background: none; position: absolute; left: 0; right: 0; margin: auto; padding-top: 0; min-height: none; width: 100%; }
  #mainVisual .pic .item { height: 765px; background-repeat: no-repeat; background-position: center center; }
  #mainVisual .pic .item01 { background: url("../img/pic_mainimg01-02_pc.webp") no-repeat center; }
  #mainVisual .pic .item02 { background: url("../img/pic_mainimg02-02_pc.webp") no-repeat center; }
  #mainVisual .pic img { max-height: none; max-width: 100%; }
  #mainVisual .mvTxtWrap { right: 50%; z-index: 1; width: 1070px; height: 756px; }
  #mainVisual .mvTxtWrap .inner { padding: 0; position: absolute; right: 20px; top: 100px; }
  #mainVisual .mvTxtWrap .lead { padding: 8px 10px; font-size: 2.5rem; }
  #mainVisual .mvTxtWrap .lead:before { content: ''; position: absolute; bottom: -10px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 10px 9px 0 9px; border-color: #e60013 transparent transparent transparent; }
  #mainVisual .mvTxtWrap .titWrap { margin-top: 10px; padding-left: 0; text-align: center; }
  #mainVisual .mvTxtWrap .sub { padding: 7px 18px; border-radius: 30px; font-size: 2.3rem; }
  #mainVisual .mvTxtWrap .tit { position: relative; margin-top: 10px; font-size: 5rem; }
  #mainVisual .mvTxtWrap .tit span { top: -15px; left: 15px; font-size: 2.5rem; }
  #mainVisual .mvTxtWrap .tit span:before, #mainVisual .mvTxtWrap .tit span:after { height: 15px; width: 2px; }
  #mainVisual .mvTxtWrap .tit span:before { left: -3px; }
  #mainVisual .mvTxtWrap .tit span:after { top: 5px; right: -15px; -webkit-transform: rotate(20deg); -ms-transform: rotate(20deg); transform: rotate(20deg); }
  #mainVisual .mvTxtWrap .copy { margin-top: 15px; font-size: 2.8rem; }
  #mainVisual .mvTxtWrap .copy span:before { width: 7px; height: 7px; }
  #mainVisual .mvTxtWrap .price { padding: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: 10px; color: #e60013; }
  #mainVisual .mvTxtWrap .price .txt { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-size: 5.4rem; }
  #mainVisual .mvTxtWrap .price .num { padding-left: 3px; font-size: 10.2rem; }
  #mainVisual .mvTxtWrap .price .num span { font-size: 4.5rem; line-height: 1.5; }
  #mainVisual .mvTxtWrap .list { margin-top: 15px; padding-left: 0; }
  #mainVisual .mvTxtWrap .list .item { width: 130px; height: 130px; margin: 0 10px; border: 4px solid #eb4e39; font-size: 2.4rem; line-height: 1.2; } }

/* #breadcrumb
================================================ */
#breadcrumb .list { padding: 8px 10px 25px; }

#breadcrumb .list .item { display: inline-block; }

#breadcrumb .list .item + .item { padding-left: 5px; }

#breadcrumb .list .item + .item:before { content: ">"; margin-right: 4px; }

/* #sidebar
================================================ */
/* .secSidebar
-------------------------------------- */
.secSidebar { margin-bottom: 20px; padding: 0 15px; }

@media all and (min-width: 600px) { .secSidebar { margin-bottom: 25px; padding: 0; } }

/* #gFooter
================================================ */
#gFooter { font-size: 1.3rem; padding: 0 0 60px; }

@media all and (min-width: 600px) { #gFooter { padding: 0 0 60px; } }

@media all and (min-width: 600px) { #gFooter .inner { padding-top: 32px; padding-bottom: 37px; font-size: 1.4rem; } }

#gFooter .link { display: block; }

@media all and (min-width: 600px) { #gFooter .link { display: block; line-height: 2.2; } }

#gFooter .copyright { padding: 24px 0 26px; color: #b4b3b3; line-height: 1.9; text-align: center; }

@media all and (min-width: 600px) { #gFooter .copyright { padding: 0; float: right; line-height: 2.6; text-align: right; } }

/* .ftCv
================================================ */
.ftCv { display: none; position: fixed; bottom: 0; left: 0; z-index: 99; width: 100%; min-width: 320px; padding: 10px 20px; background: #ed3838; box-sizing: border-box; }

.ftCv .tel, .ftCv .btn { width: 48.5%; text-align: center; box-sizing: border-box; }

.ftCv .tel a, .ftCv .btn a { display: block; text-decoration: none; }

.ftCv .tel { float: left; font-size: 1.6rem; border: 2px solid #fff; }

.ftCv .tel a { color: #fff; line-height: 36px; }

.ftCv .tel .icon-tel:before { display: inline-block; margin: 0 4px 0 0; font-size: 1.2rem; }

.ftCv .btn { float: right; }

.ftCv .btn:before { right: 10px; width: 5px; height: 5px; }

.ftCv .btn a { font-size: 1.3rem; line-height: 40px; }

@media all and (max-width: 599px) { .ftCv .btn a { box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.15); } }

@media all and (min-width: 600px) { .ftCv { width: 1100px; padding: 10px 100px 10px 147px; right: 0; margin: auto; }
  .ftCv .info { float: left; width: 404px; margin: 0; border-right: 1px solid #fff; text-align: left; }
  .ftCv .tel { float: none; text-align: left; width: auto; margin: 0 0 3px 13px; font-size: 2.8rem; line-height: 55px; border: 0; pointer-events: none; }
  .ftCv .tel .icon-tel:before { display: inline-block; margin: 0 4px 0 0; font-size: 2.2rem; line-height: 1.25; }
  .ftCv .open { padding: 0 0 0 13px; font-size: 1.2rem; font-weight: 500; letter-spacing: .07em; color: #fff; }
  .ftCv .btn { width: 400px; }
  .ftCv .btn a { background-position: center -30px; font-size: 1.6rem; line-height: 46px; }
  .ftCv .btn:before { right: 40px; }
  .ftCv .btn span { margin: 0 0 0 5px; padding: 0 0 0 43px; letter-spacing: 0.05em; position: relative; }
  .ftCv .btn span:before { content: ""; display: block; position: absolute; background: url(../img/ico_btn01.svg) no-repeat; background-size: 100% 100%; top: 50%; left: 0; width: 24px; height: 29px; margin: -15px 0 0; } }

/* #pagetop
================================================ */
@media all and (max-width: 599px) { #pagetop { position: static !important; } }

@media all and (min-width: 600px) { #pagetop { opacity: 0; visibility: hidden; position: fixed; right: 0; bottom: 0; margin: 0 30px 90px 0; -webkit-transition: opacity 0.3s ease; transition: opacity 0.3s ease; }
  #pagetop.is_view { opacity: 1; visibility: visible; } }

#pagetop a { position: relative; display: block; height: 50px; background: #5c5c5c; text-align: center; text-decoration: none; }

@media all and (min-width: 600px) { #pagetop a { display: block; width: 50px; height: 50px; padding: 12px 0 0; border-radius: 25px; box-sizing: border-box; } }

#pagetop a:after { content: ""; display: block; position: absolute; top: 50%; right: 50%; width: 8px; height: 8px; margin-top: -5px; border-right: 2px solid #fff; border-top: 2px solid #fff; -ms-transform-origin: right top; transform-origin: right top; -webkit-transform-origin: right top; -ms-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }

/*=============================================================
 05_helper
=============================================================*/
/*=============================================================
 06_lib
=============================================================*/
/*!  .js-slick
================================================ */
/* Arrows */
.slick-prev, .slick-next { height: 17px; width: 17px; z-index: 5; }

.slick-prev:before, .slick-next:before { display: none; }

.slick-prev { border-top: 4px solid #ed3838; border-left: 4px solid #ed3838; -ms-transform-origin: left top; transform-origin: left top; -webkit-transform-origin: left top; -ms-transform: translate(0, -50%) rotate(-45deg); transform: translate(0, -50%) rotate(-45deg); -webkit-transform: translate(0, -50%) rotate(-45deg); left: -5px; }

[dir="rtl"] .slick-prev { left: auto; right: -25px; }

.slick-next { border-top: 4px solid #ed3838; border-right: 4px solid #ed3838; -ms-transform-origin: right top; transform-origin: right top; -webkit-transform-origin: right top; -ms-transform: translate(0, -50%) rotate(45deg); transform: translate(0, -50%) rotate(45deg); -webkit-transform: translate(0, -50%) rotate(45deg); right: -5px; }

[dir="rtl"] .slick-next { left: -25px; right: auto; }


/* 追記 oneup */
/*  .l-sub-img
================================================== */
.l-sub-img__inner { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; width: 100%; height: 140px; box-sizing: border-box; }

.l-sub-img__head { font-size: 2.4rem; font-weight: bold; line-height: 1.3; }

@media all and (min-width: 600px) { .l-sub-img__inner { height: 280px; }
  .l-sub-img__head { font-size: 4.8rem; } }