@charset "UTF-8";
/* CSS Document */

/* 汎用クラスの指定。
   必要に応じて追記可能ですが、汎用クラスの範疇に入らないものは記述しないでください。
--------------------------------------------------------------*/


/* 回り込み解除
--------------------------------------------------------------*/
.clear_both { clear: both; display: block; }
hr { display: none; }

/* クリアフィックス */
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/* リスト（TYPE-NO）
--------------------------------------------------------------*/
ul.type_none { list-style-type: none; }

ul li img {             /* 文字可変時の画像のずれをおさえる */
    font-size: 0;
    line-height: 0;
    vertical-align: bottom;
}

ul.disc li{
    list-style: disc!important;
    margin-left:20px!important;
}

ul.circle li{
    list-style: circle;
    margin-left:20px;
}

ul.roman li {
    list-style: upper-roman;
    margin-left:20px;
}

ul.decimal li {
    list-style: decimal;
    margin-left:20px;
}

ul.square li{
    list-style: square;
    margin-left:20px;
}

ul.li-dot {margin-top:0;}
ul.li-dot li { margin-left:1em;}
ul.li-dot li:before {
 content:"・";
 text-indent: 1.1em;
 margin-left: -1.1em;
}

ul ul.li-dot > li {
  list-style: none !important;
}


@media screen and (max-width: 640px) {
	ul.disc li{
    margin-left:20px;
   }
}


/* パディング 下方向
--------------------------------------------------------------*/
.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb80 { padding-bottom: 80px !important; }

/* パディング 上方向
--------------------------------------------------------------*/
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important;}
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }
.pt60 { padding-top: 60px !important; }
.pt70 { padding-top: 70px !important; }
.pt80 { padding-top: 80px !important; }

/* マージン 下方向
--------------------------------------------------------------*/
.mt05 { 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; }
.mt60 { margin-top: 60px !important; }
.mt70 { margin-top: 70px !important; }
.mt80 { margin-top: 80px !important; }

/* マージン 上方向
--------------------------------------------------------------*/
.mb05 { margin-bottom: 5px !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; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }

/* マージン 左方向
--------------------------------------------------------------*/
.ml10 { margin-left: 10px !important; }
.ml20 { margin-left: 20px !important; }

/* マージン 右方向
--------------------------------------------------------------*/
.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }

/* マージン
--------------------------------------------------------------*/
.m0 { margin: 0 !important; }
.m-auto { margin: 0 auto; }

/* ポジション
--------------------------------------------------------------*/
.positionCenter { text-align: center !important; }
.positionLeft { text-align: left !important; }
.positionRight { text-align: right !important; }

/* リストポイント又は矢印アイコンポジション
--------------------------------------------------------------*/
.diskArrow { margin: 0px 3px -1px 0px; }
.toTopArrow { margin: 0px 3px -1px 0px; _margin: 0px 3px -2px 0px; }

/* 注文
--------------------------------------------------------------*/
.caution { text-indent: -0.95em; margin-left: 0.95em; }

/* インデント
--------------------------------------------------------------*/
.indentTxt {
    text-indent: -1.1em;
    margin-left: 1.1em;
}

.indentTxtcap {
    text-indent: -3em;
    margin-left: 2.3em;
}

* html .indentTxt {
    text-indent: -0.8em;
    margin-left: 0.8em;
}

.IndentListdot {
    text-indent: -1em;
    margin-left: 1em;
    padding: 5px 0;
}

.IndentList3 {
    text-indent: -2.5em;
    margin-left: 2.5em;
    padding: 5px 0;
}

/* フロート
--------------------------------------------------------------*/
.float_L { float: left; }
.float_R { float: right; }

/* イメージ回り込み
--------------------------------------------------------------*/
.image_L {
    float: left;
    padding: 0 12px 20px 0;
}

.image_R {
    float: right;
    padding: 0 0 20px 12px;
}

/* ライン
--------------------------------------------------------------*/
.separateSolidLine {
    border-top: solid 1px #bcbcbc;
    padding-top: 8px;
    margin-top: 8px;
}

.separateSolidLine2 {
    border-top: solid 2px #bcbcbc;
    padding-top: 8px;
    margin-top: 8px;
}

