@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');


.g-bmc{display:none;}

#breadcrumbs-b {display: none;}
#page{
    background-color:#FFFFFF!important;
}

#contents p a:link, a:hover, a:visited {
    color: #0000BE;
    text-decoration: underline;
}
#contents p a:hover {
    opacity: 0.7;
}
#contents sup{
    line-height: 210%;
}

body a:focus {text-decoration: none;}

.g-bmsr	{width:auto !important;}
.g-businessmenu .g-bmc	{	padding:14px 0 !important;}
.g-businessmenu .g-bmm {padding:0 7px 11px 7px !important;}

#contents .fontGothic{
    font-family: YakuHanJP, "Lato", 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Meiryo, "MS PGothic", Osaka, sans-serif;
}
#contents .fontSerif{
    font-family: YakuHanMP_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}

body #contents {
  /*font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', Meiryo, 'MS PGothic', Osaka, sans-serif;*/
	font-family: YakuHanJP, "Lato", 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Meiryo, "MS PGothic", Osaka, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-feature-settings: "palt"; /* Noto Sans JP 現状は効かない */
  -webkit-font-feature-settings: "palt";
	font-feature-settings: "palt" 1;
	-webkit-text-size-adjust: 100%;
}
body #contents p{
    line-height: 165%;
    font-weight: normal;
}
#contents .pcTxtCenter,#contents .spTxtCenter{
}
@media all and (min-width:769px) {
#contents .pcTxtCenter{
    text-align: center;
}
}
@media all and (max-width:768px) {
#contents .spTxtCenter{
    text-align: center;
}
}

/* --------------------------------------------------
 * コンテンツヘッダー
 */
#contents-header {
  position: relative;
  width: 976px;
  margin: 0 auto;
  padding: 30px 0 0;
}

#contents-header a:hover {
  text-decoration: none;
}

#contents-header h1 {
/*  float: left;*/
  margin: 0 30px 0 0;
  font-size: 24px;
  font-weight: bold;
  line-height: 34px;
}

#contents-header .back {
  float: left;
}

#contents-header .back a {
  display: block;
  position: relative;
  height: 34px;
  padding: 4px 0 2px 15px;
  color: #878787;
  font-size: 10px;
  line-height: 14px;
}

#contents-header .back a::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  width: 6px;
  height: 10px;
  background: url(/common/img/ico_arrow_black_02.png) no-repeat 0 0;
  background-size: cover;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  opacity: 0.6;
}

#contents-header .back a:hover {
  opacity: 0.6;
}

#contents-header .common-nav {
  position: absolute;
  top: 30px;
  right: 0;
}

#contents-header .common-nav ul {
  float: right;
  width: 400px;
  height: 34px;
  margin: 0;
  text-align: center;
  background-color: #EEEEEE;
}

#contents-header .common-nav ul li {
  display: inline-block;
  font-size: 0;
  line-height: 34px;
}

#contents-header .common-nav ul li a {
  display: inline-block;
  margin: 0 1em;
  color: #1A1A1A;
  font-size: 11px;
  letter-spacing: 0.07em;
}

#contents-header .common-nav ul li a:hover {
  opacity: 0.6;
}

#contents-header .lowers-nav {
  clear: both;
  padding: 30px 0 0;
}

#contents-header .lowers-nav > ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border: 1px solid #717171;
  overflow: hidden;
}

#contents-header .lowers-nav > ul > li {
  width: 100%;
  border-right: 1px solid #717171;
  list-style: none;
}

#contents-header .lowers-nav > ul > li:last-child {
  border-right: none;
}

#contents-header .lowers-nav > ul > li.top {
  display: none;
}

#contents-header .lowers-nav > ul > li:nth-child(odd) {
}

#contents-header .lowers-nav > ul > li > a {
  display: block;
  position: relative;
  width: 100%;
  height: 48px;
  text-align: center;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.07em;
}

#contents-header .lowers-nav > ul > li.on > a,
#contents-header .lowers-nav > ul > li > a:hover {
  /* color: #21366E; */
  background-color: #EEEEEE;
}

#contents-header .lowers-nav > ul > li > a span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
}

#contents-header .lowers-nav > ul > li .sub {
  display: none;
}

#contents-header .sp-nav,
#contents-header-overlay {
  display: none;
}


/* --------------------------------------------------
 * パンくず上書き
 */
#g-breadcrumbs {
  width: 976px;
  padding: 30px 0 38px;
  font-size: 10px;
  line-height: 1;
}

#g-breadcrumbs.fix-for-lowers-top {
  padding: 10px 0 8px;
}

#g-breadcrumbs a {
  color: #1A1A1A;
}

#g-breadcrumbs a:hover {
  text-decoration: none;
  color: #1A1A1A;
  opacity: 0.6;
}

#contents .logo_sommelier {
  padding: 23px 0 25px;
  background-color: #f9f7ec;
}
@media screen and (max-width: 767px) {
  #contents .logo_sommelier {
    padding: 15px 0 17px;
  }
  #contents .logo_sommelier img {
    max-width: 60%;
  }
}


/* --------------------------------------------------
 * フッター
 */
.footer {
  position: relative;
  z-index: 20;
}

.footer p {
  padding: 0;
}

.footer-in {
}

.footer .ico-area {
  text-align: center;
  padding: 90px 0 23px 0;
}

.footer .ico-area .txt-cmn-01 div:last-child a {
  margin-left: 7px;
}

.footer .ico-area .txt-cmn-01 div a {
  display: inline-block;
  display: -webkit-inline-flex;
  height: 44px;
  width: 44px;
  transition: background 0.3s;
  vertical-align: top;
}

.footer .ico-area .txt-cmn-01 div:first-child a.star,
.footer .ico-area .txt-cmn-01 div:last-child a.fb,
.footer .ico-area .txt-cmn-01 div:last-child a.line,
.footer .ico-area .txt-cmn-01 div:last-child a.mail {
  width: 44px; 
  height: 44px; 
  display: inline-block;
}

.footer .ico-area .txt-cmn-01 div:first-child a.star svg,
.footer .ico-area .txt-cmn-01 div:last-child a.fb svg,
.footer .ico-area .txt-cmn-01 div:last-child a.line svg,
.footer .ico-area .txt-cmn-01 div:last-child a.mail svg{
  width: 100%; 
  display: block;
}

.footer .ico-area .txt-cmn-01 div:first-child a.star svg {
  margin-left: 5px;
}