.separateDottedLine {
    padding-top: 30px;
    background-image: linear-gradient(to right, #707070, #707070 2px, transparent 2px, transparent 4px);
    background-repeat: repeat-x;
    background-position: top left;
    background-size: 4px 1px;
}

/* バックグラウンド
--------------------------------------------------------------*/
.bgColor-lightBlue {
    background-color: #e8eff4;
    padding: 15px;
}

.bgColor-lightGray {
    background-color: #f4f4f4;
    padding: 15px;
}

/* フレーム
--------------------------------------------------------------*/
.frame-lightGray {
    border: solid 1px #d6d6d6;
    padding: 10px;
}


/* 下つき・上つき文字
--------------------------------------------------------------*/
sub {
    position: relative;
    bottom: -0.1em;
    vertical-align: baseline;
}

sup {
    position: relative;
    bottom: 0.2em;
    vertical-align: baseline;
    font-size: 72%;
}

table.padding5 tr td,
table.padding5 tr th {
    padding: 5px;
}

/*テーブル
-------------------------------------------------------------*/
table.tbl-general {
    margin: 20px auto;
}
.tbl-general th {
    border: solid 1px #ccc;
    padding: 10px;
	   text-align: left;
}
.tbl-general td {
    border: solid 1px #ccc;
    padding: 10px;
}

/*横幅*/
table.wid60 {width:60%; }
table.wid70 {width:70%; }
table.wid80 {width:80%; }

@media screen and (max-width: 640px) {
.last td:last-child {
  border-bottom: solid 1px #ccc;
  width: 100%;
}
.tbl-general {
  width: 80%;
}
.tbl-general th,
.tbl-general td {
  border-bottom: none;
  display: block;
  width: 100%;
}
table.wid60,　table.wid70, table.wid80 { width:100%; }
}

/*年末年始用table*/
.tbl-general th.co { border-left:solid 4px #008446;}
.tbl-general th.ag { border-left:solid 4px #ee7800;}
.tbl-general th.ge { border-left:solid 4px #3D2854;}
.tbl-general th.co,.tbl-general th.ag,.tbl-general th.ge {
	font-weight: normal;
}


/* フォント・スタイル
--------------------------------------------------------------*/
.txt_bold { font-weight: bold; }
.txt_red { color: #f00; }
.txt_blue { color: #0262e4; }
.txt_green { color: #007241; }
.txt_italic { font-style: italic; }
.txt_normal { font-style:normal; font-weight: 100;}
.x-small { font-size: 80%; line-height: 120%; }
.small { font-size: 85%; }
.medium { font-size: 100%; }
.large { font-size: 108%; line-height: 160% !important; }
.m-large { font-size: 123.1%; line-height: 160% !important; }
.x-large { font-size: 138.5%; line-height: 160%; }
.itali { font-style: italic; }

/* フォント・行間
--------------------------------------------------------------*/
.lh-default { line-height: 1.6666666667; }
.lh-16 { line-height: 1.6rem; }
.lh-18 { line-height: 1.8rem; }
/* リンクスタイル
--------------------------------------------------------------*/
.noticeLink::before {
    display: inline-block;
    width: 17px;
    height: 17px;
    margin-top: -1px;
    margin-right: 3px;
    vertical-align: text-top;
    content: "";
    background: url("/common/img/global/icon_circle-arrow-white.svg") center center/contain no-repeat;
}

p.noticeLink a { color:#04A7C4 !important;}

/*外部リンク*/
a.exlink span {
  position: relative;
  padding-right: 25px;
}
 a.exlink span:after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 14px;
    height: 14px;
    content: "";
    background: url(/information/common/img/exlink.png) no-repeat center center/contain;
    transform: translateY(-50%);
}

/*改行がある場合のexlink*/
/* a.exlink2::after {
  content: url("/information/common/img/exlink2.png");
  padding-left: 3px;
  padding-right: 5px;
}*/

/*外部リンク新：spanナシ, 改行テキストリンク対応*/
a.exlink2::after {
   content: '';
   padding-left: 3px;
   padding-right: 5px;
   width: 22px;
   display: inline-block;
   height: 14px;
   background: url(/information/common/img/exlink.png) center center
/ 14px auto no-repeat;
}

/* 電話番号スタイル
--------------------------------------------------------------*/
@media (min-width: 768px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

/* Social Icons
--------------------------------------------------------------*/
/* Facebook */
.c-sns ._fb .c-sns__link {
  background: #3b579d;
}
/* X */
.c-sns ._tw .c-sns__link {
  background: #000;
}
.c-sns {
  display: flex;
}
.c-sns__outer .c-sns {
  gap: 16px;
  margin-bottom: 50px;
}
.c-sns__link {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  height: 33px;
  padding-right: 15px;
  padding-left: 15px;
  overflow: hidden;
  text-decoration: none;
  border-radius: 2px;
  transition: opacity 0.1s ease;
}
.c-sns__link:hover {
  opacity: 0.8;
}
.c-sns .c-sns__icon {
  width: 20px;
  height: 18px;
}
@media (max-width: 767px) {
  .c-sns__outer .c-sns {
      gap: 10px;
      margin-bottom: 30px;
  }
  .c-sns__link {
    gap: 8px;
    height: 26px;
    padding-right: 12px;
    padding-left: 12px;
  }
  .c-sns .c-sns__icon {
    width: 15px;
    height: 13px;
  }
}


/* 画像横並び
--------------------------------------------------------------*/

#photo-flex {
	width:870px;
	margin:50px auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#photo-flex li {
	width:425px;
	margin-bottom:20px;
}

#photo-flex img {width:100%;}

#photo-flex li div span {
	font-size:85%;
}


@media screen and (max-width: 640px) {
#photo-flex { 
	width:90%;
	}
	
#photo-flex li { 
	width:100%;
	}
	
#photo-flex li img { 
	width:100%;
	}
}