.footer .ico-area .txt-cmn-01 div:first-child a:hover .cls-1{ fill:#002870; }
.footer .ico-area .txt-cmn-01 div:first-child a:hover .cls-2{ fill:#fff; }

.footer .ico-area .txt-cmn-01 div:last-child a.fb:hover .cls-3{fill:#002870;}
.footer .ico-area .txt-cmn-01 div:last-child a.fb:hover .cls-4{fill:#fff;}

.footer .ico-area .txt-cmn-01 div:last-child a.line:hover .cls-3{fill:#002870;}
.footer .ico-area .txt-cmn-01 div:last-child a.line:hover .cls-4{fill:#fff;}

.footer .ico-area .txt-cmn-01 div:last-child a.mail:hover .cls-1{fill:#002870;}
.footer .ico-area .txt-cmn-01 div:last-child a.mail:hover .cls-2{fill:#fff;}

.footer .ico-area .txt-cmn-01 div:first-child {
  margin-right: 50px;
}

.footer .ico-area .txt-cmn-01 {
  height: 44px;
  line-height: 44px;
  display: inline-block;
}

.footer .ico-area .txt-cmn-01 div {
  display: inline-block;
  float: left;
}

.footer .col4-content {
  background: #eee;
  border-bottom: 1px solid #fff;
}

/*フッターの関連ページを非表示*/
.footer .related {
  display: none;
}
/*フッターの関連ページを非表示*/

.footer .content-in {
  max-width: 976px;
  margin: 0 auto;
  padding: 21px 0 20px 0;
}

.footer .col3-content .content-in {
  padding: 30px 0 0;
}

.footer .col3-content .content-in .col-box {
  height: 294px;
}

.footer .fsitemap .content-in .col-box {
}

.footer .row-title {
  text-align: left;
  font-size: 18px;
  color: #1a1a1a;
  margin-bottom: 15px;
  font-weight: bold;
}

.footer .col-title {
  font-size: 14px;
  border-bottom: 1px solid #1a1a1a;
  color: #1a1a1a;
  padding-bottom: 10px;
  font-weight: bold;
}

.footer .txt {
  font-size: 12px;
  color: #919191;
  margin-top: 15px;
}

.footer .col4 {
  width: calc(100% / 4 - (55px * 3 / 4));
  display: inline-block;
  float: left;
  margin: 10px 0;
  transition: background 0.3s;
}

.footer .col4 a {
  text-decoration: none;
}

.footer .col4:hover {
  background: #d0d0d0;
}

.footer .col4:not(:last-child) {
  margin-right: 55px;
}

.footer .col3 {
  display: inline-block;
  float: left;
  color: #1a1a1a;
  position: relative;
}

.footer .col3:first-child {
  width: calc((366 / 1024) * 100%);
}

.footer .col3:nth-child(2) {
  width: calc((259 / 1024) * 100%);
}

.footer .col3:last-child {
  width: calc((399 / 1024) * 100%);
  margin-top: -16px;
}

.footer .col3 .title {
  font-size: 14px;
  margin-bottom: 20px;
}

.footer .col3 .title-list {
  font-size: 12px;
  margin-bottom: 14px;
}

.footer .col3 .title-list:first-of-type {
  margin-top: -2px; 
}

.footer .col3 .first-col {
  font-size: 11px;
  padding-bottom: 5px;
}

.footer .col3 .first-col li {
  margin-bottom: 9px;
}

.footer .col3 hr {
  margin: 23px 0 25px;
  border: 0;
  border-top: 1px solid;
}

.footer .col3 .btn-cmn-primary {
  float: right;
  width: 280px;
  margin: 50px 0 0;
  padding: 20px 20px 21px 52px;
  background: #000 url("/common/img/ico_footer_fixed_03.png") 20px center no-repeat;
}

.footer .col3 .btn-cmn-primary:hover {
  background-color: #878787;
}

.footer .col3 a.btn-cmn-primary:after{ background: none }
.footer .col3 a.btn-cmn-primary p {
  font-weight: bold;
  text-align: left;
}

.footer .col3 a.btn-cmn-primary p:first-child {
  font-size: 12px;
  margin-bottom: 10px;
}

.footer .col3 a.btn-cmn-primary p:last-child {
  font-size: 18px;
}

.footer .col3 a.btn-cmn-block {
  width: 210px;
  float: right;
  margin: 0 24px 2px 0;
  padding: 16px 0 3px 0;
  position: relative;
  display: inline-flex;
  display: -webkit-inline-flex;
  transition: background-color 0.3s;
}

.footer .col3 a.btn-cmn-block:before {
  display: none;
}

.footer .col3 a.btn-cmn-block:hover {
  background-color: #eee;
}

.footer .col3 a.btn-cmn-block{
  text-decoration: none;
}

.footer .col3 a.btn-cmn-block p, .footer .col3 a.btn-cmn-block span {
  display: inline-block;
}

.footer .col3 a.btn-cmn-block span {
  background: none;
  background-size: 8px 13px;
  top: 18px;
  letter-spacing: -0.03em;
}
.footer .col3 a.btn-cmn-block p {
  width: 36px;
  padding-bottom: 5px;
}
.footer .col3 a.btn-cmn-block p.img-box img{
  margin-left: 4px;
}
.footer .col3 a.btn-cmn-block:nth-child(2) p.img-box img{
  margin-left: 8px;
}
.footer .col3 a.btn-cmn-block span {
  width: calc(100% - 36px);
  position: absolute;
  bottom: 3px;
  left: 39px;
  padding-right: 0;
  border-bottom: 0;
}

.footer .col3 .list-ico li .img-box {
  width: 38px;
  text-align: center;
}

.footer .col3 .list-ico li .text {
  margin-left: 7px;
  font-size: 14px;
  line-height: 1;
  padding: 23px 0 18px 0;
  font-weight: bold;
  width: calc(100% - 45px);
  position: relative;
}

.footer .col3 .list-ico li .text::after {
  content: url(/common/img/ico_arrow_black_03.png);
  position: absolute;
  right: 5px;
}

.footer .image-case-01 .image img { width: 100%;}
.footer .image-case-01.type-01 .image .text { letter-spacing: -0.5px;}

/*  Start Additional Path */
/* ========================================================= */
/* ========================================================= */
body {
overflow-x: hidden;
}
.footer .col3 .title,
.footer .col3 .title-list,
.footer .col3 .first-col li,
.footer .copyright-in ul {
  text-align: left;
}
.footer .footer-fix-in {
  overflow: hidden;
}
.footer .footer-fix-in ul:first-child {
  float: left;
}
.footer .col3:last-child a.btn-cmn-block span {
  text-align: left;
}

.footer .ico-area .txt-cmn-01 div:last-child .wrap-line {
  display: inline-block;
  position:relative;
  width: 44px;
  height: 44px;
  margin-left: 7px;
}
.footer .ico-area .txt-cmn-01 div:last-child .wrap-line:hover:before {
  content: '';
  position:absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  background: url(/common/img/ico_line_02.png) 0 0 no-repeat;
}
.footer .ico-area .txt-cmn-01 div:last-child .wrap-line .line {
  height: 100%;
}
.footer .ico-area .txt-cmn-01 div:last-child .wrap-line iframe {
  position:absolute !important;
  z-index: 2;
  left: 0;
  top: 0;
  margin: 0;
  opacity: 0;
}


.footer .ico-area .txt-cmn-01 div:last-child {
  display: inline-block;
}
.footer .ico-area .txt-cmn-01 div:last-child .txt-ttl {
  position: relative;
  top: -17px;
}
.image-case-01.type-01 .image .text span { margin: 0 5%;}
.txt-no-lastest { text-align: left;}

.footer-fix {
  border-top: 1px solid #d0d0d0;
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.902);
  padding: 10px 0;
  z-index: 89;
}

.footer-fix .btn-cmn-block {
  border: none;
  margin-bottom: 0;
  line-height: 1.4;
  font-size: 11px;
}

.footer-fix .btn-cmn-block:hover span {
  background: none;
  background-size: 8px 13px;
}

.footer-fix .btn-cmn-block span {
  padding: 6px 1px 4px 20px;
  background: none;
  background-size: 8px 13px;
}

.footer-fix-in {
  width: 976px;
  margin: 0 auto;
}

.footer-fix ul, .footer-fix ul li {
  display: inline-block;
  font-weight: bold;
}

.footer-fix-in ul:nth-child(1) li:nth-child(1) .btn-cmn-block span{
  background: url(/common/img/ico_footer_fixed_01.png) left center no-repeat;
  background-size:9% auto;
}

.footer-fix-in ul:nth-child(1) li:nth-child(2) .btn-cmn-block span {
  background: url(/common/img/ico_footer_fixed_02.png) left center no-repeat;
  padding-left: 28px;
  background-size:12% auto;
}

.footer-fix-in ul:nth-child(1) li:nth-child(2){ margin-left: 28px; }
.footer-fix-in ul:nth-child(2) li:nth-child(2){ margin-left: 4px; }
.footer-fix-in ul:nth-child(2) li:nth-child(3){ margin-left: 3px; }

  
.footer-fix .btn {
  background: #002870;
  color: #fff;
  font-size: 12px;
  width: 180px;
  display: block;
  height: 40px;
  border-radius: 5px;
  text-align: center;
  line-height: 40px;
  transition: background 0.3s;
}

.footer-fix .btn:hover {
  background-color: #5e7091;
  text-decoration: none;
}

.footer-fix .btn p {
  display: inline-block;
  text-align: center;
  width: calc(100% - 55px);
}

.footer-fix .img-box {
  /* width: 40px; */
  width:24px;
  text-align: right;
  display: inline-block;
  position: relative;
}

.footer-fix .img-box img {
  transform: translateY(30%);
  -webkit-transform: translateY(30%);
}

.footer-fix .img-box.modelhouse img {
  transform: translateY(20%);
  -webkit-transform: translateY(20%);
}

.footer-fix ul:first-child {
  line-height: 40px;
  
}

.footer-fix ul:first-child li {
  font-size: 13px;
  position: relative;
}

.footer-fix ul:first-child li:not(:last-child) {
  
}

.footer-fix ul:last-child {
  float: right;
  margin-right: 50px;
}

.footer-fix ul:last-child li {
  display: inline-block;
}

.btn-cmn-pagetop {
  position: fixed;
  bottom: 10px;
  left: calc(50% + 448px);
  width: 40px;
  height: 40px;
  z-index: 90;
}
.btn-cmn-pagetop img { width: 100%;}
/*
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .btn-cmn-pagetop {
    bottom: 16px;
  } 
}
@media screen and (max-width: 768px) {
  .btn-cmn-pagetop {
    bottom: 104px;
  } 
}
*/

/* 以下コンテンツ部分 */

#contents img{
    max-width: 100%;
}


/* ==========================================================
 heading
========================================================== */
/* h1-cmn-01
---------------------------------------------------------- */
.h1-cmn-01 {
  margin: 45px 0 20px;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
}

.c-normalw > .h1-cmn-01:first-child,
.c-normalw > header > .h1-cmn-01:first-child {
  margin-top: 0;
}


/* h2-cmn-01
---------------------------------------------------------- */
.h2-cmn-01 {
  margin: 50px 0 30px;
  padding: 29px 0 27px;
  border: 1px solid #878787;
  font-size: 28px;
  text-align: center;
  line-height: 1.6;
}

/* h3-cmn
---------------------------------------------------------- */
/* h3-cmn-01 */
.h3-cmn-01 {
  margin: 33px 0 23px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6;
}

.h3-cmn-01 span {
  display: block;
  margin: 0 0 3px;
  font-size: 14px;
}

/* h3-cmn-02 */
.h3-cmn-02 {
  margin: 40px 0 30px;
  padding: 0 0 15px;
  border-bottom: 1px #1a1a1a solid;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
}

.h3-cmn-02 .notice {
  font-size: 12px;
}

/* h3-cmn-block */
.h3-cmn-block {
  margin-top: 60px;
}

h2 + .h3-cmn-block {
  margin-top: 0;
}

/* h4-cmn
---------------------------------------------------------- */
/* h4-cmn-01 */
.h4-cmn-01 {
  margin: 34px 0 24px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}

.h4-cmn-01 span {
  display: block;
  margin: 0 0 3px;
  font-size: 12px;
}

/* h4-cmn-02 */
.h4-cmn-02 {
  margin: 34px 0 30px;
  padding: 0 0 16px;
  border-bottom: 1px #1a1a1a solid;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}

.h4-cmn-02 .notice {
  font-size: 12px;
}

/* h4-cmn-block */
.h4-cmn-block {
  margin-top: 60px;
}

h2 + .h4-cmn-block,
h3 + .h4-cmn-block{
  margin-top: 0;
}

/* h5-cmn
---------------------------------------------------------- */
/* h5-cmn-01 */
.h5-cmn-01 {
  margin: 35px 0 25px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}

/* h5-cmn-02 */
.h5-cmn-02 {
  margin: 35px 0 30px;
  padding: 0 0 17px;
  border-bottom: 1px #1a1a1a solid;
  font-size: 18px;
  font-weight: bold;
}

/* h5-cmn-block */
.h5-cmn-block {
  margin-top: 50px;
}

h2 + .h5-cmn-block,
h3 + .h5-cmn-block,
h4 + .h5-cmn-block {
  margin-top: 0;
}

/* h6-cmn-01
---------------------------------------------------------- */
.h6-cmn-01 {
  margin: 35px 0 25px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
}

/* h6-cmn-block */
.h6-cmn-block {
  margin-top: 40px;
}

h2 + .h6-cmn-block,
h3 + .h6-cmn-block,
h4 + .h6-cmn-block,
h5 + .h6-cmn-block {
  margin-top: 0;
}

/* ==========================================================
 text basic
========================================================== */
.txt-cmn-01 {
  margin: 25px 0 0;
  font-size: 15px;
  line-height: 1.6;
}

p.txt-cmn-01 {
  margin: 25px 0;
}

.txt-cmn-01 > p {
  margin: 19px 0;
}

.txt-cmn-01 > p:first-child {
  margin-top: 0;
}
    
.txt-cmn-02 {
  margin: 25px 0 0;
  font-size: 12px;
  line-height: 1.6;
}

p.txt-cmn-02 {
  margin: 25px 0;
}

.txt-cmn-02 > p {
  margin: 16px 0;
}

.ttl-cmn-irregular-01 {
  margin-top: 30px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
}

.txt-cmn-irregular-01 {
  font-size: 14px;
  line-height: 1.6;
}

.ttl-cmn-irregular-02 {
  margin-top: 30px;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.6;
}

.txt-cmn-irregular-02 {
  font-size: 14px;
  line-height: 1.6;
}

.txt-cmn-irregular-02 span {
  font-size: 12px;
}

.txt-cmn-irregular-03 {
  font-size: 12px;
  line-height: 18px;
}

.txt-cmn-intro {
  margin: 25px 0 45px;
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
}

.h1-cmn-01 + .txt-cmn-intro {
  margin-top: -3px;
}

.attention {
	padding:0 0 0 1em;
	text-indent:-1em;
	margin-top:15px;
}

.attention-02 {
	padding:0 0 0 1em;
	text-indent:-1em;
	margin-top:5px;
}

.txt-cmn-strong {
  background-color: #e5fd75;
}

/* ==========================================================
 box-cmn
========================================================== */
/* box-cmn-image-01
---------------------------------------------------------- */
.box-cmn-image-01 {
  margin-top: 15px;
}

.box-cmn-image-01 figure {
  margin-bottom: 12px;
  overflow: hidden;
}

.box-cmn-image-01 figure img {
  width: 100%;
}

figure.is-zoom img {
  width: 100%;
  transition: 0.3s;
}

figure.is-zoom img:hover {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}

/* box-image-title-cmn
---------------------------------------------------------- */
.box-image-title-cmn-01 {
  margin: 35px 0 15px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
}

/* box-cmn-text
---------------------------------------------------------- */
.box-cmn-text-01 {
  margin-top: 30px;
  padding: 20px 24px;
  background-color: #eeeeee;
}

.box-cmn-text-02 {
  margin-top: 30px;
  padding: 20px 24px;
  border: 1px #d0d0d0 solid;
}

.box-cmn-text-01 .txt-cmn-01,
.box-cmn-text-01 .txt-cmn-02,
.box-cmn-text-02 .txt-cmn-01,
.box-cmn-text-02 .txt-cmn-02 {
  margin: 0;
}


/* box-title-cmn
---------------------------------------------------------- */
.box-title-cmn-01 {
  margin: 4px 0 24px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}

.box-title-cmn-02 {
  margin: 4px 0 20px;
  padding: 0 0 9px;
  border-bottom: 1px solid #1a1a1a;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
}


/* ==========================================================
 list-cmn
========================================================== */
/* list-cmn-dot
---------------------------------------------------------- */
.list-cmn-dot {
  overflow: hidden;
  margin: 30px 0 15px;
}

.list-cmn-dot li {
  position: relative;
  margin-bottom: 15px;
  padding-left: 15px;
  font-size: 15px;
  line-height: 1.6;
}

.list-cmn-dot li:last-child {
  margin-bottom: 0;
}

.list-cmn-dot li:after {
  content: ''; 
  display: block;
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #1a1a1a;
  border-radius: 50%;
}

.list-cmn-dot.is-single-lines li {
  margin-bottom: 6px;
}

.list-cmn-dot + p .btn-cmn-primary,
.list-cmn-dot + p .btn-cmn-secondary {
  margin-top: 20px;
}

/* list-cmn-order
---------------------------------------------------------- */
.list-cmn-order {
  counter-reset: li;
  margin: 30px 0 15px;
}

.list-cmn-order li {
  display: table;
  margin-left: -3px;
  margin-bottom: 15px;
  font-size: 15px;
  line-height: 1.6;
}

.list-cmn-order li:before {
  display: table-cell;
  content: counter(li)".";
  counter-increment: li;
  padding-right: 8px;
}


/* list-title-cmn
---------------------------------------------------------- */
.list-title-cmn-01 {
  margin: 35px 0 25px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}

.list-title-cmn-02 {
  margin: 35px 0 30px;
  padding: 0 0 17px;
  border-bottom: 1px #1a1a1a solid;
  font-size: 18px;
  font-weight: bold;
}



/* ==========================================================
 button-cmn
========================================================== */
/* btn-cmn-primary
---------------------------------------------------------- */
a.btn-cmn-primary {
  position: relative;
  display: inline-block;
  min-width: 185px;
  margin-bottom: 20px;
  padding: 15px 60px 13px 60px;
  background-color: #1a1a1a;
  border-radius: 6px;
  color: #fff !important;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  transition: all .3s;
}

a.btn-cmn-primary:after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  right: 10px;
  width: 18px;
  height: 14px;
  background: url(/common/img/ico_arrow_white_01.png) right center no-repeat;
  background-size: 18px 14px;
  transition: all .3s;
}

a.btn-cmn-primary:hover,
a.btn-cmn-primary.is-hover {
  background-color: #878787;
  text-decoration: none;
}

a.btn-cmn-primary:hover:after,
a.btn-cmn-primary.is-hover:after {
  right: 7px;
}

a.btn-cmn-primary.is-active {
  background-color: #fff;
  color: #1a1a1a;
  border: 1px #1a1a1a solid;
}

a.btn-cmn-primary.is-active:after {
  background: url(/common/img/ico_arrow_black_01.png) right center no-repeat;
  background-size: 18px 14px;
}

a.btn-cmn-primary.is-active:hover:after {
  right: 10px;
}

a.btn-cmn-primary.btn-blank:after {
  width: 16px;
  height: 16px;
  background: url(/common/img/ico_blank_01.png) right center no-repeat;
  background-size: 16px;
}

a.btn-cmn-primary.btn-blank:hover:after,
a.btn-cmn-primary.btn-blank.is-hover:after {
  right: 10px;
}

/* active animation */
a.btn-cmn-primary.is-active.is-animated:hover:after {
  right: 7px;
}
  
/* btn-cmn-secondary
---------------------------------------------------------- */
a.btn-cmn-secondary {
  position: relative;
  display: inline-block;
  min-width: 180px;
  margin-bottom: 20px;
  padding: 10px 60px 8px 60px;
  background-color: #1a1a1a;
  border-radius: 20px;
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  transition: all .3s;
}

a.btn-cmn-secondary:after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  right: 20px;
  width: 8px;
  height: 13px;
  background: url(/common/img/ico_arrow_white_02.png) right center no-repeat;
  background-size: 8px 13px;
  transition: all .3s;
}

a.btn-cmn-secondary:hover,
a.btn-cmn-secondary.is-hover {
  background-color: #878787;
  text-decoration: none;
}

a.btn-cmn-secondary:hover:after,
a.btn-cmn-secondary.is-hover:after {
  right: 17px;
}

a.btn-cmn-secondary.is-active {
  background-color: #fff;
  color: #1a1a1a;
  border: 1px #1a1a1a solid;
}

a.btn-cmn-secondary.is-active:after {
  background: url(/common/img/ico_arrow_black_02.png) right center no-repeat;
  background-size: 8px 13px;
}

a.btn-cmn-secondary.is-active:hover:after {
  right: 20px;
}

a.btn-cmn-secondary.btn-blank:after {
  width: 13px;
  height: 13px;
  background: url(/common/img/ico_blank_01.png) right center no-repeat;
  background-size: 13px;
}

a.btn-cmn-secondary.btn-blank:hover:after {
  right: 20px;
}

/* btn-cmn-01
---------------------------------------------------------- */
a.btn-cmn-01 {
  position: relative;
  display: inline-block;
  min-width: 185px;
  margin-bottom: 20px;
  padding: 15px 60px 13px 60px;
  border-radius: 6px;
  background-color: #fff;
  color: #1a1a1a;
  border: 1px #1a1a1a solid;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  transition: all .3s;
}

a.btn-cmn-01:after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  right: 10px;
  width: 18px;
  height: 14px;
  background: url(/common/img/ico_arrow_black_01.png) right center no-repeat;
  background-size: 18px 14px;
}

a.btn-cmn-01.is-animated:after {
  transition: all .3s;
}

a.btn-cmn-01:hover,
a.btn-cmn-01.is-hover {
  opacity: 0.5;
  text-decoration: none;
}

a.btn-cmn-01.is-active {
  background-color: #1a1a1a;
  color: #fff;
  border: none;
}

a.btn-cmn-01.is-active:after {
  background: url(/common/img/ico_arrow_white_01.png) right center no-repeat;
  background-size: 18px 14px;
}

a.btn-cmn-01.is-active:hover {
  opacity: 1;
}

a.btn-cmn-01.is-animated:hover:after {
  right: 7px;
}

/* btn-cmn-02
---------------------------------------------------------- */
a.btn-cmn-02 {
  position: relative;
  display: inline-block;
  min-width: 180px;
  margin-bottom: 20px;
  padding: 10px 60px 8px 60px;
  background-color: #fff;
  color: #1a1a1a;
  border: 1px #1a1a1a solid;
  border-radius: 20px;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  transition: all .3s;
}

a.btn-cmn-02:after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  right: 20px;
  width: 8px;
  height: 13px;
  background: url(/common/img/ico_arrow_black_02.png) right center no-repeat;
  background-size: 8px 13px;
}

a.btn-cmn-02:hover,
a.btn-cmn-02.is-hover {
  opacity: 0.5;
  text-decoration: none;
}

a.btn-cmn-02.is-active {
  background-color: #1a1a1a;
  color: #fff;
  border: none;
}

a.btn-cmn-02.is-active:after {
  background: url(/common/img/ico_arrow_white_02.png) right center no-repeat;
  background-size: 8px 13px;
}

a.btn-cmn-02.is-active:hover {
  opacity: 1;
}

/* btn-cmn-02
---------------------------------------------------------- */
a.btn-cmn-block,
a.btn-cmn-block-blank {
  display: inline-block;
  position: relative;
  min-width: 113px;
  margin-bottom: 20px;
  border-bottom: 1px #878787 solid;
  color: #1a1a1a;
  font-size: 14px;
  line-height: 25px;
  letter-spacing: 1px;
  transition: all .3s;
}

a.btn-cmn-block span {
  display: block;
  position: relative;
  padding: 0 55px 0 5px;
  background: url(/common/img/ico_arrow_black_02.png) right 5px top 8px no-repeat;
  background-size: 8px 13px;
  border-bottom: 2px #fff solid;
  transition: all .3s;
}

a.btn-cmn-block:hover,
a.btn-cmn-block-blank:hover,
a.btn-cmn-block.is-hover,
a.btn-cmn-block-blank.is-hover {
  text-decoration: none;
  color: #002870;
}

a.btn-cmn-block:before,
a.btn-cmn-block:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 25px;
  background-color: #eee;
  transition: width 0.7s;
}

a.btn-cmn-block:hover:before,
a.btn-cmn-block.is-hover:before {
  width: 100%;
}

a.btn-cmn-block-blank span {
  display: block;
  padding: 4px 5px;
  background: url(/common/img/ico_blank_black_01.png) right 6px top 8px no-repeat;
  background-size: 13px 13px;
  border-bottom: 2px #fff solid;
  transition: all .3s;
}

a.btn-cmn-block-blank:hover span,
a.btn-cmn-block-blank.is-hover span {
  background-position: right 2px top 8px;
}
    
/* is-active */
a.btn-cmn-block.is-active span {
  background: #878787 url(/common/img/ico_arrow_white_02.png) right 5px top 8px no-repeat;
  background-size: 8px 13px;
  color: #fff;
  transition: none;
}

a.btn-cmn-block-blank.is-active span {
  background: #878787 url(/common/img/ico_blank_01.png) right 6px top 8px no-repeat;
  background-size: 13px 13px;
  color: #fff;
  transition: none;
}

/* large (width: 100%)
---------------------------------------------------------- */
a.btn-cmn-primary.large,
a.btn-cmn-secondary.large,
a.btn-cmn-01.large,
a.btn-cmn-02.large,
a.btn-cmn-block.large,
a.btn-cmn-block-blank.large {
  width: 100%;
  padding: 15px 44px 13px 24px;
  word-break: break-all;
}


/* ==========================================================
 link-cmn
========================================================== */
/* link-cmn-01
---------------------------------------------------------- */
a.link-cmn-01,
a.link-cmn-01:focus {
  text-decoration: underline;
  color: #1a1a1a;
}

a.link-cmn-01:hover,
a.link-cmn-01.is-hover {
  text-decoration: none;
  background-color: #eee;
}

a.link-cmn-01.is-active {
  background-color: #878787;
  color: #fff;
  text-decoration: none;
}

a.link-cmn-01.is-active:hover {
  background-color: #878787;
  text-decoration: none;
}

/* link-cmn-02
---------------------------------------------------------- */
a.link-cmn-02 {
  display: inline-block;
  color: #1a1a1a;
}

a.link-cmn-02:hover,
a.link-cmn-02.is-hover {
  text-decoration: none;
  background-color: #eee;
}

a.link-cmn-02.is-active {
  background-color: #878787;
  color: #fff;
  text-decoration: none;
}

a.link-cmn-02.is-active:hover {
  background-color: #878787;
  text-decoration: none;
}

/* ==========================================================
 table-cmn
========================================================== */
/* table-cmn-large
---------------------------------------------------------- */
.table-cmn-large {
  width: 100%;
  margin: 30px 0;
  border: 1px #878787 solid;
}

.table-cmn-large th,
.table-cmn-large td {
  padding: 12px 16px;
  border-bottom: 1px #878787 solid;
  border-left: 1px #878787 solid;
  font-size: 14px;
  line-height: 1.6;
}

.table-cmn-large th {
  font-weight: bold;
}

.table-cmn-large td {
}

.table-cmn-large td.rowspan {
  border-bottom: 1px #878787 dotted !important;
}

.table-cmn-large .bg-gray-01 {
  background-color: #eeeeee;
}

.table-cmn-large .bg-gray-02 {
  background-color: #d0d0d0;
}

/* table-cmn-small
---------------------------------------------------------- */
.table-cmn-small {
  width: 100%;
  margin: 30px 0;
  border: 1px #878787 solid;
}

.table-cmn-small th,
.table-cmn-small td {
  padding: 8px 10px 7px;
  border-bottom: 1px #878787 solid;
  border-left: 1px #878787 solid;
  font-size: 12px;
  line-height: 1.6;
}

.table-cmn-small th {
  font-weight: bold;
}

.table-cmn-small td {
  border-left: 1px #878787 solid;
}

.table-cmn-small td.rowspan {
  border-bottom: 1px #878787 dotted !important;
}

.table-cmn-small .bg-gray-01 {
  background-color: #eee;
}

.table-cmn-small .bg-gray-02 {
  background-color: #d0d0d0;
}

/* table-cmn-light-01
---------------------------------------------------------- */
.table-cmn-light-01 {
  width: 100%;
  border-top: 1px #d0d0d0 solid;
  margin-bottom: 40px;
}

.table-cmn-light-01 th,
.table-cmn-light-01 td {
  display: block;
  width: 100%;
  padding: 0;
  border-bottom: none;
  font-size: 15px;
  line-height: 1.6;
}

.table-cmn-light-01 th {
  padding: 12px 0 9px;
  padding-right: 20px;
  font-weight: bold;
}

.table-cmn-light-01 td {
  border-bottom: 1px #d0d0d0 solid;
  padding-bottom: 14px;
}

.table-cmn-light-01 .bg-gray-01 {
  background-color: #eee;
}

/* table-cmn-light-02
---------------------------------------------------------- */
.table-cmn-light-02 {
  width: 100%;
  border-top: 1px #d0d0d0 solid;
  margin: 30px 0;
}

.table-cmn-light-02 th,
.table-cmn-light-02 td {
  padding: 16px 0;
  border-bottom: 1px #d0d0d0 solid;
  font-size: 15px;
  line-height: 1.6;
}

.table-cmn-light-02 th {
  width: 184px;
  font-weight: bold;
}

.table-cmn-light-02 .bg-gray-01 {
  background-color: #eee;
}

/* table-title-cmn
---------------------------------------------------------- */
.table-title-cmn-01 {
  margin: 35px 0 25px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}

.table-title-cmn-01 + .table-cmn-large,
.table-title-cmn-01 + .table-cmn-small,
.table-title-cmn-01 + .table-cmn-light-01 {
  margin-top: 25px;
}


/* ==========================================================
 grid-guide
========================================================== */
.grid-guide {
  overflow: hidden;
  margin: 50px -28px 0;
}
  .grid-guide > div {
    float: left;
    width: 100%;
    padding: 0 28px;
  }
  .col-small {
    max-width: 25%;
  }
  .col-large {
    max-width: 50%;
  }

.box-border-01{
  border: 1px solid #d0d0d0;
}

/* ==========================================================
 /mod-box-cmn-01
========================================================== */
.mod-box-cmn-01{
  border-top: 1px solid #d0d0d0;
  padding: 55px 0;
}
/* ==========================================================
 .mod-btn-cmn-01
========================================================== */
.mod-btn-cmn-01{
  min-height: 110px;
  text-align: left;
  font-size: 12px;
  display: table;
  border: 1px solid #000;
  float: left;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  margin-bottom: 0;
  position: relative;
}
.mod-btn-cmn-01 .inner{
  display: table-cell;
  vertical-align: middle;
}

.mod-btn-cmn-01 .inner .figure{
  display: table-cell;
  vertical-align: middle;
}

.mod-btn-cmn-01 .inner .figure img{
  max-width: 100%;
  margin: 0 14px 0 19px;
}

.mod-btn-cmn-01 .inner .detail{
  display: table-cell;
  vertical-align: middle;
  line-height: 2;
  letter-spacing: 0.04em;
}

.mod-btn-cmn-01 .inner::after{
  position: absolute;
  top: 50%;
  right: 10px;
  content: '';
  background: url(/common/img/mod_ico_arrow_01.png) no-repeat;
  width: 19px;
  height: 14px;
  display: block;
  transition: all .2s;
  margin-top: -7px;
}
.mod-btn-cmn-01:hover{
  text-decoration: none;
}
.mod-btn-cmn-01:hover .inner::after {
  right: 7px;
}
/* ==========================================================
   .mod-box-cmn-02
   ========================================================== */
.mod-box-cmn-02::after{
  content: " ";
  width: 100%;
  display: table;
}
.mod-box-cmn-02 a{
  text-decoration: none;
}
/* ==========================================================
   .mod-box-cmn-03
   ========================================================== */
.mod-box-cmn-03{
  border: 1px solid #d0d0d0;
  display: table;
  width: 100%;
  padding: 15px 30px 20px 15px;
}

.mod-box-cmn-03 a {
  text-decoration:none !important;
  margin-bottom: 0;
}

.mod-box-cmn-03 .inner{
  display: table-cell;
  vertical-align: middle;
}
.mod-box-cmn-03 .inner .figure{
  display: table-cell;
  vertical-align: middle;
}

.mod-box-cmn-03 .inner .figure img{
  margin-right: 30px;
}

.mod-box-cmn-03 .inner .detail{
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

.mod-box-cmn-03 .inner .detail h3{
  margin: 0 0 20px;
}

.mod-box-cmn-03 .inner .detail p{
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.6;
}

/* ==========================================================
 .section-accordian-01
========================================================== */
/* section-accordian-01
---------------------------------------------------------- */
.section-accordian-01 .h3-cmn-02{ margin-bottom: 25px; }
.section-accordian-01 .box-cmn-image-01{ margin: 13px 0 52px; }

/* ==========================================================
 tab contents
========================================================== */
.tab-cmn-01 .tab__header,.tab-cmn-01 .tab__footer{
  overflow: hidden;
}

.tab-cmn-01 .tab__item{
  float: left;
  width: 33.33%;
  text-align:center;
  white-space:nowrap;
}

.tab-cmn-01 .tab__item.is_select{
  border: 1px solid #1a1a1a;
}

.tab-cmn-01 .tab__item a{
  display: block;
  width:100%;
  vertical-align:middle;
  justify-content:center;
  align-items:center;
  text-decoration:none;
  padding:22px;
  font-size:15px;
  line-height: 1.6;
  transition:all 0.3s ease;
}

.tab__item a:hover{
  color:#878787;
}

.tab__contents{
  margin:40px 0 60px;
}

.tab-cmn-01 .tab__header .tab__item{
  border-bottom:1px solid #1a1a1a;
}

.tab-cmn-01 .tab__header .tab__item.is_select{
  border:1px solid #1a1a1a;
  border-bottom: none;
}

.tab-cmn-01 .tab__footer .tab__item{
  border-top:1px solid #1a1a1a;
}

.tab-cmn-01 .tab__footer .tab__item.is_select{
  border:1px solid #1a1a1a;
  border-top: none;
}

.tab-cmn-01 .tab__content__item{
  display:none;
}

.tab-cmn-01 .tab__content__item.is_select{
  display:block;
}

/* ==========================================================
 innerLink (ページ内リンク)
========================================================== */
.innerLink{border:1px solid #d0d0d0}
.innerLink li{display:inline-block}
.innerLink li a{display:block;position:relative;color:#1A1A1A}
.innerLink li a::before{content:'';position:absolute;left:0;display:block;border-top:2px solid black;border-right:2px solid black;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}
.innerLink{padding:20px 30px}
.innerLink li{margin-right:30px;margin-top:5px;margin-bottom:5px}
.innerLink li a{padding-left:15px}
.innerLink li a:before{top:5px;width:6px;height:6px}


/* ==========================================================
 image-case
========================================================== */
/* image-case-01
   ---------------------------------------------------------- */
.image-case-01 {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 23px;
}
.image-case-01 .image { overflow: hidden;}
.image-case-01 .image .text {
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  width: 100%;
  color: #fff;
  z-index: 10;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.image-case-01 .image .text span {
  display: inline-block;
  background: url(/common/img/ico_arrow_white_02.png) no-repeat center right;
  -webkit-background-size: 7px auto;
  background-size: 7px auto;
  padding-right: 15px;
  position: relative;
}
.image-case-01 .image .text span:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 1px;
  background-color: #fff;
  -webkit-transition: width 0.5s ease;
  -moz-transition: width 0.5s ease;
  -o-transition: width 0.5s ease;
  transition: width 0.5s ease;
}
.image-case-01 .image:hover .text,
.image-case-01 .image.is-hover .text {
  opacity: 1;
}
.image-case-01 .image:hover .text span:before,
.image-case-01 .image.is-hover .text span:before {
  width: 100%;
}

.image-case-01 .image .top-left {
  position: absolute;
  top: 0;
  left: 0;
}

.image-case-01 .image::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background-image: -moz-linear-gradient( 90deg, rgb(0,0,0) 0%, rgb(0,0,0) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(0,0,0) 0%, rgb(0,0,0) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(0,0,0) 0%, rgb(0,0,0) 100%);
  cursor: pointer;
  transition: opacity 0.3s;
}
.image-case-01 .image > img {
  -webkit-transition: -webkit-transform .5s ease;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
.image-case-01 .image:hover > img,
.image-case-01 .image.is-hover > img {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  transform: scale(1.05);
}
.image-case-01 .image:hover::after,
.image-case-01 .image.is-hover::after {
  display: block;
  opacity: 0.6;
}
/* type-01 */
.image-case-01.type-01 { margin-bottom: 0; }
.image-case-01.type-01 .image::after { 
  opacity: 0.3;
  -webkit-transition: -webkit-opacity .5s ease;
  transition: -webkit-opacity .5s ease;
  transition: opacity .5s ease;
  transition: opacity .5s ease, -webkit-opacity .5s ease;
}
.image-case-01.type-01 .image .text { 
  font-size: 15px;
  opacity: 1;
}
.image-case-01.type-01 .image .text span {
  background: none;
  padding-right: 0;
}
.image-case-01.type-01 .image .text span:before { bottom: -2px;}
.image-case-01.type-01 .image:hover:after,
.image-case-01.type-01 .image.is-hover:after {
  opacity: 0.6;
}
.txt-cmn-tag {
  width: 60px;
  height: 60px;
  line-height: 60px;
  font-size: 18px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #1a1a1a;
  color: #fff;
  text-align: center;
}
.txt-cmn-tag-02 {
  width: 50px;
  height: 50px;
  background-color: #1a1a1a;
  color: #fff;
  text-align: center;
  line-height: 50px;
  padding: 4px 0;
  position: absolute;
  top: 0;
  left: 0;
}
.txt-cmn-tag-02 .txt-01 {
  font-size: 28px;
  display: block;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 1px;
}
.txt-cmn-tag-02 .txt-02 {
  font-size: 12px;
  display: block;
  line-height: 1;
}
/* typw-01 */
.txt-cmn-tag-02.type-01 {
  width: 70px;
  height: 70px;
  line-height: 70px;
  padding: 6px 0;
}
.txt-cmn-tag-02.type-01 .txt-01 { font-size: 40px;}
.txt-cmn-tag-02.type-01 .txt-02 { font-size: 16px; }

/* ==========================================================
 module 2018/04
========================================================== */
.border-top {
  padding: 30px 0;
  border-top: 1px solid #D0D0D0;
}

.border-top > *:first-child {margin-top: 0;}
.border-top > .h3-cmn-01 {margin-top: -4px;}
.border-top > .h4-cmn-01 {margin-top: -3px;}
.border-top > .h5-cmn-01 {margin-top: -2px;}
.border-top > .h6-cmn-01 {margin-top: -1px;}

/* .cmn-cvArea (Conversion Area) */

.cmn-cvArea{
    width: 976px;
    border: 1px solid #1a1a1a;
    margin: 50px auto 0 auto !important;
    margin-bottom: 0px;
}

.cmn-cvArea .cvArea__item.catalogue {
    width: 100%;
}

.cmn-cvArea .cvArea__body {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    width: 960px;
    margin: auto;
}

.cmn-cvArea .cvArea__header {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 700;
    text-align: center;
    padding: 40px 0 20px;
}

.cmn-cvArea .cvArea__header h2.title {
	font-weight: 700 !important;
	margin:0 !important;
	padding:0 !important;
	font-size:28px !important;
	border:none !important;
}

.cmn-cvArea img.limited-pc {
	width:930px;
}

.cmn-cvArea .cvArea__item {
    margin-bottom: 30px;
}

.cmn-cvArea .cvArea__item figure > img {
    margin-bottom: 30px;
    /*width: 960px;*/
	max-width:   920px;
}

.cmn-cvArea .cvArea__item.apply {
    width: 480px;
}

.cmn-cvArea .cvArea__item.apply img,
.cmn-cvArea .cvArea__item.search img {
    width: 384px !important;
}

.cmn-cvArea .cvArea__item.search {
    width: 480px;
}

.cmn-cvArea .cvArea__item figure.intro {
	border:1px solid #ccc;padding:30px 15px 15px 15px;width:870px;margin:0 auto;
}

.cmn-cvArea .cvArea__item figure.intro p.msg {
	font-size:150% !important;margin:0 0 20px 0;font-weight:bold;
}

.cmn-cvArea .cvArea__item figure.intro img.catalog-size-pc {
	width:85%;
}



/* LAYOUT
============================================================ */

.negativeMargin-1em{
    margin-top: -1em!important;
}
.negativeMargin-2em{
    margin-top: -2em!important;
}
.negativeMargin-3em{
    margin-top: -3em!important;
}
.negativeMarginBootom-1em{
    margin-bottom: -1em!important;
}
.negativeMarginBootom-2em{
    margin-bottom: -2em!important;
}
.negativeMarginBootom-3em{
    margin-bottom: -3em!important;
}

.floatRight{
    float: right;
}
.floatLeft{
    float: left;
}
.clearBoth{
    clear: both;
}

/* flexbox
---------------------------------------- */
/* flexboxコンテナ
------------------------------ */
.flex-cont,.flex-contPCSP  {
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
}
.flecGap1em{
    gap:1em;
}
.flecGap10px{
    gap:10px;
}

/* mobile用 */
@media screen and (max-width:768px) {
	.flex-cont {
		display: block;
	}
}
/* pcのみ */
@media screen and (min-width:769px) {
	.flex-cont_pc {
		display:-webkit-box;
		display:-ms-flexbox;
		display: flex;
	}
}
/* Flexboxアイテム
------------------------------ */
.flex-item1 {
    flex: 1;
}

/* flex-direction
   => 子要素の配置方向
------------------------------ */
.fd-r {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
}
.fd-c {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.fd-rr {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.fd-cr {
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
}
/* flex-wrap
   => 子要素の折り返し設定
------------------------------ */
.fw-n {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.fw-w {
  -ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.fw-wr {
	-ms-flex-wrap: wrap-reverse;
	flex-wrap: wrap-reverse;
}
/* justify-content
   => 水平方向の揃え方
------------------------------ */
.jc-fs {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.jc-fe {
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.jc-c {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.jc-sb {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.jc-sa {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
/* align-items
   => 垂直方向の揃え方
------------------------------ */
.ai-fs {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.ai-fe {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.ai-c {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.ai-b {
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}
.ai-s {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
/* align-content
   => 行の揃え方
------------------------------ */
.ac-fs {
	-ms-flex-line-pack: start;
	align-content: flex-start;
}
.ac-fe {
	-ms-flex-line-pack: end;
	align-content: flex-end;
}
.ac-c {
	-ms-flex-line-pack: center;
	align-content: center;
}
.ac-sb {
	-ms-flex-line-pack: justify;
	align-content: space-between;
}
.ac-sa {
	-ms-flex-line-pack: distribute;
	align-content: space-around;
}
/* order
   => 個別の子要素の順序の指定
------------------------------ */
.o-1 {
	order: 1;
}
.o-2 {
	order: 2;
}
.o-3 {
	order: 3;
}
.o-4 {
	order: 4;
}
.o-5 {
	order: 5;
}
.o-6 {
	order: 6;
}
/* align-self
   => 個別の子要素の垂直方向の揃え方
------------------------------ */
.as-a {
	-ms-flex-item-align: auto;
	align-self: auto;
}
.as-fs {
	-ms-flex-item-align: start;
	align-self: flex-start;
}
.as-fe {
	-ms-flex-item-align: end;
	align-self: flex-end;
}
.as-c {
	-ms-flex-item-align: center;
	align-self: center;
}
.as-b {
	-ms-flex-item-align: baseline;
	align-self: baseline;
}
.as-s {
	-ms-flex-item-align: stretch;
	align-self: stretch;
}
/* IE11での表示崩れ対応
------------------------------ */
.flex-cont.fd-c .flex-item,
.flex-cont.fd-cr .flex-item {
  min-height: 0%;
}
/* アキ
============================================================ */
.mt-xs {
	margin-top: 5px;
}
.mt-s {
	margin-top: 10px;
}
.mt-m {
	margin-top: 20px;
}
.mt-l {
	margin-top: 40px;
}
.mt-xl {
	margin-top: 60px;
}
/* 汎用幅
============================================================ */
/* ピクセル指定
------------------------------ */
@media all and (min-width:769px) {
	.w80 {
		width: 80px!important;
	}
	.w90 {
		width: 90px!important;
	}
	.w100 {
		width: 100px!important;
	}
	.w110 {
		width: 110px!important;
	}
	.w120 {
		width: 120px!important;
	}
	.w130 {
		width: 130px!important;
	}
	.w140 {
		width: 140px!important;
	}
	.w150 {
		width: 150px!important;
	}
	.w160 {
		width: 160px!important;
	}
	.w170 {
		width: 170px!important;
	}
	.w180 {
		width: 180px!important;
	}
	.w190 {
		width: 190px!important;
	}
	.w200 {
		width: 200px!important;
	}
	.w210 {
		width: 210px!important;
	}
	.w220 {
		width: 220px!important;
	}
	.w225 {
		width: 225px!important;
	}
	.w230 {
		width: 230px!important;
	}
	.w239 {
		width: 239px!important;
	}
	.w240 {
		width: 240px!important;
	}
	.w242 {
		width: 242px!important;
	}
	.w250 {
		width: 250px!important;
	}
	.w256 {
		width: 256px!important;
	}
	.w255 {
		width: 255px!important;
	}
	.w260 {
		width: 260px!important;
	}
	.w270 {
		width: 270px!important;
	}
	.w280 {
		width: 280px!important;
	}
	.w290 {
		width: 290px!important;
	}
	.w300 {
		width: 300px!important;
	}
	.w305 {
		width: 305px!important;
	}
	.w306 {
		width: 306px!important;
	}
	.w310 {
		width: 310px!important;
	}
	.w311 {
		width: 311px!important;
	}
	.w319 {
		width: 319px!important;
	}
	.w320 {
		width: 320px!important;
	}
	.w326 {
		width: 326px!important;
	}
	.w330 {
		width: 330px!important;
	}
	.w337 {
		width: 337px!important;
	}
	.w340 {
		width: 340px!important;
	}
	.w350 {
		width: 350px!important;
	}
	.w360 {
		width: 360px!important;
	}
	.w370 {
		width: 370px!important;
	}
	.w380 {
		width: 380px!important;
	}
	.w390 {
		width: 390px!important;
	}
	.w400 {
		width: 400px!important;
	}
	.w410 {
		width: 410px!important;
	}
	.w420 {
		width: 420px!important;
	}
	.w430 {
		width: 430px!important;
	}
    .w436 {
		width: 436px!important;
	}
	.w440 {
		width: 440px!important;
	}
	.w450 {
		width: 450px!important;
	}
	.w460 {
		width: 460px!important;
	}
	.w470 {
		width: 470px!important;
	}
	.w472 {
		width: 472px!important;
	}
    
	.w480 {
		width: 480px!important;
	}
    .w488 {
		width: 488px!important;
	}
	.w490 {
		width: 490px!important;
	}
	.w500 {
		width: 500px!important;
	}
	.w510 {
		width: 500px!important;
	}
	.w520 {
		width: 520px!important;
	}
	.w530 {
		width: 530px!important;
	}
	.w540 {
		width: 540px!important;
	}
	.w550 {
		width: 550px!important;
	}
	.w560 {
		width: 560px!important;
	}
	.w570 {
		width: 570px!important;
	}
	.w580 {
		width: 580px!important;
	}
	.w590 {
		width: 590px!important;
	}
	.w600 {
		width: 600px!important;
	}
	.w620 {
		width: 620px!important;
	}
	.w610 {
		width: 610px!important;
	}
	.w625 {
		width: 625px!important;
	}
	.w630 {
		width: 630px!important;
	}
	.w640 {
		width: 640px!important;
	}
	.w650 {
		width: 650px!important;
	}
	.w680 {
		width: 680px!important;
	}
	.w700 {
		width: 700px!important;
	}
	.w720 {
		width: 720px!important;
	}
	.w730 {
		width: 730px!important;
	}
	.w750 {
		width: 750px!important;
	}
	.w760 {
		width: 760px!important;
	}
	.w770 {
		width: 770px!important;
	}
	.w770 {
		width: 770px!important;
	}
	.w800 {
		width: 800px!important;
	}
    .w810 {
		width: 810px!important;
	}
	.w820 {
		width: 820px!important;
	}
	.w840 {
		width: 840px!important;
	}
	.w860 {
		width: 860px!important;
	}
	.w880 {
		width: 880px!important;
	}
	.w900 {
		width: 900px!important;
	}
	.w950 {
		width: 950px!important;
	}
	.w930 {
		width: 930px!important;
		margin: 0 auto;
	}
	.w956 {
		width: 956px!important;
		margin: 0 auto;
	}
	.w957 {
		width: 957px!important;
		margin: 0 auto;
	}
	.w958 {
		width: 958px!important;
		margin: 0 auto;
	}
	.w976 {
		width: 976px!important;
		margin: 0 auto;
	}
	.w991 {
		width: 957px!important;
		margin: 0 auto;
		padding: 0 17px;
	}
	.w1099 {
		width: 1099px!important;
		margin: 0 auto;
		padding: 0;
	}
	.w1137 {
		width: 1137px!important;
		margin: 0 auto;
		padding: 0;
	}
}