@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:400,700);
/*---------------------------------------------
	目次
  ---------------------------------------------
	リセット
	リンク
	フォント
	メインコンテンツ
	noscript
	EMG
	強制指定
	[CL]  カラム
	[HD]  見出し
	[TX]  テキスト
	[HR]  区切り線
	[IG]  画像
	[LT]  リスト
	[LK1]  アイコンリンク
	[LK2]  横並びリンク
	[TG1] タグ
	[TG2] ラベル
	[BT]  ボタン
	[BT3] シェアボタン
	[BT4] メニューボタン
	[BT5] ページトップボタン
	[BX]  ボックス
	[FR]  枠
	[PL]  パネル
	[TB]  表
	[NV1] コンテンツナビゲーション
	[NV2] タブ
	[NV3] ページネーション
	[FM]  フォーム
	[EB1] 動画埋め込み
	[EB2] モーダル
	[SL]  スライダー
	[SC]  スクロールエフェクト

	1200px未満
	768px未満
	480px未満
	印刷用
	
	import
 ----------------------------------------------*/
/*---------------------------------------------
	リセット
  ---------------------------------------------*/
html {
  overflow-y: scroll;
}

body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, header, address,
figure, figcaption {
  margin: 0;
  padding: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q:before,
q:after {
  content: '';
}

object,
embed {
  vertical-align: top;
}

legend {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1rem;
  font-weight: normal;
}

img, abbr, acronym, fieldset {
  border: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

ul li {
  list-style-type: none;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  color: #545454;
  text-align: left;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/*---------------------------------------------
	リンク
  ---------------------------------------------*/
.main a {
  text-decoration: none;
  color: #1a75ff;
  -webkit-transition: color .2s linear;
  transition: color .2s linear;
}

html:not(.sp) .main a:hover {
  text-decoration: underline;
  color: #1a75ff;
}

/*---------------------------------------------
	フォント
  ---------------------------------------------*/
body {
  font-family: 'ヒラギノ角ゴ Pro W3',Hiragino Kaku Gothic Pro,"メイリオ",Meiryo,Osaka,'ＭＳ Ｐゴシック',MS PGothic,sans-serif;
  letter-spacing: .03em;
}

.winChrome body {
  font-weight: 500;
}

/* IEにメイリオを指定（下余白対策） */
/*
@media all and (-ms-high-contrast:none) {
	body {font-family: Meiryo, sans-serif;}
}
*/
input,
select,
textarea,
button {
  font-family: inherit;
  font-size: inherit;
}

/* ----- Webフォント（Google Fonts） ----- */
/* フォントの読み込みは本CSSの最初に記述 */
.txt-en {
  font-family: 'Roboto', sans-serif !important;
}

/*---------------------------------------------
	メインコンテンツ
  ---------------------------------------------*/
#wrapper {
  width: 100%;
  min-width: 320px;
  overflow: hidden;
}

main {
  display: block;
}

.main .content {
  padding-top: 80px;
  padding-bottom: 50px;
  background-color: #fff;
}

.main .content:not([class*="bg-"]) + .content:not([class*="bg-"]) {
  padding-top: 0;
}

.row {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 10px;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.row .row {
  padding: 0;
}

.row.blog {
  width: 710px;
}

.anchor:before {
  content: "";
  display: block;
  margin-top: -140px;
  padding-top: 140px;
}

.fixed {
  position: fixed;
  z-index: 10000;
  width: 100%;
  height: 0;
}

/*---------------------------------------------
	noscript
  ---------------------------------------------*/
.notice_area {
  padding-top: 130px;
  padding-bottom: 10px;
  background-color: #f03;
  background-position: 0px 380px;
}

.notice_area > .box {
  width: 760px;
  margin: 0 auto;
  padding: 10px 20px;
  background: #fff;
  border-radius: 7px;
}

/*---------------------------------------------
	EMG
  ---------------------------------------------*/
#emg1, #emg2, #emg3 {
  clear: both;
  text-align: center;
  all: initial;
}

#emg1 strong, #emg2 strong, #emg3 strong {
  font-weight: bold;
}

#emg1 br, #emg2 br, #emg3 br {
  display: none;
}

#emg1 table, #emg2 table, #emg3 table {
  margin: 10px auto 10px auto !important;
  overflow: auto !important;
  min-width: 500px !important;
}

#emg1 table table, #emg2 table table, #emg3 table table {
  margin: 0 !important;
}

#emg1 th, #emg1 td, #emg2 th, #emg2 td, #emg3 th, #emg3 td {
  padding: 2px !important;
  border: 0 !important;
}

/*---------------------------------------------
	強制指定
  ---------------------------------------------*/
/* ----- 上下左右中央寄せ ----- */
.main .left {
  text-align: left !important;
}

.main .center {
  text-align: center !important;
}

.main .right {
  text-align: right !important;
}

.main .top {
  vertical-align: top !important;
}

.main .middle {
  vertical-align: middle !important;
}

.main .bottom {
  vertical-align: bottom !important;
}

/* ----- 表示／非表示 ----- */
@media screen and (min-width: 768px), print {
  .show-sp {
    display: none !important;
  }
}

/* ----- 文字サイズ ----- */
.main .l {
  font-size: 1.13rem !important;
}

.main .m {
  font-size: 0.88rem !important;
}

.main .s {
  font-size: 0.81rem !important;
}

/* ----- 文字装飾 ----- */
.main .normal {
  font-weight: normal !important;
}

.winChrome .main .normal {
  font-weight: 500 !important;
}

.main .bold {
  font-weight: bold !important;
}

.main .italic {
  font-style: italic !important;
}

.main .oblique {
  font-style: oblique !important;
}

/* ----- 幅 ----- */
.main .w50 {
  width: 50px !important;
}

.main .w60 {
  width: 60px !important;
}

.main .w70 {
  width: 70px !important;
}

.main .w80 {
  width: 80px !important;
}

.main .w90 {
  width: 90px !important;
}

.main .w100 {
  width: 100px !important;
}

.main .w110 {
  width: 110px !important;
}

.main .w120 {
  width: 120px !important;
}

.main .w130 {
  width: 130px !important;
}

.main .w140 {
  width: 140px !important;
}

.main .w150 {
  width: 150px !important;
}

.main .w160 {
  width: 160px !important;
}

.main .w170 {
  width: 170px !important;
}

.main .w180 {
  width: 180px !important;
}

.main .w190 {
  width: 190px !important;
}

.main .w200 {
  width: 200px !important;
}

.main .w10p {
  width: 10% !important;
}

.main .w20p {
  width: 20% !important;
}

.main .w30p {
  width: 30% !important;
}

.main .w40p {
  width: 40% !important;
}

.main .w50p {
  width: 50% !important;
}

.main .w60p {
  width: 60% !important;
}

.main .w70p {
  width: 70% !important;
}

.main .w80p {
  width: 80% !important;
}

.main .w90p {
  width: 90% !important;
}

.main .w100p {
  width: 100% !important;
}

/* ----- 下余白 ----- */
.main .mb0 {
  margin-bottom: 0px !important;
}

.main .mb10 {
  margin-bottom: 10px !important;
}

.main .mb20 {
  margin-bottom: 20px !important;
}

.main .mb30 {
  margin-bottom: 30px !important;
}

.main .mb40 {
  margin-bottom: 40px !important;
}

.main .mb50 {
  margin-bottom: 50px !important;
}

.main .mb60 {
  margin-bottom: 60px !important;
}

.main .mb70 {
  margin-bottom: 70px !important;
}

.main .mb80 {
  margin-bottom: 80px !important;
}

.main .mb90 {
  margin-bottom: 90px !important;
}

.main .mb100 {
  margin-bottom: 100px !important;
}

.main .pb0 {
  padding-bottom: 0px !important;
}

.main .pb10 {
  padding-bottom: 10px !important;
}

.main .pb20 {
  padding-bottom: 20px !important;
}

.main .pb30 {
  padding-bottom: 30px !important;
}

.main .pb40 {
  padding-bottom: 40px !important;
}

.main .pb50 {
  padding-bottom: 50px !important;
}

.main .pb60 {
  padding-bottom: 60px !important;
}

.main .pb70 {
  padding-bottom: 70px !important;
}

.main .pb80 {
  padding-bottom: 80px !important;
}

.main .pb90 {
  padding-bottom: 90px !important;
}

.main .pb100 {
  padding-bottom: 100px !important;
}

/* ----- 背景色 ----- */
.main .bg-white {
  background-color: #fff !important;
}

.main .bg-light {
  background-color: #eeeff1 !important;
}

.main .bg-gray {
  background-color: #999 !important;
}

.main .bg-dark {
  background-color: #545454 !important;
}

.main .bg-color0 {
  background-color: #59bdc6 !important;
}

.main .bg-color1 {
  background-color: #b2c473 !important;
}

.main .bg-color2 {
  background-color: #efa55e !important;
}

.main .bg-color3 {
  background-color: #f03 !important;
}

.main .bg-gradation1 {
  background: #f79be5 !important;
  background: linear-gradient(45deg, #f79be5 0, #7e88e8 100%) !important;
}

.main .bg-img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* ----- 文字色 - 白 ----- */
.main .txt-white * {
  color: #fff !important;
}

.main .txt-gray {
  color: #999 !important;
}

/*---------------------------------------------
	[CL] カラム
  ---------------------------------------------*/
.col-set {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% + 30px);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.no-gutter {
  width: 100%;
}

.row .no-gutter {
  margin-bottom: 50px;
}

.col1-2 {
  width: calc(50% - 30px);
}

.col1-3 {
  width: calc(33.33333333% - 30px);
}

.col2-3 {
  width: calc(66.66666666% - 30px);
}

.col1-4 {
  width: calc(25% - 30px);
}

.col3-4 {
  width: calc(75% - 30px);
}

.col1-5 {
  width: calc(20% - 30px);
}

.col1-6 {
  width: calc(16.66666666%  - 30px);
}

.no-gutter > .col1-2 {
  width: 50%;
}

.no-gutter > .col1-3 {
  width: 33.33333333%;
}

.no-gutter > .col2-3 {
  width: 66.66666666%;
}

.no-gutter > .col1-4 {
  width: 25%;
}

.no-gutter > .col3-4 {
  width: 75%;
}

.no-gutter > .col1-5 {
  width: 20%;
}

.no-gutter > .col1-6 {
  width: 16.66666666%;
}

.col1-2,
.col1-3,
.col2-3,
.col1-4,
.col3-4,
.col1-5,
.col1-6 {
  margin-right: 30px;
}

.no-gutter > .col1-2,
.no-gutter > .col1-3,
.no-gutter > .col2-3,
.no-gutter > .col1-4,
.no-gutter > .col3-4,
.no-gutter > .col1-5,
.no-gutter > .col1-6 {
  margin-right: 0;
}

.col-set > * > :last-child {
  margin-bottom: 0 !important;
}

/*---------------------------------------------
	[HD] 見出し
  ---------------------------------------------*/
.main h2:not([class*="heading"]),
.main .heading1 {
  margin: 60px 0 30px;
  padding-bottom: 5px;
  border-bottom: 1px solid #ddd;
  color: #f03;
  font-size: 1.88rem;
  font-weight: bold;
  line-height: 1.6;
}

.main h2:not([class*="heading"]).txt-red,
.main .heading1.txt-red {
  color: #f03;
}

.main h2:not([class*="heading"]).txt-black,
.main .heading1.txt-black {
  color: #000;
}

.main h2:not([class*="heading"]).no-border,
.main .heading1.no-border {
  padding-bottom: 0;
  border-bottom-style: none;
}

.main h2:not([class*="heading"]).no-border,
.main .heading1.no-border {
  border-bottom-style: none;
}

.main h2:not([class*="heading"]):after,
.main .heading1:after {
  content: none;
  display: block;
  width: 30px;
  height: 2px;
  margin: 10px 0 0;
  background-color: #59bdc6;
}

.main h2:not([class*="heading"]).center:after,
.main .heading1.center:after {
  margin: 10px auto 0;
}

.main h3:not([class*="heading"]),
.main .heading2 {
  position: relative;
  margin: 50px 0 30px;
  color: #000;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.6;
}

.main h3:not([class*="heading"]).txt-red,
.main .heading2.txt-red {
  color: #f03;
}

.main h3:not([class*="heading"]).txt-black,
.main .heading2.txt-black {
  color: #000;
}

.main h3:not([class*="heading"]):after,
.main .heading2:after {
  content: noe;
  position: absolute;
  display: block;
  width: 80px;
  height: 1px;
  left: 0;
  bottom: -1px;
  background-color: #59bdc6;
}

.main h4:not([class*="heading"]),
.main .heading3 {
  position: relative;
  margin: 30px 0 20px;
  padding: 0 0 0 20px;
  color: #000;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.6;
}

.main h4:not([class*="heading"]).txt-red,
.main .heading3.txt-red {
  color: #f03;
}

.main h4:not([class*="heading"]).txt-black,
.main .heading3.txt-black {
  color: #000;
}

.main h4:not([class*="heading"]):after,
.main .heading3:after {
  content: "";
  position: absolute;
  display: block;
  width: 10px;
  height: 1px;
  left: 0;
  top: 50%;
  background-color: #999;
}

.main h5:not([class*="heading"]),
.main .heading4 {
  margin: 20px 0 20px;
  color: #000;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6;
}

.main h6:not([class*="heading"]),
.main .heading5 {
  margin: 10px 0 20px;
  color: #000;
  font-size: 1.06rem;
  font-weight: bold;
  line-height: 1.6;
}

.main h2 + h3,
.main h2 + h4,
.main h3 + h4,
.main h2 + h5,
.main h3 + h5,
.main h4 + h5,
.main h2 + h6,
.main h3 + h6,
.main h4 + h6,
.main h5 + h6,
.main h2 + [class*="heading"],
.main h3 + [class*="heading"],
.main h4 + [class*="heading"],
.main h5 + [class*="heading"],
.main h6 + [class*="heading"],
.main [class*="heading"] + h2,
.main [class*="heading"] + h3,
.main [class*="heading"] + h4,
.main [class*="heading"] + h5,
.main [class*="heading"] + h6,
.main [class*="heading"] + [class*="heading"],
.main h2:first-child,
.main h3:first-child,
.main h4:first-child,
.main h5:first-child,
.main h6:first-child,
.main [class*="heading"]:first-child {
  margin-top: 0 !important;
}

.main .col-set + h2 {
  margin-top: 30px;
}

.main .col-set + h3 {
  margin-top: 20px;
}

.main .col-set + h4 {
  margin-top: 10px;
}

.main .col-set + h5 {
  margin-top: 0;
}

.main .col-set + h6 {
  margin-top: 0;
}

.main .col-set + .heading1 {
  margin-top: 30px;
}

.main .col-set + .heading2 {
  margin-top: 20px;
}

.main .col-set + .heading3 {
  margin-top: 10px;
}

.main .col-set + .heading4 {
  margin-top: 0;
}

.main .col-set + .heading5 {
  margin-top: 0;
}

.main .txt-white h2:not([class*="heading"]):after,
.main .txt-white h3:not([class*="heading"]):after,
.main .txt-white h4:not([class*="heading"]):after,
.main .txt-white .heading1:after,
.main .txt-white .heading2:after,
.main .txt-white .heading3:after,
.main .txt-white ul li:before {
  background-color: #fff;
}

.main .txt-white h3:not([class*="heading"]) {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

/*---------------------------------------------
	[TX] テキスト
  ---------------------------------------------*/
.main p {
  margin-bottom: 50px;
}

.main b,
.main strong {
  color: #000;
  font-weight: bold;
}

.main .caution {
  color: #f03 !important;
}

.main .copy {
  color: #000;
  font-size: 1.63rem;
  font-weight: bold;
  line-height: 1.5;
}

.main code {
  display: inline-block;
  padding: 0 4px;
  background-color: #eeeff1;
  line-height: 1.5;
}

/* ----- 注記 ----- */
.main p.note,
.main dl.note dt {
  position: relative;
  padding-left: 1.4em;
}

.main p.note-num,
.main dl.note-num dt {
  position: relative;
  padding-left: 2.4em;
}

.main p.note + p.note,
.main p.note-num + p.note-num {
  margin-top: -50px;
}

.main p.note:before,
.main dl.note dt:before,
.main p.note-num:before,
.main dl.note-num dt:before {
  content: "※";
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
  margin: 0;
  background-color: transparent !important;
  border-radius: 0;
}

.main p.note-num:before,
.main dl.note-num dt:before {
  content: "※" attr(data-num);
}

.main dl.note,
.main dl.note-num {
  display: block;
}

.main dl.note dt,
.main dl.note-num dt {
  width: auto;
  padding-bottom: 0;
}

.main dl.note dd,
.main dl.note-num dd {
  width: auto;
  padding: 0 0 15px 0;
}

.main dl.note dd:last-child,
.main dl.note-num dd:last-child {
  padding-bottom: 0;
}

.main .heading-note {
  margin-bottom: 10px;
  font-size: 1.25rem;
  font-weight: normal;
}

.main .heading-note.txt-red {
  color: #f03;
}

/* ----- 省略 ----- */
.main .txt-ellipsis {
  overflow: hidden;
}

.main .txt-ellipsis:not([data-line]),
.main .txt-ellipsis[data-line="1"] {
  white-space: nowrap;
  text-overflow: ellipsis;
}

.main .txt-ellipsis[data-line]:not([data-line="1"]) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.main .txt-ellipsis[data-line="2"] {
  height: 3.6em;
  -webkit-line-clamp: 2;
}

.main .txt-ellipsis[data-line="3"] {
  height: 5.4em;
  -webkit-line-clamp: 3;
}

.main .txt-ellipsis[data-line="4"] {
  height: 7.2em;
  -webkit-line-clamp: 4;
}

.main .txt-ellipsis[data-line="5"] {
  height: 9.0em;
  -webkit-line-clamp: 5;
}

.main [class*="panel"] .txt-ellipsis[data-line="2"] {
  height: 3.2em;
}

.main [class*="panel"] .txt-ellipsis[data-line="3"] {
  height: 4.8em;
}

.main [class*="panel"] .txt-ellipsis[data-line="4"] {
  height: 6.4em;
}

.main [class*="panel"] .txt-ellipsis[data-line="5"] {
  height: 8.0em;
}

/*---------------------------------------------
	[HR] 区切り線
  ---------------------------------------------*/
.main hr {
  clear: both;
  margin-bottom: 50px;
  color: #fff;
  background: none transparent;
  border-top: 0px none transparent;
  border-right: 0px none transparent;
  border-left: 0px none transparent;
  border-bottom: 1px solid #e4e4e4;
}

/*---------------------------------------------
	[IG] 画像
  ---------------------------------------------*/
.main .img {
  margin-bottom: 50px;
  overflow: hidden;
  text-align: center;
}

.main .img > a {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
  overflow: hidden;
}

.main .img .modal-video:before,
.main .modal-video .img:before {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 64px;
  height: 64px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_play.png);
  background-repeat: no-repeat;
  background-size: 100%;
}

.main .img.full img {
  width: 100%;
}

/* ホバーエフェクト */
/*
.main .img > a:after,
.main a .img:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: $color-black;
	opacity: 0;
	transition: opacity .2s linear;
}

.main .img .modal-video:after,
.main .modal-video .img:after {opacity: .5 !important;}

html:not(.sp) .main .img > a:hover:after,
html:not(.sp) .main a:hover .img:after {opacity: .5;}
*/
.main .img > a img,
.main .img > a .bg-img,
.main a .img img,
.main a .img .bg-img {
  -webkit-transition: -webkit-transform .2s ease-out;
  transition: -webkit-transform .2s ease-out;
  transition: transform .2s ease-out;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}

html:not(.sp) .main .img > a:hover img,
html:not(.sp) .main .img > a:hover .bg-img,
html:not(.sp) .main a:hover .img img,
html:not(.sp) .main a:hover .img .bg-img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

/* ----- [IG2] 画像 > キャプションあり ----- */
.main figure {
  display: table;
  margin: 0 auto 50px;
}

.main figure img {
  display: block;
  width: 100%;
  max-width: none;
}

.main figure .caption {
  display: table-caption;
  caption-side: bottom;
  margin-top: 15px;
  padding: 0 15px 0 0;
  color: #999;
  font-size: 0.75rem;
  text-align: left;
}

.main figure.left {
  margin-left: 0;
}

.main figure.right {
  margin-right: 0;
}

.main figure.right .caption {
  padding: 0 0 0 15px;
}

/*
.main figure {
	margin-bottom: 50px;
}
.caption {
	.main & {
		display: block;
		margin-top: -10px;
		margin-left: auto;
		margin-right: auto;
		color: $color-gray;
		font-size: $f12px;
		text-align: left;
	}
	.main .left & {margin-left: 0;}
	.main .right & {margin-right: 0;}
	.main .img & {margin-top: 20px;}
}
*/
/* ----- [IG3] 画像 > 画像＋テキスト ----- */
.main .img-set,
.main .thumb-set {
  overflow: hidden;
}

.main .img-set .img,
.main .thumb-set .img {
  float: left;
  max-width: 50%;
  margin-right: 15px;
  padding-right: 15px;
}

.main .img-set .img.right,
.main .thumb-set .img.right {
  float: right;
  margin-right: 0;
  padding-right: 0;
  margin-left: 15px;
  padding-left: 15px;
}

.main .img-set .img + *,
.main .thumb-set .img + * {
  margin-top: -5px;
}

.main .thumb-set > .img + .txt {
  overflow: hidden;
}

.main .img-set.img-extended {
  overflow: visible;
}

.main .img-set.img-extended::after {
  content: "";
  display: table;
  clear: both;
}

.main .img-set.img-extended .img {
  display: block;
  overflow: visible;
  margin-bottom: 120px;
}

.main .img-set.img-extended .img img {
  display: block;
  width: calc(50vw - 68px);
  max-width: none;
  margin-left: calc(100% - (50vw - 68px));
}

.main .img-set.img-extended .img.right img {
  margin-left: 0;
  margin-right: calc(100% - (50vw - 68px));
}

.main .img-set.img-extended .img .caption {
  display: block;
  padding: 0;
}

@media screen and (min-width: 1340px) {
  .main .img-set.img-extended .img img {
    width: 610px;
    margin-left: -130px;
  }
  .main .img-set.img-extended .img.right img {
    margin-left: 0;
    margin-right: -130px;
  }
}

/*---------------------------------------------
	[LT] リスト
  ---------------------------------------------*/
.main ul {
  margin-bottom: 50px;
}

.main ul > li {
  position: relative;
  margin-bottom: 8px;
  padding: 0 0 0 1.2em;
}

.main ul > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 6px;
  height: 6px;
  top: .9em;
  left: .5em;
  margin: -3px 0 0 -3px;
  background-color: #000;
  border-radius: 100%;
}

.main ul > li:last-of-type {
  margin-bottom: 0;
}

.main ul ul {
  margin: 8px 0 0 1em;
}

.main ul ul > li::before {
  background-color: #999;
}

.main ul ol {
  margin: 8px 0 8px 1.2em;
}

.main ul ol > li::before {
  color: #999;
}

.main ul.col-set {
  margin-bottom: 0;
}

.main ul.col-set li {
  margin-bottom: 30px;
  padding-left: 0;
}

.main ul.col-set li:before {
  display: none;
}

.main ol {
  margin-bottom: 50px;
  padding: 0;
  counter-reset: ol-count;
  list-style-type: none;
}

.main ol > li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 2em;
}

.main ol > li::before {
  position: absolute;
  left: 0;
  top: 0;
  counter-increment: ol-count;
  content: counter(ol-count) ".";
  color: #000;
  font-weight: bold;
}

.main ol > li:last-of-type {
  margin-bottom: 0;
}

.main ol ol {
  margin: 8px 0;
}

.main ol ol > li::before {
  color: #999;
}

.main ol ul {
  margin: 8px 0 0 0;
}

.main ol ul > li::before {
  background-color: #999;
}

.main ol a {
  color: #545454;
}

html:not(.sp) .main ol a:hover,
html:not(.sp) .main ol a:active {
  color: #545454;
}

/* ----- [LT3] リスト > 定義リスト ----- */
.main dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px;
  overflow: hidden;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.main dl.border-set {
  border-bottom: solid 1px #999;
}

.main dl.border-set > dt {
  border-top: solid 1px #999;
  padding: 20px 0;
}

.main dl.border-set > dd {
  border-top: solid 1px #999;
  padding: 20px 0 20px 30px;
}

.main dl dt {
  width: 200px;
  padding: 0 0 20px;
  font-weight: bold;
  color: #000;
}

.main dl dt.w50 ~ dt {
  width: 50px;
}

.main dl dt.w50 ~ dd {
  width: calc(100% - 50px);
}

.main dl dt.w60 ~ dt {
  width: 60px;
}

.main dl dt.w60 ~ dd {
  width: calc(100% - 60px);
}

.main dl dt.w70 ~ dt {
  width: 70px;
}

.main dl dt.w70 ~ dd {
  width: calc(100% - 70px);
}

.main dl dt.w80 ~ dt {
  width: 80px;
}

.main dl dt.w80 ~ dd {
  width: calc(100% - 80px);
}

.main dl dt.w90 ~ dt {
  width: 90px;
}

.main dl dt.w90 ~ dd {
  width: calc(100% - 90px);
}

.main dl dt.w100 ~ dt {
  width: 100px;
}

.main dl dt.w100 ~ dd {
  width: calc(100% - 100px);
}

.main dl dt.w110 ~ dt {
  width: 110px;
}

.main dl dt.w110 ~ dd {
  width: calc(100% - 110px);
}

.main dl dt.w120 ~ dt {
  width: 120px;
}

.main dl dt.w120 ~ dd {
  width: calc(100% - 120px);
}

.main dl dt.w130 ~ dt {
  width: 130px;
}

.main dl dt.w130 ~ dd {
  width: calc(100% - 130px);
}

.main dl dt.w140 ~ dt {
  width: 140px;
}

.main dl dt.w140 ~ dd {
  width: calc(100% - 140px);
}

.main dl dt.w150 ~ dt {
  width: 150px;
}

.main dl dt.w150 ~ dd {
  width: calc(100% - 150px);
}

.main dl dt.w160 ~ dt {
  width: 160px;
}

.main dl dt.w160 ~ dd {
  width: calc(100% - 160px);
}

.main dl dt.w170 ~ dt {
  width: 170px;
}

.main dl dt.w170 ~ dd {
  width: calc(100% - 170px);
}

.main dl dt.w180 ~ dt {
  width: 180px;
}

.main dl dt.w180 ~ dd {
  width: calc(100% - 180px);
}

.main dl dt.w190 ~ dt {
  width: 190px;
}

.main dl dt.w190 ~ dd {
  width: calc(100% - 190px);
}

.main dl dt.w200 ~ dt {
  width: 200px;
}

.main dl dt.w200 ~ dd {
  width: calc(100% - 200px);
}

.main dl dd {
  width: calc(100% - 200px);
  padding: 0 0 20px 30px;
}

.main dl:not(.border-set) dt:last-of-type,
.main dl:not(.border-set) dd:last-of-type {
  padding-bottom: 0;
}

.main dl p:last-child,
.main dl ul:last-child,
.main dl ol:last-child,
.main dl dl:last-child {
  margin-bottom: 0;
}

.main dl.news > dt {
  width: 8em;
  color: #999;
  font-family: 'Roboto', sans-serif !important;
  font-weight: normal;
}

.main dl.news > dd {
  width: calc(100% - 8em);
  padding-left: 0;
}

.main dl.news > dd .tag,
.main dl.news > dd .label {
  clear: both;
  float: left;
  height: 1.8em;
  margin: 0 20px 0 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main dl.news > dd .tag a,
.main dl.news > dd .label span {
  width: 10em;
  margin: 0;
  padding: 4px 10px;
  font-size: 0.69rem;
}

.main dl.news > dd p {
  overflow: hidden;
  margin-bottom: 10px;
}

.main dl.news > dd .link-icon:not(li) + .link-icon {
  margin-top: 0;
}

.main dl.news > dd p:last-child {
  margin-bottom: 0;
}

.main dl.news > dd .link-icon a {
  font-weight: inherit;
}

.main dl.news > dd .link-icon a:not(:hover) {
  color: #545454;
}

.main dl.news > dd .link-icon a:hover, .main dl.news > dd .link-icon a:active {
  color: #545454;
}

.main dl.vertical {
  display: block;
}

.main dl.vertical dt {
  width: auto;
  padding: 0;
}

.main dl.vertical dd {
  width: auto;
  padding: 0 0 1em;
}

.main dl.vertical dd:last-child {
  padding-bottom: 0;
}

.main dl a {
  color: #545454;
}

html:not(.sp) .main dl a:hover,
html:not(.sp) .main dl a:active {
  color: #545454;
}

/*---------------------------------------------
	[LK1] アイコンリンク
  ---------------------------------------------*/
.main .link-icon:not(li) + .link-icon {
  margin-top: -10px;
}

.main .link-icon a,
.main a .link-icon {
  position: relative;
  display: inline-block;
  color: #545454;
  font-weight: bold;
  text-decoration: none;
}

html:not(.sp) .main .link-icon a:hover,
html:not(.sp) .main .link-icon a:active {
  color: #545454;
}

.main a .link-icon {
  display: block;
}

.main .link-icon a:after,
.main a .link-icon:after {
  width: 24px;
  height: 24px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
  content: "";
  display: inline-block;
  margin: -3px 0 0 2px;
  vertical-align: middle;
}

.main .link-icon a:not([class*="icon-"]):after,
.main a .link-icon:not([class*="icon-"]):after,
.main .link-icon a.icon-angle:after,
.main a .link-icon.icon-angle:after {
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

html:not(.sp) .main .link-icon a:not([class*="icon-"]):hover:after,
html:not(.sp) .main a:hover .link-icon:not([class*="icon-"]):after,
html:not(.sp) .main .link-icon a.icon-angle:hover:after,
html:not(.sp) .main a:hover .link-icon.icon-angle:after {
  -webkit-transform: translate3d(5px, 0, 0);
  transform: translate3d(5px, 0, 0);
}

.main .link-icon .icon-download:after,
.main a .link-icon.icon-download:after {
  background-position-x: -24px;
  background-position-y: 0;
}

.main .link-icon .icon-window:after,
.main a .link-icon.icon-window:after {
  background-position-x: -48px;
  background-position-y: 0;
}

.main .link-icon .icon-pdf:after,
.main a .link-icon.icon-pdf:after {
  background-position-x: -72px;
  background-position-y: 0;
}

.main .link-icon .icon-enlarge:after,
.main a .link-icon.icon-enlarge:after {
  background-position-x: -168px;
  background-position-y: 0;
}

.main .link-icon .icon-search:after,
.main a .link-icon.icon-search:after {
  background-position-x: -192px;
  background-position-y: 0;
}

.main .link-icon .icon-contact:after,
.main a .link-icon.icon-contact:after {
  background-position-x: -216px;
  background-position-y: 0;
}

.main .link-icon .icon-play:after,
.main a .link-icon.icon-play:after {
  background-position-x: -240px;
  background-position-y: 0;
}

.main .link-icon .icon-angle:after,
.main a .link-icon.icon-angle:after {
  background-position-x: -264px;
  background-position-y: 0;
}

.main .link-icon .icon-anchor:after,
.main a .link-icon.icon-anchor a:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

html:not(.sp) .main .link-icon .icon-anchor:hover:after,
html:not(.sp) .main a:hover .link-icon.icon-anchor a:after {
  -webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
  transform: translate3d(0, 3px, 0) rotate(90deg);
}

.main li.link-icon {
  padding-left: 0;
}

.main li.link-icon:before {
  display: none;
}

.main .txt-white .link-icon a:after,
.main .txt-white a .link-icon:after {
  background-position-y: -144px !important;
}

/*---------------------------------------------
	[LK2] 横並びリンク
  ---------------------------------------------*/
.main .link-horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
  line-height: 1.6;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main .link-horizontal a {
  position: relative;
  margin: 0 30px 10px 0;
  text-decoration: none;
}

html:not(.sp) .main .link-horizontal a:hover {
  text-decoration: underline;
}

.main .link-horizontal a:last-child {
  margin-right: 15px;
}

.main .link-horizontal a:not(:last-child):before {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 1em;
  top: .25em;
  right: -15px;
  vertical-align: top;
  background-color: rgba(0, 0, 0, 0.15);
}

.main .txt-white .link-horizontal a:not(:last-child):before {
  background-color: rgba(255, 255, 255, 0.2);
}

/*---------------------------------------------
	[TG] タグ／ラベル
  ---------------------------------------------*/
.main .tag,
.main .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main .tag.center,
.main .label.center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.main .tag.right,
.main .label.right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.main .tag {
  margin: 0 -12px 0 0;
}

.main .tag a {
  position: relative;
  display: block;
  margin: 0 12px 16px 0;
  padding: 7px 12px 6px;
  font-size: 0.81rem;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  border: 1px solid #a9a9a9;
  border-radius: 100px;
  background-color: #eeeff1;
  color: #545454;
  -webkit-transition: background-color .2s, color .2s;
  transition: background-color .2s, color .2s;
  /*
		&:before {
			content: "";
			content: none;
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			margin: 0;
			background-color: $color-white;
			opacity: 0;
			border-radius: 100px;
			transition: opacity .2s linear;
		}
		html:not(.sp) &:hover:before {
			opacity: .2;
		}
		*/
}

.main .tag a:before {
  content: '';
  display: none;
}

.main .tag a .count {
  padding-left: .2em;
  color: #999;
  -webkit-transition: color .2s;
  transition: color .2s;
}

.main .tag a.icon-more {
  padding-right: 28px;
}

.main .tag a.icon-more::before {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: calc(50% - 1px);
  width: 12px;
  height: 2px;
  background-color: #545454;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.main .tag a.icon-more::after {
  content: "";
  display: block;
  position: absolute;
  right: 15px;
  top: calc(50% - 6px);
  width: 2px;
  height: 12px;
  background-color: #545454;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

html:not(.sp) .main .tag a:hover,
html:not(.sp) .main .tag a:active {
  background-color: #a9a9a9;
  color: #fff !important;
  text-decoration: none;
}

html:not(.sp) .main .tag a:hover .count,
html:not(.sp) .main .tag a:active .count {
  color: #fff;
}

html:not(.sp) .main .tag a:hover::before, html:not(.sp) .main .tag a:hover::after,
html:not(.sp) .main .tag a:active::before,
html:not(.sp) .main .tag a:active::after {
  background-color: #fff;
}

.main .label {
  margin: 0 -10px 10px 0;
}

.main .label span {
  display: block;
  margin: 0 10px 10px 0;
  padding: 5px 15px 4px;
  border-radius: 100px;
  font-size: 0.81rem;
  line-height: 1.2;
  text-align: center;
}

.label-inline {
  display: inline-block;
  margin: 0 2px 0 10px;
  padding: 4px 6px;
  border-radius: 100px;
  font-size: 0.69rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-transform: uppercase;
  vertical-align: middle;
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.main .label span,
.label-inline {
  color: #fff !important;
  background-color: #000;
}

.main .tag a.bg-white,
.main .tag a.bg-light,
.main .tag a.bg-gray,
.main .label span.bg-white,
.main .label span.bg-light,
.main .label span.bg-gray,
.label-inline.bg-white,
.label-inline.bg-light,
.label-inline.bg-gray {
  color: #545454 !important;
}

/*
.main .tag a {
	&:before {
		background-color: $color-white;
	}
	html:not(.sp) &:hover:before {
		opacity: .2;
	}
	&.bg-white,
	&.bg-light,
	&.bg-gray {
		&:before {
			background-color: $color-black;
		}
		html:not(.sp) &:hover:before {
			opacity: .07;
		}
	}
}
*/
.main ul.tags {
  margin-bottom: 20px;
  overflow: hidden;
  color: #a9a9a9;
  font-size: 0.81rem;
  line-height: 1.8;
}

.main ul.tags li {
  float: left;
  position: relative;
  margin: 0;
  padding: 0 25px 0 0;
}

.main ul.tags li::before {
  content: none;
}

.main ul.tags li::after {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: 50%;
  width: 1px;
  height: .7em;
  margin-top: -.35em;
  background-color: #ddd;
}

.main ul.tags li:last-child {
  padding-right: 0;
}

.main ul.tags li:last-child::after {
  content: none;
}

/*---------------------------------------------
	[BT] ボタン
  ---------------------------------------------*/
.main .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
  line-height: 1.6;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main .btn.center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.main .btn.right {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.main .btn > * {
  position: relative;
  display: block;
  min-width: calc((100% - 60px) / 3);
  margin: 0 30px 50px 0;
  padding: 22px 0 21px;
  overflow: hidden;
  font-size: 0.94rem;
  font-weight: bold;
  text-decoration: none;
  border: 0 none;
  cursor: pointer;
  text-align: center;
  border-radius: 20px;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.main .btn > *:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.main .btn > *:last-child {
  margin-right: 0;
}

.main .btn.full > * {
  width: 100%;
  min-width: 0;
  margin-right: 0;
}

.main .btn.small > * {
  margin: 0 15px 20px 0;
  padding: 8px 0 7px;
  border-radius: 10px;
}

.main .btn.small > *:last-child {
  margin-right: 0;
}

.main .btn.no-shadow > * {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.main .btn .ghost {
  padding: 6px 0 5px;
  -webkit-transition: background-color .2s linear, border .2s linear;
  transition: background-color .2s linear, border .2s linear;
}

.main .btn .ghost:before {
  display: none;
}

.main .btn span {
  position: relative;
  display: inline-block;
  padding: 1px 40px 0 30px;
}

.main .btn span:after {
  width: 24px;
  height: 24px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 12px;
  vertical-align: middle;
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

.main .btn .icon-download span:after {
  background-position-x: -24px;
}

.main .btn .icon-window span:after {
  background-position-x: -48px;
}

.main .btn .icon-pdf span:after {
  background-position-x: -72px;
}

.main .btn .icon-index span:after {
  background-position-x: -96px;
}

.main .btn .icon-open span {
  padding-right: 50px;
}

.main .btn .icon-open span:after {
  background-position-x: -120px;
}

.main .btn .icon-close span:after {
  background-position-x: -144px;
}

.main .btn .icon-enlarge span:after {
  background-position-x: -168px;
}

.main .btn .icon-search span:after {
  background-position-x: -192px;
}

.main .btn .icon-contact span:after {
  background-position-x: -216px;
}

.main .btn .icon-play span:after {
  background-position-x: -240px;
}

.main .btn .icon-angle span:after {
  background-position-x: -264px;
}

html:not(.sp) .main .btn > *:not([class*="icon-"]):hover span:after,
html:not(.sp) .main .btn > .icon-angle:hover span:after {
  -webkit-transform: translate3d(3px, 0, 0);
  transform: translate3d(3px, 0, 0);
}

.main .btn .icon-back span {
  padding: 0 30px 0 40px;
}

.main .btn .icon-back span:after {
  left: 12px;
  right: auto;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

html:not(.sp) .main .btn .icon-back:hover span:after {
  -webkit-transform: translate3d(-3px, 0, 0) rotate(180deg);
  transform: translate3d(-3px, 0, 0) rotate(180deg);
}

.main .btn .icon-anchor span:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

html:not(.sp) .main .btn .icon-anchor span:hover:after {
  -webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
  transform: translate3d(0, 3px, 0) rotate(90deg);
}

.main .btn .icon-arrow span {
  padding: 0 65px 0 30px;
}

.main .btn .icon-arrow span::after {
  content: none;
}

.main .btn .icon-arrow span i {
  display: block;
  position: absolute;
  right: 25px;
  top: 50%;
  width: 25px;
  height: 25px;
  border-radius: 12.5px;
  background-color: #fff;
  text-indent: -9999px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.main .btn .icon-arrow span i::before {
  content: "";
  display: block;
  position: absolute;
  left: 7px;
  top: 12px;
  width: 6px;
  height: 1px;
  background-color: #f03;
}

.main .btn .icon-arrow span i::after {
  content: "";
  display: block;
  position: absolute;
  left: 13px;
  top: 9px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.4px 0 3.4px 5px;
  border-color: transparent transparent transparent #f03;
}

.main .btn .icon-arrow.bg-white span i::before,
.main .btn .icon-arrow.bg-gray span i::before,
.main .btn .icon-arrow.bg-light span i::before {
  background-color: #000;
}

.main .btn .icon-arrow.bg-white span i::after,
.main .btn .icon-arrow.bg-gray span i::after,
.main .btn .icon-arrow.bg-light span i::after {
  border-color: transparent transparent transparent #000;
}

.main .btn.small .icon-arrow span {
  padding: 0 55px 0 20px;
}

.main .btn.small .icon-arrow span i {
  width: 21px;
  height: 21px;
  border-radius: 10.5px;
}

.main .btn.small .icon-arrow span i::before {
  left: 5px;
  top: 10px;
}

.main .btn.small .icon-arrow span i::after {
  left: 11px;
  top: 7px;
}

.main .btn > * {
  color: #fff;
  background-color: #f03;
}

.main .btn > *:before {
  background-color: #545454;
}

.main .btn > * span:after {
  background-position-y: -144px;
}

html:not(.sp) .main .btn > *:hover {
  color: #fff;
}

html:not(.sp) .main .btn > *:hover:before {
  opacity: 1;
}

html:not(.sp) .main .btn > *.icon-arrow:hover span i::before {
  background-color: #545454;
}

html:not(.sp) .main .btn > *.icon-arrow:hover span i::after {
  border-color: transparent transparent transparent #545454;
}

.main .btn .bg-white,
.main .btn .bg-light,
.main .btn .bg-gray {
  color: #545454 !important;
}

.main .btn .bg-white:before,
.main .btn .bg-light:before,
.main .btn .bg-gray:before {
  background-color: #545454;
}

.main .btn .bg-white:not(.ghost) span:after,
.main .btn .bg-light:not(.ghost) span:after,
.main .btn .bg-gray:not(.ghost) span:after {
  background-position-y: -120px;
}

html:not(.sp) .main .btn .bg-white:hover, html:not(.sp)
.main .btn .bg-light:hover, html:not(.sp)
.main .btn .bg-gray:hover {
  color: #fff !important;
}

html:not(.sp) .main .btn .bg-white:hover::before, html:not(.sp)
.main .btn .bg-light:hover::before, html:not(.sp)
.main .btn .bg-gray:hover::before {
  opacity: 1;
}

.main .btn .ghost {
  color: #59bdc6;
  border: solid 2px #59bdc6;
  background-color: transparent !important;
}

.main .btn .ghost span:after {
  background-position-y: -24px;
}

html:not(.sp) .main .btn .ghost:hover {
  background-color: #59bdc6 !important;
}

html:not(.sp) .main .btn .ghost:hover span:after {
  background-position-y: -144px;
}

.main .btn .ghost.bg-color1 {
  color: #b2c473;
  border: solid 2px #b2c473;
}

.main .btn .ghost.bg-color1 span:after {
  background-position-y: -48px;
}

html:not(.sp) .main .btn .ghost.bg-color1:hover {
  background-color: #b2c473 !important;
}

.main .btn .ghost.bg-color2 {
  color: #efa55e;
  border: solid 2px #efa55e;
}

.main .btn .ghost.bg-color2 span:after {
  background-position-y: -72px;
}

html:not(.sp) .main .btn .ghost.bg-color2:hover {
  background-color: #efa55e !important;
}

.main .btn .ghost.bg-color3 {
  color: #f03;
  border: solid 2px #f03;
}

.main .btn .ghost.bg-color3 span:after {
  background-position-y: -96px;
}

html:not(.sp) .main .btn .ghost.bg-color3:hover {
  background-color: #f03 !important;
}

.main .btn .ghost.bg-dark {
  color: #545454;
  border: solid 2px #545454;
}

.main .btn .ghost.bg-dark span:after {
  background-position-y: -120px;
}

html:not(.sp) .main .btn .ghost.bg-dark:hover {
  background-color: #545454 !important;
}

.main .txt-white .btn .ghost:not(:hover) {
  border: solid 2px rgba(255, 255, 255, 0.5);
}

.main .txt-white .btn .ghost span:after {
  background-position-y: -144px;
}

html:not(.sp) .main .txt-white .btn .ghost:hover {
  background-color: #fff !important;
  border: solid 2px #fff !important;
}

html:not(.sp) .main .txt-white .btn .ghost:hover span {
  color: #545454 !important;
}

html:not(.sp) .main .txt-white .btn .ghost:hover span:after {
  background-position-y: -120px !important;
}

/*---------------------------------------------
	[BT3] シェアボタン
  ---------------------------------------------*/
.main .btn-share {
  margin: 0 -10px 10px 0;
  text-align: right;
}

.main .btn-share > div {
  display: inline-block;
  height: 20px;
  margin: 0 10px 10px 0;
  text-align: left;
  vertical-align: top;
  overflow: hidden;
}

.main .btn-share .share-facebook .fb-share-button > span {
  vertical-align: top !important;
}

.main .btn-share .share-linkedin .IN-widget {
  vertical-align: top !important;
}

/*---------------------------------------------
	[BT4] メニューボタン
  ---------------------------------------------*/
#btn-menu {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1000;
  width: 56px;
  height: 60px;
  overflow: hidden;
  border-radius: 0;
  -webkit-transition: background-color .2s linear;
  transition: background-color .2s linear;
}

html:not(.sp) #btn-menu:hover {
  background-color: #fff;
}

#btn-menu button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 0 none;
  background-color: transparent;
  color: #545454;
  font-family: 'Roboto', sans-serif;
  font-size: 0.56rem;
  font-weight: bold;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#btn-menu button span {
  display: block;
  position: relative;
  top: 15px;
  text-align: center;
}

#btn-menu:after {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 24px;
  height: 2px;
  top: 17px;
  right: 16px;
  background-color: #000;
  border-radius: 2px;
  -webkit-transition: top .3s ease-out, width .3s ease-out, -webkit-transform .3s ease-out;
  transition: top .3s ease-out, width .3s ease-out, -webkit-transform .3s ease-out;
  transition: transform .3s ease-out, top .3s ease-out, width .3s ease-out;
  transition: transform .3s ease-out, top .3s ease-out, width .3s ease-out, -webkit-transform .3s ease-out;
}

#btn-menu button:before {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 24px;
  height: 2px;
  top: 25px;
  right: 16px;
  background-color: #000;
  border-radius: 2px;
  -webkit-transition: width .3s ease-out, right .3s ease-out;
  transition: width .3s ease-out, right .3s ease-out;
}

#btn-menu button:after {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  width: 24px;
  height: 2px;
  top: 33px;
  right: 16px;
  background-color: #000;
  border-radius: 2px;
  -webkit-transition: top .3s ease-out, -webkit-transform .3s ease-out;
  transition: top .3s ease-out, -webkit-transform .3s ease-out;
  transition: transform .3s ease-out, top .3s ease-out;
  transition: transform .3s ease-out, top .3s ease-out, -webkit-transform .3s ease-out;
}

html:not(.sp) #btn-menu:hover:after {
  width: 17px;
}

html:not(.sp) #btn-menu button:hover:before {
  width: 13px;
}

#btn-menu.on:after {
  width: 24px !important;
  top: 24px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#btn-menu.on button:before {
  width: 0 !important;
  right: 25px;
}

#btn-menu.on button:after {
  top: 24px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*---------------------------------------------
	[BT5] ページトップボタン
  ---------------------------------------------*/
#pagetop {
  bottom: 0;
}

#btn-pagetop {
  position: absolute;
  width: 50px;
  height: 50px;
  top: 0;
  right: 30px;
  overflow: hidden;
  background-color: #fff;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  -webkit-transition: background-color .2s linear, -webkit-transform .3s ease-out;
  transition: background-color .2s linear, -webkit-transform .3s ease-out;
  transition: transform .3s ease-out, background-color .2s linear;
  transition: transform .3s ease-out, background-color .2s linear, -webkit-transform .3s ease-out;
}

html:not(.sp) #btn-pagetop:hover {
  background-color: #f03;
}

#btn-pagetop.show {
  -webkit-transform: translate3d(0, -80px, 0);
  transform: translate3d(0, -80px, 0);
}

#btn-pagetop a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}

#btn-pagetop a:before, #btn-pagetop a:after {
  content: "";
  position: absolute;
  display: block;
  width: 10px;
  height: 2px;
  top: 23px;
  background-color: #f03;
  border-radius: 2px;
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

#btn-pagetop a:before {
  left: 17px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#btn-pagetop a:after {
  left: 23px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

html:not(.sp) #btn-pagetop a:hover:before {
  background-color: #fff;
  -webkit-transform: translate3d(0, -3px, 0) rotate(-45deg);
  transform: translate3d(0, -3px, 0) rotate(-45deg);
}

html:not(.sp) #btn-pagetop a:hover:after {
  background-color: #fff;
  -webkit-transform: translate3d(0, -3px, 0) rotate(45deg);
  transform: translate3d(0, -3px, 0) rotate(45deg);
}

/*---------------------------------------------
	[BX] ボックス
  ---------------------------------------------*/
.main .box {
  margin-bottom: 50px;
  padding: 30px 50px 10px;
  background-color: #eeeff1;
  border-radius: 10px;
  overflow: hidden;
}

.main .box .heading {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 1.13rem;
  line-height: 1.6;
}

.main .box > * {
  margin-bottom: 20px;
}

.main .box.compact {
  padding: 23px 30px 3px;
}

/*---------------------------------------------
	[FR] 枠
  ---------------------------------------------*/
.main .frame {
  position: relative;
  margin-bottom: 50px;
  padding: 30px 30px 10px;
  background: none transparent !important;
  border: solid 10px #999;
}

.main .frame .heading {
  font-weight: bold;
  font-size: 1.13rem;
  line-height: 1.6;
  color: #000;
  background-color: #999;
}

.main .frame .heading:first-child {
  margin: -30px -30px 30px;
  padding: 2px 30px 12px;
}

.main .frame.bg-white {
  border-color: #fff;
}

.main .frame.bg-light {
  border-color: #eeeff1;
}

.main .frame.bg-gray {
  border-color: #999;
}

.main .frame.bg-dark {
  border-color: #545454;
}

.main .frame.bg-color0 {
  border-color: #59bdc6;
}

.main .frame.bg-color1 {
  border-color: #b2c473;
}

.main .frame.bg-color2 {
  border-color: #efa55e;
}

.main .frame.bg-color3 {
  border-color: #f03;
}

.main .frame.bg-gradation1 {
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: #f79be5;
  border-right-color: #7e88e8;
}

.main .frame.bg-gradation1:before, .main .frame.bg-gradation1:after {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% + 20px);
  height: 10px;
  left: -10px;
  background: -webkit-gradient(linear, left top, right top, color-stop(0, #f79be5), to(#7e88e8));
  background: linear-gradient(to right, #f79be5 0, #7e88e8 100%);
}

.main .frame.bg-gradation1:before {
  top: -10px;
}

.main .frame.bg-gradation1:after {
  bottom: -10px;
}

.main .frame.bg-img {
  -o-border-image: 10 stretch;
  border-image: 10 stretch;
}

.main .frame.bg-white .heading {
  border-color: #fff;
}

.main .frame.bg-light .heading {
  color: #fff;
  background-color: #eeeff1;
}

.main .frame.bg-gray .heading {
  color: #fff;
  background-color: #999;
}

.main .frame.bg-dark .heading {
  color: #fff;
  background-color: #545454;
}

.main .frame.bg-color0 .heading {
  color: #fff;
  background-color: #59bdc6;
}

.main .frame.bg-color1 .heading {
  color: #fff;
  background-color: #b2c473;
}

.main .frame.bg-color2 .heading {
  color: #fff;
  background-color: #efa55e;
}

.main .frame.bg-color3 .heading {
  color: #fff;
  background-color: #f03;
}

.main .frame.bg-gradation1 .heading {
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, color-stop(0, #f79be5), to(#7e88e8));
  background: linear-gradient(to right, #f79be5 0, #7e88e8 100%);
}

/*---------------------------------------------
	[PL] パネル
  ---------------------------------------------*/
/* ----- [PL0] パネル > 画像なし ----- */
.main .panel-no-image {
  position: relative;
  margin-bottom: 30px;
  padding: 30px 30px 10px;
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.main .panel-no-image p {
  margin: 0 0 20px;
  font-size: 0.88rem;
  line-height: 1.6;
}

.main .panel-no-image .label {
  margin-bottom: 10px;
}

.main .panel-no-image .label span {
  min-width: 70px;
}

.main .panel-no-image .heading {
  margin: 0 0 20px;
  padding: 0;
  font-size: 1.13rem;
  font-weight: bold;
  color: #000;
  line-height: 1.6;
}

.main .panel-no-image .desc {
  margin-top: -5px;
}

.main .panel-no-image .btn {
  margin-bottom: 0;
}

.main .panel-no-image .btn > * {
  min-width: 38%;
}

.main .panel-no-image .date {
  position: absolute;
  left: 30px;
  bottom: 25px;
  color: #a9a9a9 !important;
  font-size: 0.81rem;
  font-family: 'Roboto', sans-serif !important;
  font-weight: bold;
  letter-spacing: .075em;
}

/* ----- [PL1] パネル > 画像上 ----- */
.main .panel-vertical {
  position: relative;
  margin-bottom: 30px;
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.main .panel-vertical.no-shadow {
  background-color: #eeeff1;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.main .panel-vertical > a {
  display: block;
  position: relative;
  height: 100%;
  text-decoration: none;
  /*
		&:before {
			content: "";
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
		}
		*/
}

.main .panel-vertical > a:hover, .main .panel-vertical > a:active {
  text-decoration: none !important;
}

.main .panel-vertical > a:hover .heading, .main .panel-vertical > a:active .heading {
  text-decoration: underline !important;
}

.main .panel-vertical > a:hover .img img, .main .panel-vertical > a:active .img img {
  -webkit-transform: translateY(-50%) scale(1.1) !important;
  transform: translateY(-50%) scale(1.1) !important;
}

.main .panel-vertical > a::after {
  content: "";
  display: block;
  position: absolute;
  right: 28px;
  bottom: 28px;
  width: 35px;
  height: 35px;
  border-radius: 17.5px;
  background-color: #f03;
}

.main .panel-vertical .img {
  position: relative;
  z-index: 1;
  height: 0;
  margin: 0;
  padding-bottom: 52%;
  border-radius: 0;
  overflow: hidden;
}

.main .panel-vertical .img img {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  -webkit-transform: translateY(-50%) scale(1);
  transform: translateY(-50%) scale(1);
}

.main .panel-vertical .img::after {
  content: none;
}

.main .panel-vertical .txt {
  position: relative;
  z-index: 2;
  height: 100%;
  margin-top: -52%;
  padding: 61% 30px 70px;
}

.main .panel-vertical .txt::before {
  content: "";
  display: block;
  position: absolute;
  right: 44px;
  bottom: 45px;
  z-index: 1;
  width: 10px;
  height: 1px;
  background-color: #fff;
}

.main .panel-vertical .txt::after {
  content: "";
  display: block;
  position: absolute;
  right: 38px;
  bottom: 41px;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.4px 0px 4.4px 6px;
  border-color: transparent transparent transparent #fff;
}

.main .panel-vertical .txt > *:first-child {
  margin-top: 0 !important;
}

.main .panel-vertical .txt.bottom {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  margin-top: 0 !important;
  padding: 0 65px 30px 30px !important;
}

.main .panel-vertical p {
  margin: 20px 0 0 !important;
  font-size: 0.88rem;
  line-height: 1.6;
}

.main .panel-vertical p:not(.link-icon) {
  color: #545454;
}

.main .panel-vertical .date {
  position: absolute;
  left: 30px;
  bottom: 25px;
  color: #a9a9a9 !important;
  font-size: 0.81rem;
  font-family: 'Roboto', sans-serif !important;
  font-weight: bold;
  letter-spacing: .075em;
}

.main .panel-vertical .txt .heading {
  margin: 20px 0 0;
  padding: 0;
  font-size: 1.13rem;
  font-weight: bold;
  color: #000;
  line-height: 1.6;
}

.main .panel-vertical .txt .heading.center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 70px;
  font-size: 1.38rem;
  line-height: 1.45;
}

.main .panel-vertical .txt .heading.center span {
  display: block;
  width: 100%;
}

.main .panel-vertical .txt .heading.center + .desc {
  font-size: 0.94rem;
  line-height: 1.8;
}

.main .panel-vertical .txt .heading.l {
  font-size: 1.38rem !important;
}

.main .panel-vertical .txt .heading.s {
  color: #999;
  font-size: 0.81rem !important;
}

.main .panel-vertical .txt .heading span.sub {
  display: inline-block;
  margin-bottom: 5px;
  color: #999;
  font-size: 0.88rem;
}

.main .panel-vertical .badge {
  margin-left: 30px;
  margin-right: 30px;
}

.main .panel-vertical .badge.center {
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

.main .panel-vertical .badge.right {
  left: auto;
  right: 0;
}

.main .panel-vertical .badge + .txt {
  padding-top: 40px;
}

.main .panel-vertical.col1-4 .badge {
  margin-left: 20px;
  margin-right: 20px;
}

.main .panel-vertical .label {
  margin: 20px 0 0 !important;
}

.main .panel-vertical .label span {
  min-width: 70px;
}

.main .panel-vertical .tag,
.main .panel-vertical .link-horizontal {
  position: relative;
  margin: 0;
  line-height: 1;
  border-top: solid 1px #fff;
  background-color: inherit;
}

.main .panel-vertical .tag {
  padding: 15px 12px 7px 20px;
}

.main .panel-vertical .link-horizontal {
  padding: 15px 10px 5px 20px;
}

.main .panel-vertical ul.tags {
  margin: 20px 0 0 !important;
}

.main .panel-vertical .desc {
  margin: 16px 0 0 !important;
}

.main .panel-vertical.txt-white .tag,
.main .panel-vertical.txt-white .link-horizontal {
  border-top: solid 1px rgba(255, 255, 255, 0.2);
}

.main .panel-vertical.col1-4 > a::after {
  right: 18px;
  bottom: 18px;
}

.main .panel-vertical.col1-4 .txt {
  padding: 61% 20px 65px;
}

.main .panel-vertical.col1-4 .txt::before {
  right: 34px;
  bottom: 35px;
}

.main .panel-vertical.col1-4 .txt::after {
  right: 28px;
  bottom: 31px;
}

.main .panel-vertical.col1-4 .date {
  left: 20px;
  bottom: 15px;
}

.main .panel-vertical.white-bg-img .img {
  padding-bottom: 65%;
}

.main .panel-vertical.white-bg-img .txt {
  margin-top: -65%;
  padding: 65% 30px 70px;
}

.main .panel-vertical.white-bg-img.col1-4 .txt {
  padding: 65% 20px 50px;
}

.main .panel-vertical.staff .img {
  padding-bottom: 65%;
}

.main .panel-vertical.staff .img img {
  left: 50%;
  width: 120px;
  border-radius: 60px;
  -webkit-transform: translate(-50%, -50%) scale(1);
  transform: translate(-50%, -50%) scale(1);
}

.main .panel-vertical.staff > a:hover .img img, .main .panel-vertical.staff > a:active .img img {
  -webkit-transform: translate(-50%, -50%) scale(1.1) !important;
  transform: translate(-50%, -50%) scale(1.1) !important;
}

.main .panel-vertical.staff .txt {
  margin-top: -65%;
  padding: 65% 30px 70px;
}

.main .panel-vertical.staff .txt dl {
  display: block;
  margin: 10px 0 0;
  font-size: 0.88rem;
  line-height: 1.6;
}

.main .panel-vertical.staff .txt dl dt, .main .panel-vertical.staff .txt dl dd {
  width: auto;
  padding: 0;
  color: #545454;
}

.main .panel-vertical.white-bg-img.square .txt {
  padding: calc(65% - 15px) 30px calc(35% - 55px);
}

.main .panel-vertical.white-bg-img.square.col1-4 .txt {
  padding: 65% 20px 50px;
}

/* ----- [PLx] パネル > ボタン的な見た目 ----- */
.main .panel-button {
  position: relative;
  margin-bottom: 30px;
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.main .panel-button:only-child {
  margin-left: auto;
  margin-right: auto;
  -webkit-transform: translateX(-15px);
  transform: translateX(-15px);
}

.main .panel-button > a {
  display: block;
  position: relative;
  height: 100%;
  color: #000;
  text-decoration: none;
}

html:not(.sp) .main .panel-button > a:hover, html:not(.sp) .main .panel-button > a:active {
  color: #000;
  text-decoration: underline;
}

.main .panel-button > a::after {
  content: "";
  display: block;
  position: absolute;
  right: 28px;
  top: 50%;
  width: 35px;
  height: 35px;
  margin-top: -17.5px;
  border-radius: 17.5px;
  background-color: #f03;
}

.main .panel-button .txt {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: 28px 75px 30px;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.main .panel-button .txt span {
  font-size: 1rem;
}

.main .panel-button .txt::before {
  content: "";
  display: block;
  position: absolute;
  right: 44px;
  top: 50%;
  z-index: 1;
  width: 10px;
  height: 1px;
  margin-top: -.5px;
  background-color: #fff;
}

.main .panel-button .txt::after {
  content: "";
  display: block;
  position: absolute;
  right: 38px;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  margin-top: -4.5px;
  border-style: solid;
  border-width: 4.4px 0px 4.4px 6px;
  border-color: transparent transparent transparent #fff;
}

/* ----- [PL2] パネル > 画像左右 ----- */
.main .panel-horizontal {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  border-radius: 20px;
  background-color: #fff;
  overflow: hidden;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.main .panel-horizontal > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  text-decoration: none;
}

.main .panel-horizontal > a::after {
  content: "";
  display: block;
  position: absolute;
  right: 28px;
  bottom: 28px;
  width: 35px;
  height: 35px;
  border-radius: 17.5px;
  background-color: #f03;
}

.main .panel-horizontal > a:hover, .main .panel-horizontal > a:active {
  text-decoration: none !important;
}

.main .panel-horizontal > a:hover .heading, .main .panel-horizontal > a:active .heading {
  text-decoration: underline !important;
}

.main .panel-horizontal:before,
.main .panel-horizontal > a:before {
  content: "";
  display: block;
  height: 350px;
}

.main .panel-horizontal.short:before,
.main .panel-horizontal.short > a:before {
  height: 200px;
}

.main .panel-horizontal.height-auto:before,
.main .panel-horizontal.height-auto > a:before {
  height: auto;
}

.main .panel-horizontal.height-auto .img {
  padding: 30px 0;
}

.main .panel-horizontal:not(.txt-white) p:not(.link-icon) {
  color: #545454;
}

.main .panel-horizontal .img {
  position: relative;
  z-index: 1;
  width: 50%;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}

.main .panel-horizontal .img.right {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.main .panel-horizontal .img div {
  position: absolute;
  top: 0;
  left: 0;
}

.main .panel-horizontal .img > a {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.main .panel-horizontal .img::after {
  content: none;
}

.main .panel-horizontal .txt {
  position: relative;
  z-index: 1;
  width: 50%;
  height: 100%;
  margin: 0;
  padding: 10px 30px 70px;
}

.main .panel-horizontal .txt::before {
  content: "";
  display: block;
  position: absolute;
  right: 44px;
  bottom: 45px;
  z-index: 1;
  width: 10px;
  height: 1px;
  background-color: #fff;
}

.main .panel-horizontal .txt::after {
  content: "";
  display: block;
  position: absolute;
  right: 38px;
  bottom: 41px;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.4px 0px 4.4px 6px;
  border-color: transparent transparent transparent #fff;
}

.main .panel-horizontal .txt.middle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 30px;
}

.main .panel-horizontal .txt.middle :first-child {
  margin-top: 0 !important;
}

.main .panel-horizontal.badge + .txt {
  padding: 10px 30px 70px 50px;
}

.main .panel-horizontal.badge + .txt.middle {
  padding: 30px 30px 30px 50px;
}

.main .panel-horizontal .img.right + .badge + .txt {
  padding-right: 40px;
}

.main .panel-horizontal .img:not(.right) + .badge + .txt {
  padding-left: 40px;
}

.main .panel-horizontal .col3-4 {
  width: 75%;
}

.main .panel-horizontal .col2-3 {
  width: 66.66666666%;
}

.main .panel-horizontal .col1-2 {
  width: 50%;
}

.main .panel-horizontal .col1-3 {
  width: 33.33333333%;
}

.main .panel-horizontal .col1-4 {
  width: 25%;
}

.main .panel-horizontal h2:not([class*="heading"]),
.main .panel-horizontal .heading1 {
  font-size: 1.5rem;
}

.main .panel-horizontal p {
  margin: 20px 0 0 !important;
  font-size: 0.88rem;
  line-height: 1.6;
  -webkit-transition: color .2s linear;
  transition: color .2s linear;
}

.main .panel-horizontal p:not(.link-icon) {
  color: #545454;
}

.main .panel-horizontal .date {
  position: absolute;
  left: 30px;
  bottom: 25px;
  color: #a9a9a9 !important;
  font-size: 0.81rem;
  font-family: 'Roboto', sans-serif !important;
  font-weight: bold;
  letter-spacing: .075em;
}

.main .panel-horizontal .txt .heading {
  margin: 20px 0 0;
  padding: 0;
  font-size: 1.13rem;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
}

.main .panel-horizontal .txt .heading.l {
  font-size: 1.38rem !important;
}

.main .panel-horizontal .txt .heading.s {
  color: #999;
  font-size: 0.81rem !important;
}

.main .panel-horizontal .txt .heading span.sub {
  display: inline-block;
  margin-bottom: 5px;
  color: #999;
  font-size: 0.88rem;
}

.main .panel-horizontal .badge {
  top: 50%;
}

.main .panel-horizontal .img:not(.right) + .badge {
  left: 50%;
}

.main .panel-horizontal .img.col3-4:not(.right) + .badge {
  left: 75%;
}

.main .panel-horizontal .img.col2-3:not(.right) + .badge {
  left: 66.66666666%;
}

.main .panel-horizontal .img.col1-2:not(.right) + .badge {
  left: 50%;
}

.main .panel-horizontal .img.col1-3:not(.right) + .badge {
  left: 33.33333333%;
}

.main .panel-horizontal .img.col1-4:not(.right) + .badge {
  left: 25%;
}

.main .panel-horizontal .img.right + .badge {
  left: 50%;
}

.main .panel-horizontal .img.col3-4.right + .badge {
  left: 25%;
}

.main .panel-horizontal .img.col2-3.right + .badge {
  left: 33.33333333%;
}

.main .panel-horizontal .img.col1-2.right + .badge {
  left: 50%;
}

.main .panel-horizontal .img.col1-3.right + .badge {
  left: 66.66666666%;
}

.main .panel-horizontal .img.col1-4.right + .badge {
  left: 75%;
}

.main .panel-horizontal ul.tags {
  margin: 20px 0 0 !important;
}

.main .panel-horizontal .desc {
  margin: 8px 0 0 !important;
}

.main .panel-horizontal.no-link {
  background-color: #eeeff1;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.main .panel-horizontal.no-link::before {
  height: 300px;
}

.main .panel-horizontal.no-link .txt {
  padding: 10px 30px;
}

.main .panel-horizontal.no-link .txt::before, .main .panel-horizontal.no-link .txt::after {
  content: none;
}

.main .row .panel-horizontal {
  margin-bottom: 30px;
}

/* ----- [PL4] パネル > 背景画像 ----- */
.main .panel-covered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.main .panel-covered > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  text-decoration: none;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.main .panel-covered > a::after {
  content: "";
  display: block;
  position: absolute;
  right: 28px;
  bottom: 28px;
  width: 35px;
  height: 35px;
  border-radius: 17.5px;
  background-color: #f03;
}

.main .panel-covered::before,
.main .panel-covered > a:before {
  content: "";
  display: block;
  height: 350px;
}

.main .panel-covered.square::before,
.main .panel-covered.square > a:before {
  height: 0;
  padding-bottom: 100%;
}

.main .panel-covered .img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
}

.main .panel-covered .img::after {
  content: none;
}

.main .panel-covered .img.video::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 30%;
  width: 64px;
  height: 64px;
  margin-left: -32px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_video.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100%;
}

.main .panel-covered .txt {
  width: 100%;
  padding: 30px 30px 10px;
  /*
		&:not(.bottom):before {
			content: "";
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			background-color: rgba($color-black, .5);
		}
		*/
}

.main .panel-covered .txt.bottom {
  position: relative;
  margin-top: -20px;
  padding: 50px 65px 10px 30px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 50px);
}

.main .panel-covered .txt > * {
  position: relative;
}

.main .panel-covered .txt::before {
  content: "";
  display: block;
  position: absolute;
  right: 44px;
  bottom: 45px;
  z-index: 1;
  width: 10px;
  height: 1px;
  background-color: #fff;
}

.main .panel-covered .txt::after {
  content: "";
  display: block;
  position: absolute;
  right: 38px;
  bottom: 41px;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.4px 0px 4.4px 6px;
  border-color: transparent transparent transparent #fff;
}

.main .panel-covered p {
  line-height: 1.6;
}

.main .panel-covered .date {
  font-size: 0.81rem;
}

.main .panel-covered h2:not([class*="heading"]),
.main .panel-covered .heading1 {
  font-size: 1.5rem;
}

.main .panel-covered .heading {
  margin-bottom: 20px;
  padding: 0;
  font-size: 1.13rem;
  font-weight: bold;
  line-height: 1.6;
}

.main .panel-covered .heading span {
  display: inline-block;
  margin-bottom: 5px;
  font-size: 0.88rem;
}

.main .panel-covered .link-horizontal {
  margin: 0 -30px -10px;
  padding: 15px 20px 5px 30px;
}

.main .panel-covered .tag {
  margin: 0 -30px -10px;
  padding: 15px 22px 7px 30px;
}

.main .panel-covered * {
  color: #fff !important;
}

.main .panel-covered h2:not([class*="heading"]):after,
.main .panel-covered h3:not([class*="heading"]):after,
.main .panel-covered h4:not([class*="heading"]):after,
.main .panel-covered .heading1:after,
.main .panel-covered .heading2:after,
.main .panel-covered .heading3:after,
.main .panel-covered ul li:before {
  background-color: #fff;
}

.main .panel-covered h3:not([class*="heading"]) {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

.main .panel-covered .tag,
.main .panel-covered .link-horizontal {
  border-top: solid 1px rgba(255, 255, 255, 0.2);
}

.main .panel-covered .link-horizontal a:not(:last-child):before {
  background-color: rgba(255, 255, 255, 0.2);
}

.main .panel-covered .link-icon a:after,
.main .panel-covered a .link-icon:after {
  background-position-y: -144px !important;
}

.main .panel-covered .btn .ghost:not(:hover) {
  border: solid 2px rgba(255, 255, 255, 0.5);
}

.main .panel-covered .btn .ghost span:after {
  background-position-y: -144px !important;
}

html:not(.sp) .main .panel-covered .btn .ghost:hover {
  background-color: #fff !important;
  border: solid 2px #fff !important;
}

html:not(.sp) .main .panel-covered .btn .ghost:hover span {
  color: #545454 !important;
}

html:not(.sp) .main .panel-covered .btn .ghost:hover span:after {
  background-position-y: -120px !important;
}

.main .col-set:not(.no-gutter) .panel-covered {
  margin-bottom: 30px;
}

/* ----- [PL] パネル - 共通設定 ----- */
/*
.main .panel-vertical > a:before,
.main .panel-horizontal > a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: $color-black;
	opacity: 0;
	transition: opacity .2s linear;
}
html:not(.sp) .main .panel-vertical > a:hover:before,
html:not(.sp) .main .panel-horizontal > a:hover:after {
	opacity: .05;
}
*/
.main .panel-vertical.txt-white > a:before,
.main .panel-horizontal.txt-white > a:after {
  background-color: #fff;
}

html:not(.sp) .main .panel-vertical.txt-white > a:hover:before,
html:not(.sp) .main .panel-horizontal.txt-white > a:hover:after {
  opacity: .2;
}

.main .panel-horizontal .img .bg-img,
.main .panel-covered .img .bg-img {
  width: 100%;
  height: 100%;
}

.main .panel-horizontal .txt.middle,
.main .panel-covered .txt.middle {
  -ms-flex-item-align: center !important;
  -ms-grid-row-align: center !important;
  align-self: center !important;
}

.main .panel-horizontal .txt.bottom,
.main .panel-covered .txt.bottom {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important;
}

.main .panel-vertical .txt p + *,
.main .panel-horizontal .txt p + *,
.main .panel-covered .txt p + * {
  margin-top: -5px;
}

.main .panel-vertical .txt .date + *,
.main .panel-vertical .txt .heading + *,
.main .panel-horizontal .txt .date + *,
.main .panel-horizontal .txt .heading + *,
.main .panel-covered .txt .date + *,
.main .panel-covered .txt .heading + * {
  margin-top: -5px;
}

.main .panel-vertical .txt .btn,
.main .panel-vertical .txt .link-icon,
.main .panel-horizontal .txt .btn,
.main .panel-horizontal .txt .link-icon,
.main .panel-covered .txt .btn,
.main .panel-covered .txt .link-icon {
  margin-top: 0;
}

.main .panel-vertical .label,
.main .panel-horizontal .label,
.main .panel-covered .label {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  margin-bottom: 0;
}

.main .panel-vertical .label span,
.main .panel-horizontal .label span,
.main .panel-covered .label span {
  float: left;
  display: block;
  margin: 0;
  font-size: 0.81rem;
}

.main .panel-vertical .txt .label,
.main .panel-horizontal .txt .label,
.main .panel-covered .txt .label {
  position: static;
  margin-bottom: 25px;
}

.main .panel-vertical .tag a,
.main .panel-horizontal .tag a,
.main .panel-covered .tag a {
  padding: 4px 10px;
  font-size: 0.69rem;
}

.main .panel-vertical .link-horizontal a,
.main .panel-horizontal .link-horizontal a,
.main .panel-covered .link-horizontal a {
  margin-right: 20px;
  font-size: 0.81rem;
}

.main .panel-vertical .link-horizontal a:before,
.main .panel-horizontal .link-horizontal a:before,
.main .panel-covered .link-horizontal a:before {
  right: -10px;
}

.main .panel-vertical .link-horizontal a:before {
  top: 0;
}

.main .badge {
  position: absolute;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 60px;
  height: 60px;
  margin: -30px 0 0 -30px;
  padding: 3px;
  font-size: 1.75rem !important;
  font-weight: bold;
  line-height: 1.4 !important;
  overflow: hidden;
  border-radius: 50%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main .badge a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 60px;
  height: 60px;
  margin: -3px;
  padding: 3px;
  text-decoration: none;
  border-radius: 50%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main .badge a:after {
  content: "";
  position: absolute;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  border-radius: 100px;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.main .badge img {
  display: block;
  width: calc(100% + 6px);
  max-width: none;
  margin: -3px;
}

.main .badge {
  color: #fff !important;
  background-color: #f03;
}

.main .badge a {
  color: #fff !important;
}

.main .badge a:after {
  background-color: #fff;
}

html:not(.sp) .main .badge a:hover:after {
  opacity: .2;
}

.main .badge.bg-white, .main .badge.bg-light, .main .badge.bg-gray {
  color: #545454 !important;
}

.main .badge.bg-white a, .main .badge.bg-light a, .main .badge.bg-gray a {
  color: #545454 !important;
}

.main .badge.bg-white a:after, .main .badge.bg-light a:after, .main .badge.bg-gray a:after {
  background-color: #000;
}

html:not(.sp) .main .badge.bg-white a:hover:after, html:not(.sp) .main .badge.bg-light a:hover:after, html:not(.sp) .main .badge.bg-gray a:hover:after {
  opacity: .07;
}

.main .panel-vertical.bg-red,
.main .panel-horizontal.bg-red {
  background-color: #f03;
}

.main .panel-vertical.bg-red > a::after,
.main .panel-horizontal.bg-red > a::after {
  background-color: #fff;
}

.main .panel-vertical.bg-red .txt .heading, .main .panel-vertical.bg-red .txt p:not(.link-icon),
.main .panel-horizontal.bg-red .txt .heading,
.main .panel-horizontal.bg-red .txt p:not(.link-icon) {
  color: #fff;
}

.main .panel-vertical.bg-red .txt::before,
.main .panel-horizontal.bg-red .txt::before {
  background-color: #f03;
}

.main .panel-vertical.bg-red .txt::after,
.main .panel-horizontal.bg-red .txt::after {
  border-color: transparent transparent transparent #f03;
}

.main .panel-vertical.bg-red .badge,
.main .panel-horizontal.bg-red .badge {
  color: #f03 !important;
  background-color: #fff;
}

/*---------------------------------------------
	[TB] 表
  ---------------------------------------------*/
.main table {
  width: 100%;
  margin-bottom: 50px;
  border-spacing: 0;
  line-height: 1.7;
}

.main table td {
  padding: 20px 25px;
  border: solid 1px #e4e4e4;
}

.main table th {
  padding: 20px 25px;
  border: solid 1px #e4e4e4;
  background-color: #eeeff1;
  color: #000;
  font-weight: bold;
  white-space: nowrap;
}

.main table thead + tbody th {
  background-color: #fff;
  color: #545454;
  font-weight: normal;
}

.main table td p:last-child,
.main table td ul:last-child,
.main table td ol:last-child,
.main table td dl:last-child {
  margin-bottom: 0;
}

.main table.no-border {
  width: auto;
}

.main table.no-border th {
  padding: 0 80px 20px 0;
  border-style: none;
  background-color: #fff;
  vertical-align: top;
}

.main table.no-border td {
  padding: 0 0 20px 0;
  border-style: none;
  background-color: #fff;
  vertical-align: top;
}

.main table.no-border tr:last-child th, .main table.no-border tr:last-child td {
  padding-bottom: 0;
}

/*---------------------------------------------
	[NV1] コンテンツナビゲーション
  ---------------------------------------------*/
.main .nav-content {
  margin-bottom: 50px;
}

.main .nav-content ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.main .nav-content li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 2000px;
  min-height: 60px;
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 1.6;
  overflow: hidden;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.main .nav-content li:before {
  display: none;
}

.main .nav-content a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 10px 15px;
  text-decoration: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: background-color .2s linear, border-color .2s linear;
  transition: background-color .2s linear, border-color .2s linear;
}

.main .nav-content.link-internal a:after {
  width: 24px;
  height: 24px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
  content: "";
  display: block;
  min-width: 24px;
  margin: 0 -5px 0 5px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

html:not(.sp) .main .nav-content.link-internal a:hover:after {
  -webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
  transform: translate3d(0, 3px, 0) rotate(90deg);
}

.main .nav-content {
  background-color: #eeeff1;
}

.main .nav-content ul {
  border-left: solid 1px #fff;
}

.main .nav-content a {
  color: #545454;
  border-right: solid 1px #fff;
}

.main .nav-content .current a {
  color: #fff;
  background-color: #59bdc6;
  border-color: #59bdc6;
}

html:not(.sp) .main .nav-content a:hover {
  color: #fff;
  background-color: #8bd1d7;
  border-color: #8bd1d7;
}

.main .nav-content.link-internal a:after {
  background-position-y: -24px;
}

.main .nav-content.link-internal .current a:after,
html:not(.sp) .main .nav-content.link-internal a:hover:after {
  background-position-y: -144px;
}

.main .nav-content.bg-dark ul {
  border-color: #5f6768;
}

.main .nav-content.bg-dark a {
  color: #fff;
  border-color: #5f6768;
}

.main .nav-content.bg-dark.link-internal a:after {
  background-position-y: -144px;
}

@media screen and (min-width: 768px) {
  .main .row .nav-content ul,
  .main .nav-content ul:not(.row) {
    border-left: 0 none !important;
  }
  .main .row .nav-content ul li:last-of-type a,
  .main .nav-content ul:not(.row) li:last-of-type a {
    margin-right: -1px;
    border-right: 0 none;
  }
}

/*---------------------------------------------
	[NV2] タブ
  ---------------------------------------------*/
.main .tab {
  margin-bottom: 50px;
}

.main .row .tab {
  margin-bottom: 50px;
}

.main .tab-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding: 10px 0 0;
  overflow: hidden;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.main .tab-nav li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 2000px;
  min-height: 60px;
  margin: 0;
  padding: 0;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.main .tab-nav li:last-of-type {
  margin-right: -1px;
  border-right: 0 none;
}

.main .tab-nav li:before {
  display: none;
}

.main .tab-nav li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 10px 15px;
  border-radius: 20px 20px 0 0;
  font-size: 1.13rem;
  text-align: center;
  line-height: 1.6;
  text-decoration: none;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: background-color .2s linear, border-right-color .2s linear, margin .2s ease-in-out, padding .2s ease-in-out;
  transition: background-color .2s linear, border-right-color .2s linear, margin .2s ease-in-out, padding .2s ease-in-out;
}

.main .tab-nav li a:hover, .main .tab-nav li a:active {
  text-decoration: none;
}

.main .tab-nav li.current a {
  margin-top: -10px;
  padding-bottom: 10px;
}

.main .tab-nav li a {
  color: #fff;
  background-color: #f03;
}

.main .tab-nav li.current a {
  color: #f03 !important;
  background-color: #fff !important;
}

html:not(.sp) .main .tab-nav li a:hover {
  color: #fff;
  background-color: #545454;
}

.main .sp-tab-nav {
  display: none;
}

.main .tab-content {
  background-color: #fff;
  border-radius: 0 0 20px 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.main .row .tab-content {
  padding: 0;
}

.main .tab-container {
  overflow: hidden;
}

.main .tab-slider {
  position: relative;
  width: 1000%;
}

.main .tab-element {
  float: left;
  display: none;
  padding: 50px 0 30px;
}

.main .tab-slider .tab-element {
  width: 10%;
}

.main .tab-element:first-of-type {
  display: block;
}

.main .row .tab .tab-element {
  padding-left: 50px;
  padding-right: 50px;
}

/*---------------------------------------------
	[NV3] ページネーション
  ---------------------------------------------*/
.main .pagination p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.main .pagination a,
.main .pagination span {
  position: relative;
  display: inline-block;
  min-width: 45px;
  height: 45px;
  padding: 0 5px;
  line-height: 45px;
  margin: 0 1px 1px 0;
  font-size: 0.88rem;
  text-align: center;
}

.main .pagination a {
  color: #545454;
  text-decoration: none;
  background-color: #eeeff1;
  -webkit-transition: background-color .2s linear, color .2s linear;
  transition: background-color .2s linear, color .2s linear;
}

html:not(.sp) .main .pagination a:hover {
  color: #fff;
  background-color: #8bd1d7;
}

.main .pagination .current {
  color: #fff;
  background-color: #59bdc6;
}

.main .pagination .prev {
  padding: 0 10px 0 30px;
}

.main .pagination .prev:before {
  left: 6px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

html:not(.sp) .main .pagination .prev:hover:before {
  left: 3px;
  background-position-x: 0;
  background-position-y: -144px;
}

.main .pagination .next {
  padding: 0 30px 0 10px;
}

.main .pagination .next:before {
  right: 6px;
}

html:not(.sp) .main .pagination .next:hover:before {
  right: 3px;
  background-position-x: 0;
  background-position-y: -144px;
}

.main .pagination .prev:before,
.main .pagination .next:before {
  width: 24px;
  height: 24px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -12px;
  background-position: 0 0;
  -webkit-transition: left .2s linear, right .2s linear;
  transition: left .2s linear, right .2s linear;
}

/*---------------------------------------------
	[FM] フォーム
  ---------------------------------------------*/
.main .form dl.border-set {
  margin-bottom: 50px;
}

.main .form dl.border-set > dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 25px 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.main .form .caption {
  display: inline-block;
  margin: 0;
  padding: 5px 0;
  vertical-align: middle;
}

.main .form input,
.main .form select,
.main .form textarea,
.main .form span {
  -webkit-transition-duration: .2s;
  transition-duration: .2s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.main .form input[type="text"],
.main .form textarea {
  width: 100%;
  max-width: 300px;
  margin: 5px 0;
  padding: 5px;
  font-size: 16px;
  line-height: 1.6;
  border: 1px solid #999;
  vertical-align: middle;
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.main .form input[type="text"].full,
.main .form textarea.full {
  max-width: 100%;
}

.main .form input[type="text"]:not(.full) {
  margin-right: 15px;
}

.main .form select {
  position: relative;
  margin: 5px 0;
  padding: 5px 40px 5px 5px;
  font-size: 16px;
  line-height: 1.6;
  border: 1px solid #999;
  vertical-align: middle;
  cursor: pointer;
  background-color: #fff;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/btn_select.gif);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 30px 45px;
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

html:not(.sp) .main .form input[type="text"]:hover,
html:not(.sp) .main .form textarea:hover,
html:not(.sp) .main .form select:hover {
  border: 1px solid #8bd1d7;
}

.main .form select::-ms-expand {
  display: none;
}

.main .form label {
  display: inline-block;
  margin: 0 35px 10px 0;
  cursor: pointer;
}

.main .form input[type="radio"] {
  display: none;
}

.main .form input[type="radio"] + label {
  position: relative;
  display: inline-block;
  padding: 0 0 0 30px;
  cursor: pointer;
}

.main .form input[type="radio"] + label::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  border-radius: 10px;
  background-color: #e4e4e4;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.main .form input[type="radio"]:checked + label::before {
  background-color: #f03;
}

.main .form input[type="radio"]:checked + label::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 6px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-radius: 4px;
  background-color: #fff;
}

.main .form input[type="checkbox"] {
  display: none;
}

.main .form input[type="checkbox"] + label {
  position: relative;
  display: inline-block;
  padding: 0 0 0 30px;
  cursor: pointer;
}

.main .form input[type="checkbox"] + label::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-color: #e4e4e4;
  border-radius: 5px;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.main .form input[type="checkbox"]:checked + label::before {
  background-color: #f03;
}

.main .form input[type="checkbox"]:checked + label::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 5px;
  width: 10px;
  height: 7px;
  margin-top: -5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.main .form .zip input[type="text"] {
  width: 60px;
  margin-right: 0;
}

.main .form .zip input[type="text"]:last-child {
  width: 80px;
}

.main .form .btn-upload {
  position: relative;
  max-width: 300px;
  margin: 5px 0;
  overflow: hidden;
  white-space: nowrap;
}

.main .form .btn-upload .upload-value {
  display: block;
  margin: 0 !important;
  padding: 5px 10px;
  font-size: 0.88rem;
  border: 1px solid #999;
  border-right: 0 none;
  vertical-align: middle;
  background-color: transparent;
  border-radius: 3px 0 0 3px;
}

html:not(.sp) .main .form .btn-upload:hover .upload-value {
  border-color: #8bd1d7;
}

.main .form .btn-upload span {
  position: absolute;
  display: block;
  height: 100%;
  top: 0;
  right: 0;
  padding: 5px 10px;
  font-size: 0.88rem;
  line-height: 1.6;
  color: #fff;
  background-color: #59bdc6;
  vertical-align: middle;
  border: 1px solid #59bdc6;
  border-radius: 0 3px 3px 0;
}

.main .form .btn-upload input[type=file] {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  text-indent: -9999px;
  cursor: pointer;
  opacity: 0;
}

.main .form dl.border-set .required {
  position: relative;
  padding-right: 40px;
}

.main .form dl.border-set .required:after {
  content: "必須";
  position: absolute;
  display: block;
  padding: 4px 6px 3px;
  top: 50%;
  right: 0;
  font-size: 0.69rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  vertical-align: middle;
  background-color: #f03;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.main :-moz-placeholder {
  color: #bbb;
  opacity: 1;
}

.main ::-webkit-input-placeholder {
  color: #bbb;
  opacity: 1;
}

.main :-ms-input-placeholder {
  color: #bbb;
}

.main :placeholder-shown {
  color: #bbb;
}

/*---------------------------------------------
	[EB1] 動画埋め込み
  ---------------------------------------------*/
.main .embed-video-wrapper {
  max-width: 710px;
  margin: 0 auto;
}

.main .embed-video {
  position: relative;
  margin: 0 auto 50px;
  padding: 56.25% 0 0;
}

.main .embed-video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: 0 none;
}

/*---------------------------------------------
	[EB2] モーダル
  ---------------------------------------------*/
/* Magnific Popup CSS */
.mfp-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10042;
  overflow: hidden;
  background: #000;
  opacity: .8;
  -webkit-animation: mfp-bg-fadein .3s linear;
  animation: mfp-bg-fadein .3s linear;
}

.mfp-bg.mfp-ready.mfp-removing {
  opacity: 0;
  -webkit-transition: opacity .3s linear .3s;
  transition: opacity .3s linear .3s;
}

@-webkit-keyframes mfp-bg-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: .8;
  }
}

@keyframes mfp-bg-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: .8;
  }
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10043;
  position: fixed;
  outline: none !important;
}

html:not(.sp) .mfp-wrap {
  overflow-y: scroll !important;
}

.mfp-container {
  position: absolute;
  width: 100%;
  max-width: none;
  height: 100%;
  left: 0;
  top: 0;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  z-index: 10045;
  display: inline-block;
  vertical-align: middle;
  margin: 20px auto;
  text-align: left;
  opacity: 0;
  -webkit-backface-visibility: hidden;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: opacity .3s linear, -webkit-transform .3s ease-out;
  transition: opacity .3s linear, -webkit-transform .3s ease-out;
  transition: transform .3s ease-out, opacity .3s linear;
  transition: transform .3s ease-out, opacity .3s linear, -webkit-transform .3s ease-out;
}

.mfp-wrap.mfp-ready.mfp-removing .mfp-content {
  opacity: 0;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transition: opacity .3s linear .3s, -webkit-transform .3s ease-in .3s;
  transition: opacity .3s linear .3s, -webkit-transform .3s ease-in .3s;
  transition: transform .3s ease-in .3s, opacity .3s linear .3s;
  transition: transform .3s ease-in .3s, opacity .3s linear .3s, -webkit-transform .3s ease-in .3s;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  padding: 40px 0;
  cursor: auto;
}

.mfp-inline-holder .mfp-content > div {
  position: relative;
  margin: 0 auto;
  -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
}

.mfp-inline-holder .mfp-content .content {
  padding: 30px 30px 10px;
  position: relative;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  position: absolute;
  top: 50%;
  width: 100%;
  height: 60px;
  margin-top: -30px;
  text-indent: -9999px;
  z-index: 10044;
  overflow: hidden;
}

.mfp-preloader:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  margin: 0 auto;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/preloader.gif);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 60px 60px;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

.mfp-close {
  position: absolute;
  width: 30px;
  height: 30px;
  right: 0;
  top: 40px;
  font-size: 1px;
  text-indent: -9999px;
  cursor: pointer;
  overflow: hidden;
  border: solid 2px rgba(255, 255, 255, 0.5);
  background: none;
  opacity: .5;
  border-radius: 15px;
}

.mfp-ready .mfp-close {
  top: 0;
  -webkit-transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
  transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.3s ease-in-out, opacity 0.3s linear;
  transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.3s ease-in-out, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
}

.mfp-ready.mfp-removing .mfp-close {
  top: 40px;
  -webkit-transition: top .3s ease-in 0s;
  transition: top .3s ease-in 0s;
}

.mfp-ready .mfp-iframe-holder .mfp-close,
.mfp-ready .mfp-inline-holder .mfp-close {
  top: -40px;
}

.mfp-ready.mfp-removing .mfp-iframe-holder .mfp-close,
.mfp-ready.mfp-removing .mfp-inline-holder .mfp-close {
  top: 0;
}

html:not(.sp) .mfp-close:hover {
  opacity: 1;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.mfp-close:before, .mfp-close:after {
  content: "";
  position: absolute;
  display: block;
  width: 2px;
  height: 18px;
  right: 12px;
  top: 4px;
  background-color: #fff;
  border-radius: 2px;
}

.mfp-close:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mfp-close:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

html:not(.sp) .mfp-close:hover {
  opacity: 1;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  font-size: .96rem;
  line-height: 1.6;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  z-index: 10046;
  width: 40px;
  height: 40px;
  top: 50%;
  margin-top: -20px;
  text-indent: -9999px;
  background-color: #59bdc6;
  border: 0 none;
  overflow: hidden;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 50%;
}

.mfp-arrow:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
}

.mfp-arrow:hover:before {
  opacity: .2;
}

.mfp-arrow:after {
  width: 24px;
  height: 24px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -12px;
  background-position-x: 0;
  background-position-y: -144px;
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

.mfp-arrow-left {
  left: -100px;
}

.mfp-arrow-right {
  right: -100px;
}

.mfp-arrow-left:after {
  left: 7px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

html:not(.sp) .mfp-arrow-left:hover:after {
  -webkit-transform: translate3d(-3px, 0, 0) rotate(180deg);
  transform: translate3d(-3px, 0, 0) rotate(180deg);
}

.mfp-arrow-right:after {
  right: 7px;
}

html:not(.sp) .mfp-arrow-right:hover:after {
  -webkit-transform: translate3d(3px, 0, 0);
  transform: translate3d(3px, 0, 0);
}

.mfp-ready .mfp-arrow-left {
  left: 20px;
  -webkit-transition: left 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
  transition: left 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
}

.mfp-ready.mfp-removing .mfp-arrow-left {
  left: -100px;
  -webkit-transition: left .5s ease-in 0s;
  transition: left .5s ease-in 0s;
}

.mfp-ready .mfp-arrow-right {
  right: 20px;
  -webkit-transition: right 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
  transition: right 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
}

.mfp-ready.mfp-removing .mfp-arrow-right {
  right: -100px;
  -webkit-transition: right .5s ease-in 0s;
  transition: right .5s ease-in 0s;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-scaler {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  position: relative;
  z-index: 1;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  line-height: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
  padding: 40px 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  z-index: -1;
  display: block;
  width: auto;
  height: auto;
  left: 0;
  top: 40px;
  bottom: 40px;
  right: 0;
  background: #444;
  -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 0.75rem;
  line-height: 1.6;
}

.mfp-figure figure {
  position: relative;
  margin: 0;
}

.mfp-bottom-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-ready .mfp-bottom-bar {
  bottom: -40px;
  -webkit-transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
  transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
  transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.2s ease-in-out, opacity 0.2s linear;
  transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.2s ease-in-out, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
}

.mfp-ready.mfp-removing .mfp-bottom-bar {
  bottom: 0;
  -webkit-transition: bottom .3s ease-in 0s;
  transition: bottom .3s ease-in 0s;
}

.mfp-ready .mfp-iframe-holder .mfp-bottom-bar {
  bottom: 0;
}

.mfp-ready.mfp-removing .mfp-iframe-holder .mfp-bottom-bar {
  bottom: -35px;
}

.mfp-title {
  float: left;
  height: 1.6em;
  padding-right: 4em;
  text-align: left;
  line-height: 1.6;
  color: #fff;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

.sb10 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 10px);
}

.sb11 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 11px);
}

.sb12 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 12px);
}

.sb13 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 13px);
}

.sb14 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 14px);
}

.sb15 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 15px);
}

.sb16 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 16px);
}

.sb17 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 17px);
}

.sb18 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 18px);
}

.sb19 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 19px);
}

.sb20 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 20px);
}

.sb21 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 21px);
}

.sb22 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 22px);
}

.sb23 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 23px);
}

.sb24 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 24px);
}

.sb25 .mfp-bg ~ #wrapper .fixed {
  width: calc(100% - 25px);
}

/*---------------------------------------------
	[SL] スライダー
  ---------------------------------------------*/
.main .slider {
  position: relative;
  margin-bottom: 50px;
}

.main .slider-container {
  width: 100%;
}

.main .slider .panel-vertical,
.main .slider .panel-covered {
  margin-bottom: 0;
}

/* ----- Slick Slider ----- */
.main .slider .slick-slider {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.main .slider .slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: -30px 0 -30px -30px;
  padding: 30px 0px 30px 30px;
}

.main .slider .slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.main .slider .slick-slider .slick-track,
.main .slider .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.main .slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: 0;
  left: 0;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.main .slider .slick-track:before, .main .slider .slick-track:after {
  display: table;
  content: '';
}

.main .slider .slick-track:after {
  clear: both;
}

.slick-loading .main .slider .slick-track {
  visibility: hidden;
}

.main .slider .slick-track > div > *:last-child {
  margin-bottom: 0;
}

.main .slider .slick-slide {
  display: none;
  min-height: 1px;
  margin-bottom: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transition: -webkit-box-shadow .2s .5s;
  transition: -webkit-box-shadow .2s .5s;
  transition: box-shadow .2s .5s;
  transition: box-shadow .2s .5s, -webkit-box-shadow .2s .5s;
}

.main .slider .slick-slide.panel-vertical.slick-active {
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  -webkit-transition: -webkit-box-shadow .8s 0s;
  transition: -webkit-box-shadow .8s 0s;
  transition: box-shadow .8s 0s;
  transition: box-shadow .8s 0s, -webkit-box-shadow .8s 0s;
}

.main .slider .slick-slide img {
  display: block;
}

.main .slider .slick-slide.slick-loading img {
  display: none;
}

.main .slider .slick-slide.dragging img {
  pointer-events: none;
}

.main .slider .slick-initialized .slick-slide {
  display: block;
}

.main .slider .slick-loading .slick-slide {
  visibility: hidden;
}

.main .slider .slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.main .slider .slick-arrow.slick-hidden {
  display: none;
}

.main .slider .slick-arrow {
  width: 24px;
  height: 24px;
  text-indent: -400px;
  background-color: transparent;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_red.svg);
  background-repeat: no-repeat;
  background-size: 24px;
  border: 0 none;
  overflow: hidden;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  opacity: 1;
  -webkit-transition: opacity .2;
  transition: opacity .2;
}

html:not(.sp) .main .slider .slick-arrow:hover {
  opacity: .5;
}

.main .slider .slick-prev {
  margin-right: 20px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.main .slider .slick-next {
  margin-left: 16px;
}

.main .slider .slick-track .img,
.main .slider .main .slick-track .img {
  margin-bottom: 0;
}

.main .slider .slick-controller {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 35px;
  padding-right: 30px;
}

.main .slider .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 !important;
}

.main .slider .slick-dots li {
  position: relative;
  margin: 0 !important;
  padding: 0 13px 0 0 !important;
}

.main .slider .slick-dots li::before {
  content: none !important;
}

.main .slider .slick-dots li::after {
  content: "";
  display: block;
  position: absolute;
  right: 2px;
  top: 50%;
  width: 9px;
  height: 1px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/dots_red.png);
}

.main .slider .slick-dots li:nth-last-child(2) {
  padding-right: 8px;
}

.main .slider .slick-dots li:nth-last-child(2)::after {
  content: none;
}

.main .slider .slick-dots li:last-child {
  padding-right: 0 !important;
}

.main .slider .slick-dots li:last-child::after {
  content: none;
}

.main .slider .slick-dots li button {
  display: block;
  position: relative;
  width: 17px;
  height: 17px;
  padding: 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  overflow: hidden;
  font-size: 1px;
  text-indent: -400px;
}

.main .slider .slick-dots li button::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 17px;
  height: 17px;
  border-radius: 8.5px;
  background-color: rgba(255, 0, 51, 0.5);
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

.main .slider .slick-dots li button::after {
  content: "";
  display: block;
  position: absolute;
  left: 6px;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 2.5px;
  background-color: #f03;
}

.main .slider .slick-dots li button:hover::before, .main .slider .slick-dots li button:active::before {
  opacity: 1;
}

.main .slider .slick-dots li.slick-active button::before {
  opacity: 1;
}

.main .slider .slick-dots li .slick-pause {
  width: 28px;
  height: 28px;
  padding-right: 0;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_play-pause_red.svg);
  background-repeat: no-repeat;
  background-position: 0 -28px;
  background-size: 28px 56px;
  overflow: hidden;
  font-size: 1px;
  text-indent: -400px;
  opacity: 1;
  -webkit-transition: opacity .2;
  transition: opacity .2;
}

html:not(.sp) .main .slider .slick-dots li .slick-pause:hover {
  opacity: .5;
}

.main .slider .slick-dots li .slick-pause::before, .main .slider .slick-dots li .slick-pause::after {
  content: none;
}

.main .slider .slick-dots li .slick-pause.paused {
  background-position: 0 0;
}

/*---------------------------------------------
	[SC] スクロールエフェクト
  ---------------------------------------------*/
/* ----- [SC1] フェードイン ----- */
.fadein {
  opacity: 0;
  -webkit-transform: translate3d(0, 50px, 0);
  transform: translate3d(0, 50px, 0);
}

/* ----- [SC2] スライドイン ----- */
.slidein {
  visibility: hidden;
}

.slidein-bg {
  position: absolute;
  z-index: 1000;
  display: block;
  overflow: hidden;
}

.slidein-bg span {
  position: absolute;
  display: block;
  width: 120%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #545454;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

/*---------------------------------------------
	1010px未満
  ---------------------------------------------*/
@media screen and (max-width: 1009px), print {
  /* ----- 基本フォントサイズ ----- */
  html {
    font-size: 1rem;
  }
  /* ----- メインコンテンツ ----- */
  .main .content {
    padding-top: 50px;
    padding-bottom: 30px;
  }
  .row {
    padding: 0 10px;
  }
  /* ----- [CL] カラム ----- */
  .col-set {
    width: calc(100% + 20px);
  }
  .no-gutter {
    width: 100%;
  }
  .col1-2 {
    width: calc(50% - 20px);
  }
  .col1-3 {
    width: calc(33.33333333% - 20px);
  }
  .col2-3 {
    width: calc(66.66666666% - 20px);
  }
  .col1-4 {
    width: calc(25% - 20px);
  }
  .col3-4 {
    width: calc(75% - 20px);
  }
  .col1-5 {
    width: calc(20% - 20px);
  }
  .col1-6 {
    width: calc(16.66666666% - 20px);
  }
  .col1-2,
  .col1-3,
  .col2-3,
  .col1-4,
  .col3-4,
  .col1-5,
  .col1-6 {
    margin-right: 20px;
  }
  /* ----- [IG] 画像 ----- */
  .main .img-set .img,
  .main .thumb-set .img {
    margin-right: 15px;
    padding-right: 15px;
  }
  .main .img-set .img.right,
  .main .thumb-set .img.right {
    margin-left: 15px;
    padding-left: 15px;
  }
  .main .img-set.img-extended .img {
    margin-bottom: 80px;
  }
  .main .img-set.img-extended .img img {
    width: calc(50vw - 68px);
    margin-left: calc(100% - (50vw - 68px));
  }
  .main .img-set.img-extended .img.right img {
    margin-left: 0;
    margin-right: calc(100% - (50vw - 68px));
  }
  /* ----- [LT] リスト ----- */
  .main ul.col-set li {
    margin-bottom: 20px;
  }
  /* ----- [BT] ボタン ----- */
  .main .btn > * {
    min-width: calc((100% - 40px) / 3);
    margin: 0 20px 40px 0;
  }
  .main .btn.small > * {
    margin: 0 15px 20px 0;
  }
  /* ----- [BT5] ページトップボタン ----- */
  #btn-pagetop {
    right: 20px;
  }
  #btn-pagetop.show {
    -webkit-transform: translate3d(0, -70px, 0);
    transform: translate3d(0, -70px, 0);
  }
  /* ----- [BX] ボックス ----- */
  .main .box {
    margin-bottom: 40px;
    padding: 30px 30px 10px;
    border-radius: 10px;
  }
  .main .box .heading {
    margin-bottom: 20px;
  }
  .main .box > * {
    margin-bottom: 20px;
  }
  .main .box.compact {
    padding: 20px 25px 0;
  }
  /* ----- [FR] 枠 ----- */
  .main .frame {
    margin-bottom: 40px;
    padding: 20px 20px 0;
  }
  .main .frame .heading:first-child {
    margin: -20px -20px 20px;
    padding: 2px 20px 12px;
  }
  /* ----- [PL] パネル ----- */
  .main .panel-no-image {
    margin-bottom: 20px;
  }
  .main .panel-vertical {
    margin-bottom: 20px;
  }
  .main .panel-vertical .badge {
    margin-left: 20px;
    margin-right: 20px;
  }
  .main .panel-button {
    margin-bottom: 20px;
  }
  .main .panel-button:only-child {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }
  .main .row .panel-horizontal {
    margin-bottom: 20px;
  }
  .main .panel-horizontal .txt {
    padding: 30px 30px 70px;
  }
  .main .col-set:not(.no-gutter) .panel-covered {
    margin-bottom: 20px;
  }
  .main .panel-covered .txt {
    padding: 20px 20px 0;
  }
  .main .panel-covered .link-horizontal {
    margin: 0 -20px;
    padding: 15px 10px 5px 20px;
  }
  .main .panel-covered .tag {
    margin: 0 -20px;
    padding: 15px 12px 7px 20px;
  }
  /* ----- [SL] スライダー ----- */
  .main .slider {
    margin-bottom: 40px;
  }
  /* ----- [NV2] タブ ----- */
  .main .tab {
    margin-bottom: 40px;
  }
  .main .tab-element {
    padding: 20px 0 10px;
  }
  .main .row .tab .tab-element {
    padding-left: 20px;
    padding-right: 20px;
  }
  /* ----- [FM] フォーム ----- */
  .main .form dl.border-set {
    margin-bottom: 40px;
  }
  /* ----- [EB2] モーダル ----- */
  .mfp-inline-holder .mfp-content .content {
    padding: 20px 20px 0;
  }
}

/*---------------------------------------------
	1050px未満
  ---------------------------------------------*/
@media screen and (max-width: 1049px) {
  /* ----- [IG] 画像 ----- */
  .main .img-set.img-extended .img img {
    width: 100%;
    margin-left: 0;
  }
  .main .img-set.img-extended .img.right img {
    margin-right: 0;
  }
}

/*---------------------------------------------
	768px未満
  ---------------------------------------------*/
@media screen and (max-width: 767px) {
  /* ----- 基本フォントサイズ ----- */
  /* ----- メインコンテンツ ----- */
  .main .content {
    padding-top: 10vw;
    padding-bottom: calc(12vw - 20px);
  }
  .row {
    padding: 0 15px;
  }
  .row.blog {
    width: auto;
    max-width: 710px;
  }
  .anchor:before {
    content: "";
    display: block;
    margin-top: -90px;
    padding-top: 90px;
  }
  /* ----- 強制指定 ----- */
  /* 中央寄せ */
  .main .sp-center {
    text-align: center !important;
  }
  /* ----- 幅 ----- */
  .main .sp-w50 {
    width: 50px !important;
  }
  .main .sp-w60 {
    width: 60px !important;
  }
  .main .sp-w70 {
    width: 70px !important;
  }
  .main .sp-w80 {
    width: 80px !important;
  }
  .main .sp-w90 {
    width: 90px !important;
  }
  .main .sp-w100 {
    width: 100px !important;
  }
  .main .sp-w110 {
    width: 110px !important;
  }
  .main .sp-w120 {
    width: 120px !important;
  }
  .main .sp-w130 {
    width: 130px !important;
  }
  .main .sp-w140 {
    width: 140px !important;
  }
  .main .sp-w150 {
    width: 150px !important;
  }
  .main .sp-w160 {
    width: 160px !important;
  }
  .main .sp-w170 {
    width: 170px !important;
  }
  .main .sp-w180 {
    width: 180px !important;
  }
  .main .sp-w190 {
    width: 190px !important;
  }
  .main .sp-w200 {
    width: 200px !important;
  }
  /* ----- 下余白 ----- */
  .main .mb0 {
    margin-bottom: 0px !important;
  }
  .main .mb10 {
    margin-bottom: 5px !important;
  }
  .main .mb20 {
    margin-bottom: 10px !important;
  }
  .main .mb30 {
    margin-bottom: 15px !important;
  }
  .main .mb40 {
    margin-bottom: 20px !important;
  }
  .main .mb50 {
    margin-bottom: 25px !important;
  }
  .main .mb60 {
    margin-bottom: 30px !important;
  }
  .main .mb70 {
    margin-bottom: 35px !important;
  }
  .main .mb80 {
    margin-bottom: 40px !important;
  }
  .main .mb90 {
    margin-bottom: 45px !important;
  }
  .main .mb100 {
    margin-bottom: 50px !important;
  }
  .main .sp-mb0 {
    margin-bottom: 0px !important;
  }
  .main .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .main .sp-mb20 {
    margin-bottom: 20px !important;
  }
  .main .sp-mb30 {
    margin-bottom: 30px !important;
  }
  .main .sp-mb40 {
    margin-bottom: 40px !important;
  }
  .main .sp-mb50 {
    margin-bottom: 50px !important;
  }
  .main .sp-mb60 {
    margin-bottom: 60px !important;
  }
  .main .sp-mb70 {
    margin-bottom: 70px !important;
  }
  .main .sp-mb80 {
    margin-bottom: 80px !important;
  }
  .main .sp-mb90 {
    margin-bottom: 90px !important;
  }
  .main .sp-mb100 {
    margin-bottom: 100px !important;
  }
  /* 表示／非表示 */
  .show-pc {
    display: none !important;
  }
  /* 文字サイズ */
  .main .sp-l {
    font-size: 1.06rem !important;
  }
  .main .sp-m {
    font-size: 0.88rem !important;
  }
  .main .sp-s {
    font-size: 0.75rem !important;
  }
  /* ----- [CL] カラム ----- */
  .col-set {
    width: calc(100% + 15px);
  }
  .no-gutter {
    width: 100%;
  }
  .row .no-gutter {
    margin-bottom: 15px;
  }
  .col1-2,
  .col1-3,
  .col2-3,
  .col1-4,
  .col3-4,
  .col1-5,
  .col1-6 {
    width: calc(100% - 15px);
    margin-right: 15px;
    margin-bottom: 15px;
  }
  .no-gutter > .col1-2,
  .no-gutter > .col1-3,
  .no-gutter > .col2-3,
  .no-gutter > .col1-4,
  .no-gutter > .col3-4,
  .no-gutter > .col1-5,
  .no-gutter > .col1-6 {
    width: 100%;
  }
  .sp-col1-2 {
    width: calc(50% - 15px);
  }
  .sp-col1-3 {
    width: calc(33.3333% - 15px);
  }
  .no-gutter > .sp-col1-2 {
    width: 50%;
  }
  .no-gutter > .sp-col1-3 {
    width: 33.3333%;
  }
  /* ----- [HG] 見出し ----- */
  .main h2:not([class*="heading"]),
  .main .heading1 {
    margin: 40px 0 30px;
    font-size: 1.38rem;
  }
  .main h2:not([class*="heading"]).no-border,
  .main .heading1.no-border {
    margin-bottom: 20px;
  }
  .main h3:not([class*="heading"]),
  .main .heading2 {
    margin: 30px 0 20px;
    font-size: 1.13rem;
  }
  .main h4:not([class*="heading"]),
  .main .heading3 {
    margin: 20px 0 15px;
    font-size: 1rem;
  }
  .main h5:not([class*="heading"]),
  .main .heading4 {
    margin: 10px 0 15px;
    font-size: 1.13rem;
  }
  .main h6:not([class*="heading"]),
  .main .heading5 {
    margin: 0 0 15px;
    font-size: 1rem;
  }
  .main .col-set + h2 {
    margin-top: 25px;
  }
  .main .col-set + h3 {
    margin-top: 15px;
  }
  .main .col-set + h4 {
    margin-top: 5px;
  }
  .main .col-set + h5 {
    margin-top: 0;
  }
  .main .col-set + h6 {
    margin-top: 0;
  }
  .main .col-set + .heading1 {
    margin-top: 25px;
  }
  .main .col-set + .heading2 {
    margin-top: 15px;
  }
  .main .col-set + .heading3 {
    margin-top: 5px;
  }
  .main .col-set + .heading4 {
    margin-top: 0;
  }
  .main .col-set + .heading5 {
    margin-top: 0;
  }
  /* ----- [TX] テキスト ----- */
  .main p {
    margin-bottom: 8vw;
  }
  .main .copy {
    font-size: 1.31rem;
  }
  .main p.note + p.note,
  .main p.note-num + p.note-num {
    margin-top: -8vw;
  }
  .main .heading-note {
    font-size: 1.13rem;
  }
  /* ----- [HR]  区切り線 ----- */
  .main hr {
    margin-bottom: 8vw;
  }
  /* ----- [IG] 画像 ----- */
  .main .img {
    margin-bottom: 8vw;
  }
  .main figure {
    margin-bottom: 8vw;
  }
  .main figure .caption {
    padding: 0;
  }
  .main figure.right .caption {
    margin-right: auto;
    padding: 0;
  }
  .main .img-set .img, .main .img-set .img.right {
    float: none;
    width: auto;
    max-width: none;
    text-align: center !important;
  }
  .main .img-set .img {
    margin-right: 0;
    padding-right: 0;
  }
  .main .img-set .img.right {
    margin-left: 0;
    padding-left: 0;
  }
  .main .thumb-set .img {
    margin-right: 7.5px;
    padding-right: 7.5px;
  }
  .main .thumb-set .img.right {
    margin-right: 0;
    padding-right: 0;
    margin-left: 7.5px;
    padding-left: 7.5px;
  }
  .main .img-set.img-extended .img {
    margin-bottom: 8vw;
  }
  /* ----- [LT] リスト ----- */
  .main ul {
    margin-bottom: 8vw;
  }
  .main ul.col-set li {
    margin-bottom: 15px;
  }
  .main ol {
    margin-bottom: 8vw;
  }
  .main dl {
    display: block;
    margin-bottom: 8vw;
  }
  .main dl dt {
    width: auto !important;
    padding-bottom: 5px !important;
  }
  .main dl dd {
    width: auto !important;
    padding: 0 0 15px;
  }
  .main dl.border-set {
    border-bottom: 0 none;
    border-top: solid 1px #999;
  }
  .main dl.border-set > dt {
    padding: 15px 0 5px;
    border-top: 0 none;
  }
  .main dl.border-set > dd {
    width: auto;
    padding: 0 0 15px;
    border-top: 0 none;
    border-bottom: solid 1px #999;
  }
  .main dl .main dl.news > dt {
    float: left;
    padding-right: 15px;
  }
  .main dl .main dl.news.border-set > dt {
    float: left;
    padding-top: 15px;
    border-top: 0 none;
  }
  .main dl .main dl.news > dd .tag,
  .main dl .main dl.news > dd .label {
    clear: none;
    float: right;
    margin: 0 0 5px;
  }
  .main dl .main dl.news.border-set .tag,
  .main dl .main dl.news.border-set .label {
    margin-top: 15px;
  }
  .main dl .main dl.news.border-set p + .tag,
  .main dl .main dl.news.border-set p + .label {
    margin-top: 0;
  }
  .main dl .main dl.news .link-icon {
    clear: both;
  }
  /* ----- [LK1] アイコンリンク ----- */
  .main .link-icon:not(li) + .link-icon {
    margin-top: -5px;
  }
  /* ----- [LK2] 横並びリンク ----- */
  .main .link-horizontal {
    margin-bottom: 5px;
  }
  /* ----- [TG1] タグ ----- */
  .main .tag {
    margin-bottom: 0;
  }
  .main .tag a {
    margin: 0 10px 10px 0;
    padding: 6px 12px;
    font-size: 0.69rem;
  }
  /* ----- [TG2] ラベル ----- */
  .main .label {
    margin-bottom: 5px;
  }
  .main .label span {
    padding: 5px 8px;
    font-size: 0.75rem;
  }
  /* ----- [BT] ボタン ----- */
  .main .btn > * {
    margin: 0 15px 8vw 0;
    padding: 20px 0 19px;
    font-size: 0.88rem;
    border-radius: 10px;
  }
  .main .btn.small > * {
    margin: 0 0 10px 0;
    padding: 8px 0 7px;
  }
  .main .btn .icon-arrow span {
    padding: 0 60px 0 30px;
  }
  .main .btn .icon-arrow span i {
    width: 23px;
    height: 23px;
    border-radius: 11.5px;
  }
  .main .btn .icon-arrow span i::before {
    left: 6px;
    top: 11px;
    width: 6px;
    height: 1px;
  }
  .main .btn .icon-arrow span i::after {
    left: 12px;
    top: 8px;
    border-width: 3.4px 0 3.4px 5px;
  }
  /* ----- [BT3] シェアボタン ----- */
  .main .btn-share {
    margin-bottom: 5px;
    text-align: center;
  }
  /* ----- [BT5] ページトップボタン ----- */
  #btn-pagetop {
    right: 15px;
  }
  #btn-pagetop.show {
    -webkit-transform: translate3d(0, -65px, 0);
    transform: translate3d(0, -65px, 0);
  }
  /* ----- [BX] ボックス ----- */
  .main .box {
    margin-bottom: 8vw;
    padding: 15px 15px 0;
  }
  .main .box .heading {
    margin-bottom: 15px;
  }
  .main .box > * {
    margin-bottom: 15px;
  }
  .main .box.compact {
    padding: 15px 15px 0;
  }
  /* ----- [FR]  枠 ----- */
  .main .frame {
    margin-bottom: 8vw;
    padding: 15px 15px 0;
  }
  .main .frame .heading:first-child {
    margin: -15px -15px 15px;
    padding: 2px 15px 12px;
  }
  /* ----- [PL] パネル ----- */
  /* [PL0] パネル > 画像なし */
  .main .panel-no-image {
    margin-bottom: 4vw;
    padding: 15px 15px 5px;
    border-radius: 10px;
  }
  .main .panel-no-image p {
    margin: 0 0 10px;
  }
  .main .panel-no-image .label {
    margin-bottom: 5px;
  }
  .main .panel-no-image .heading {
    margin: 0 0 10px;
  }
  .main .panel-no-image .btn {
    margin-bottom: 0;
  }
  .main .panel-no-image .btn > * {
    min-width: 38%;
  }
  .main .panel-no-image .date {
    left: 15px;
    bottom: 12px;
    font-size: 0.88rem;
  }
  /* [PL1] パネル > 画像上 */
  .main .panel-vertical {
    margin-bottom: 4vw;
    border-radius: 10px;
  }
  .main .panel-vertical > a::after {
    right: 13px;
    bottom: 13px;
    width: 27px;
    height: 27px;
    border-radius: 13.5px;
  }
  .main .panel-vertical .heading {
    margin: 12px 0 0 !important;
    font-size: 1rem;
  }
  .main .panel-vertical .heading.center {
    display: block;
    min-height: 0;
    font-size: 1.56rem;
    line-height: 1.3;
  }
  .main .panel-vertical .heading.center + .desc {
    line-height: 1.6;
  }
  .main .panel-vertical .badge {
    margin-left: 15px;
    margin-right: 15px;
  }
  .main .panel-vertical .txt {
    height: auto;
    margin-top: 0;
    padding: 5vw 15px calc(12vw + 20px);
  }
  .main .panel-vertical .txt::before {
    right: 25px;
    bottom: 26px;
    width: 7px;
  }
  .main .panel-vertical .txt::after {
    right: 20px;
    bottom: 23px;
    border-width: 3.4px 0 3.4px 5px;
  }
  .main .panel-vertical .txt.bottom {
    position: relative;
    margin-top: -5vw !important;
    padding: 15px 45px 20px 15px !important;
  }
  .main .panel-vertical p {
    margin: 10px 0 0;
  }
  .main .panel-vertical .label {
    margin: 12px 0 0 !important;
  }
  .main .panel-vertical .date {
    left: 15px;
    bottom: 12px;
    font-size: 0.88rem;
  }
  .main .panel-vertical .link-horizontal {
    padding: 12px 5px 2px 15px;
  }
  .main .panel-vertical .tag {
    padding: 10px 7px 2px 15px;
  }
  .main .panel-vertical ul.tags {
    margin: 8px 0 0 !important;
  }
  .main .panel-vertical .desc {
    margin: 12px 0 0 !important;
  }
  .main .panel-vertical.col1-4 > a::after {
    right: 13px;
    bottom: 13px;
  }
  .main .panel-vertical.col1-4 .txt {
    padding: 5vw 15px calc(12vw + 20px);
  }
  .main .panel-vertical.col1-4 .txt::before {
    right: 25px;
    bottom: 26px;
  }
  .main .panel-vertical.col1-4 .txt::after {
    right: 20px;
    bottom: 23px;
  }
  .main .panel-vertical.col1-4 .date {
    left: 15px;
    bottom: 12px;
  }
  .main .panel-vertical.sp-horizontal a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 130px;
  }
  .main .panel-vertical.sp-horizontal a .img {
    width: 35%;
    height: auto;
    padding-bottom: 0;
  }
  .main .panel-vertical.sp-horizontal a .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 65%;
    margin-top: 0 !important;
  }
  .main .panel-vertical.sp-horizontal a .txt .heading {
    font-size: 1rem;
    line-height: 1.4;
  }
  .main .panel-vertical.sp-horizontal a .txt .heading span.sub {
    font-size: 0.75rem;
  }
  /* [PLx] パネル > ボタン的な見た目 */
  .main .panel-button {
    margin-bottom: 4vw;
    border-radius: 10px;
  }
  .main .panel-button:only-child {
    margin-left: 0;
    margin-right: 15px;
    -webkit-transform: none;
    transform: none;
  }
  .main .panel-button > a::after {
    right: 13px;
    width: 27px;
    height: 27px;
    margin-top: -13.5px;
    border-radius: 13.5px;
  }
  .main .panel-button .txt {
    height: auto;
    padding: 5vw 50px;
    font-size: 1.25rem;
  }
  .main .panel-button .txt span {
    font-size: 0.94rem;
  }
  .main .panel-button .txt::before {
    right: 25px;
    width: 7px;
  }
  .main .panel-button .txt::after {
    right: 20px;
    margin-top: -3.5px;
    border-width: 3.4px 0 3.4px 5px;
  }
  .main .slider .panel-vertical a::after {
    background-color: transparent;
    background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_page_next.svg);
    background-repeat: no-repeat;
    background-size: 27px;
  }
  .main .slider .panel-vertical .txt::before,
  .main .slider .panel-vertical .txt::after {
    content: none;
  }
  .main .sp-panel-holizontal > a:after {
    content: "";
    display: block;
    clear: both;
  }
  .main .sp-panel-holizontal .img {
    float: left;
    width: 25%;
    margin: 15px;
  }
  .main .sp-panel-holizontal .badge {
    position: static;
    clear: both;
    float: left;
    width: 25%;
    height: auto;
    margin: -15px 15px 15px 15px;
    border-radius: 0;
  }
  .main .sp-panel-holizontal .badge > * {
    display: block;
    width: auto;
    height: auto;
    padding: 8px 10px;
    font-size: 0.69rem;
    line-height: 1;
  }
  .main .sp-panel-holizontal .txt,
  .main .sp-panel-holizontal .badge + .txt {
    padding: 15px 15px 0 0;
    overflow: hidden;
  }
  .main .sp-panel-holizontal .label {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
  }
  .main .sp-panel-holizontal .label span {
    float: none;
    display: block;
    margin: 0;
    text-align: center;
    border: 0 none !important;
  }
  .main .panel-vertical.white-bg-img .img {
    padding-bottom: 56%;
  }
  .main .panel-vertical.white-bg-img .txt {
    margin-top: 0;
    padding: 0 15px calc(12vw + 20px);
  }
  .main .panel-vertical.white-bg-img.col1-4 .txt {
    padding: 0 15px calc(12vw + 20px);
  }
  .main .panel-vertical.white-bg-img.col1-4 .txt::before {
    right: 25px;
    bottom: 26px;
  }
  .main .panel-vertical.white-bg-img.col1-4 .txt::after {
    right: 20px;
    bottom: 23px;
  }
  .main .panel-vertical.white-bg-img.square .txt {
    margin-top: -5vw;
    padding: 0 15px calc(6vw + 20px);
  }
  .main .panel-vertical.white-bg-img.square.col1-4 .txt {
    padding: 0 15px calc(6vw + 20px);
  }
  .main .panel-vertical.white-bg-img.square.col1-4 .txt::before {
    right: 25px;
    bottom: 26px;
  }
  .main .panel-vertical.white-bg-img.square.col1-4 .txt::after {
    right: 20px;
    bottom: 23px;
  }
  .main .panel-vertical.staff .img {
    padding-bottom: 56%;
  }
  .main .panel-vertical.staff .img img {
    width: 140px;
    border-radius: 70px;
  }
  .main .panel-vertical.staff > a:hover .img img, .main .panel-vertical.staff > a:active .img img {
    -webkit-transform: translate(-50%, -50%) scale(1) !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .main .panel-vertical.staff .txt {
    margin-top: 0;
    padding: 0 15px calc(12vw + 20px);
  }
  /* [PL2] パネル > 画像左右 */
  .main .panel-horizontal {
    margin-bottom: 4vw;
    border-radius: 10px;
  }
  .main .panel-horizontal,
  .main .panel-horizontal > a {
    display: block;
  }
  .main .panel-horizontal:before,
  .main .panel-horizontal > a:before {
    content: none;
  }
  .main .panel-horizontal > a::after {
    right: 13px;
    bottom: 13px;
    width: 27px;
    height: 27px;
    border-radius: 13.5px;
  }
  .main .panel-horizontal .img {
    width: auto !important;
  }
  .main .panel-horizontal .img > a {
    position: relative;
  }
  .main .panel-horizontal .img div {
    position: relative;
    width: 100%;
    height: 0;
    padding: 52% 0 0;
  }
  .main .panel-horizontal .txt {
    left: 0 !important;
    width: auto !important;
    height: auto;
    margin-top: 0;
    padding: 5px 15px calc(14vw + 20px);
  }
  .main .panel-horizontal .txt::before {
    right: 25px;
    bottom: 26px;
    width: 7px;
  }
  .main .panel-horizontal .txt::after {
    right: 20px;
    bottom: 23px;
    border-width: 3.4px 0 3.4px 5px;
  }
  .main .panel-horizontal .txt .heading {
    margin: 12px 0 0 !important;
    font-size: 1rem;
  }
  .main .panel-horizontal p {
    margin: 10px 0 0;
  }
  .main .panel-horizontal .label {
    margin: 12px 0 0 !important;
  }
  .main .panel-horizontal .badge {
    top: auto !important;
    left: 50% !important;
  }
  .main .panel-horizontal .badge + .txt {
    padding-left: 15px !important;
    padding-right: 15px !important;
    padding-top: 40px !important;
  }
  .main .panel-horizontal .date {
    left: 15px;
    bottom: 12px;
    font-size: 0.88rem;
  }
  .main .panel-horizontal ul.tags {
    margin: 8px 0 0 !important;
  }
  .main .panel-horizontal .desc {
    margin: 8px 0 0 !important;
  }
  .main .panel-horizontal.no-link .txt {
    padding: 20px 15px;
  }
  .main .panel-horizontal.sp-horizontal > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .main .panel-horizontal.sp-horizontal.height-auto .img {
    padding: 15px;
  }
  .main .panel-horizontal.sp-horizontal .img.col1-2, .main .panel-horizontal.sp-horizontal .txt.col1-2 {
    width: 50% !important;
  }
  .main .panel-horizontal.sp-horizontal .txt {
    padding: 15px 15px 20px 15px !important;
  }
  .main .panel-horizontal.sp-horizontal .txt .heading span.sub {
    font-size: 0.75rem;
  }
  .main .panel-horizontal.sp-horizontal .txt::before {
    right: 25px;
    bottom: 26px;
    width: 7px;
  }
  .main .panel-horizontal.sp-horizontal .txt::after {
    right: 20px;
    bottom: 23px;
    border-width: 3.4px 0 3.4px 5px;
  }
  .main .panel-horizontal.sp-horizontal .txt.middle {
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-self: stretch !important;
  }
  .main .row .panel-horizontal {
    margin-bottom: 4vw;
  }
  .main .panel-vertical.sp-horizontal.staff .img {
    padding: 0 15px;
  }
  .main .panel-vertical.sp-horizontal.staff .img img {
    top: 15px;
    left: 15px;
    width: calc(100% - 30px);
    -webkit-transform: translate(0) scale(1) !important;
    transform: translate(0) scale(1) !important;
    -webkit-transition: none;
    transition: none;
  }
  .main .panel-vertical.sp-horizontal.staff > a:hover .img img, .main .panel-vertical.sp-horizontal.staff > a:active .img img {
    -webkit-transform: translate(0) scale(1) !important;
    transform: translate(0) scale(1) !important;
  }
  .main .panel-vertical.sp-horizontal.staff .txt {
    display: block;
    margin-top: 0;
    padding: 15px 15px 15px 0;
  }
  .main .panel-vertical.sp-horizontal.staff .txt .label span {
    padding: 3px 12px;
  }
  .main .panel-vertical.sp-horizontal.staff .txt .profile {
    font-size: 0.81rem;
  }
  .main .panel-vertical.sp-horizontal.staff .txt .profile dt {
    display: inline-block;
    padding: 0 1em 0 0 !important;
  }
  .main .panel-vertical.sp-horizontal.staff .txt .profile dd {
    display: inline-block;
  }
  .main .panel-vertical.sp-horizontal.staff .txt .profile dd + dd {
    display: block;
    padding-right: 30px;
  }
  /* [PL4] パネル > 背景画像 */
  .main .panel-covered {
    margin-bottom: 4vw;
    border-radius: 10px;
  }
  .main .panel-covered > a::after {
    right: 13px;
    bottom: 13px;
    width: 27px;
    height: 27px;
    border-radius: 13.5px;
  }
  .main .panel-covered.square::before {
    padding-bottom: 75%;
  }
  .main .panel-covered.square > a::before {
    padding-bottom: 75%;
  }
  .main .panel-covered.square.sp-col1-2 .heading {
    margin-bottom: 13px;
    font-size: 1rem;
  }
  .main .panel-covered .txt {
    padding: 15px 15px 0;
  }
  .main .panel-covered .txt::before {
    right: 25px;
    bottom: 26px;
    width: 7px;
  }
  .main .panel-covered .txt::after {
    right: 20px;
    bottom: 23px;
    border-width: 3.4px 0 3.4px 5px;
  }
  .main .panel-covered .txt.bottom {
    padding: 0 45px 0 15px;
  }
  .main .panel-covered .link-horizontal {
    margin: 0 -15px;
    padding: 12px 5px 2px 15px;
  }
  .main .panel-covered .tag {
    margin: 0 -15px;
    padding: 10px 7px 2px 15px;
  }
  .main .panel-covered.sp-horizontal {
    background-color: #fff;
  }
  .main .panel-covered.sp-horizontal::before {
    content: none !important;
  }
  .main .panel-covered.sp-horizontal a {
    min-height: 130px;
  }
  .main .panel-covered.sp-horizontal a::before {
    content: none !important;
  }
  .main .panel-covered.sp-horizontal a .img {
    position: relative;
    width: 35%;
    height: auto;
    margin-bottom: 0;
  }
  .main .panel-covered.sp-horizontal a .img.video::after {
    width: 50px;
    height: 50px;
    top: 50%;
    margin: -25px 0 0 -25px;
  }
  .main .panel-covered.sp-horizontal a .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 65%;
    padding: 15px 45px 20px 15px !important;
  }
  .main .panel-covered.sp-horizontal a .txt.bottom {
    margin-top: 0;
    background-image: none;
    -ms-flex-item-align: stretch !important;
    -ms-grid-row-align: stretch !important;
    align-self: stretch !important;
  }
  .main .panel-covered.sp-horizontal a .txt .heading {
    margin-bottom: 0;
    color: #000 !important;
    font-size: 1rem;
    line-height: 1.4;
  }
  .main .panel-covered.sp-horizontal a .txt .heading span.sub {
    color: #999 !important;
    font-size: 0.75rem;
  }
  .main .col-set:not(.no-gutter) .panel-covered {
    margin-bottom: 15px;
  }
  /* パネル > 画像横並び */
  .col-box .panel-vertical.col1-3, .col-box .panel-vertical.col1-4 {
    min-height: 88px;
  }
  .col-box .panel-vertical.col1-3 a, .col-box .panel-vertical.col1-4 a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px;
  }
  .col-box .panel-vertical.col1-3 .img, .col-box .panel-vertical.col1-4 .img {
    position: initial;
    padding: 0;
    height: 63px;
    min-width: 120px;
    border-radius: 10px;
  }
  .col-box .panel-vertical.col1-3 .img img, .col-box .panel-vertical.col1-4 .img img {
    position: relative;
    width: 120px;
  }
  .col-box .panel-vertical.col1-3 .txt, .col-box .panel-vertical.col1-4 .txt {
    padding: 0 0 0 12px;
    width: 100%;
  }
  .col-box .panel-vertical.col1-3 .txt::before, .col-box .panel-vertical.col1-4 .txt::before {
    bottom: 16px;
    right: 15px;
  }
  .col-box .panel-vertical.col1-3 .txt::after, .col-box .panel-vertical.col1-4 .txt::after {
    bottom: 13px;
    right: 10px;
  }
  .col-box .panel-vertical.col1-3 .txt .heading, .col-box .panel-vertical.col1-4 .txt .heading {
    margin-top: 0;
    font-size: 1rem;
  }
  .col-box .panel-vertical.col1-3 .txt .label, .col-box .panel-vertical.col1-4 .txt .label {
    margin-bottom: -6px !important;
  }
  .col-box .panel-vertical.col1-3 .date, .col-box .panel-vertical.col1-4 .date {
    position: relative;
    left: 0;
    bottom: 0;
  }
  /* [PL] パネル - 共通設定 */
  .main .panel-vertical .txt .label,
  .main .panel-horizontal .txt .label,
  .main .panel-covered .txt .label {
    margin-bottom: 15px;
  }
  .main .panel-vertical .txt .label span,
  .main .panel-horizontal .txt .label span,
  .main .panel-covered .txt .label span {
    font-size: 0.75rem;
  }
  /* ----- [TB] 表 ----- */
  .main table {
    margin-bottom: 8vw;
  }
  .main table th {
    white-space: normal;
  }
  .main table.no-border {
    display: block;
  }
  .main table.no-border thead, .main table.no-border tbody, .main table.no-border tr, .main table.no-border th, .main table.no-border td {
    display: block;
  }
  .main table.no-border th {
    padding: 0 0 5px 0;
  }
  .main table.no-border td {
    padding: 0 0 15px 0;
  }
  .main table.no-border tr:last-child th {
    padding-bottom: 5px;
  }
  .main table.no-border tr:last-child td {
    padding-bottom: 0;
  }
  .main .scroll table th {
    white-space: nowrap;
  }
  /* 水平スクロールバー */
  .main .scroll {
    margin: 0 0 8vw;
    overflow-x: auto;
  }
  .main .scroll::-webkit-scrollbar {
    height: 5px;
  }
  .main .scroll::-webkit-scrollbar-track {
    background: #eeeff1;
    -webkit-border-radius: 100px;
  }
  .main .scroll::-webkit-scrollbar-thumb {
    background: #999;
    -webkit-border-radius: 100px;
  }
  .main .scroll > * {
    min-width: 738px;
    margin-bottom: 15px;
  }
  /* ----- [NV1] コンテンツナビゲーション ----- */
  .main .nav-content {
    margin-bottom: 8vw;
    overflow: hidden;
  }
  .main .nav-content ul {
    width: calc(100% + 1px);
    margin-bottom: -1px;
    border-left: 0 none !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .main .nav-content li {
    width: 50%;
    min-height: 50px;
  }
  .main .nav-content a {
    padding: 5px 10px;
  }
  .main .nav-content.link-internal a {
    padding-right: 30px;
  }
  .main .nav-content ul li:nth-of-type(2n) a {
    border-right: 0 none !important;
  }
  .main .nav-content.link-internal a:after {
    position: absolute;
    top: 50%;
    right: 5px;
    margin: -12px 0 0;
  }
  html:not(.sp) .main .nav-content.link-internal a:hover:after {
    margin-top: -9px;
  }
  .main .nav-content a {
    border-bottom: solid 1px #fff;
  }
  .main .nav-content .current a {
    border-color: #59bdc6 !important;
  }
  html:not(.sp) .main .nav-content a:hover {
    border-color: #8bd1d7 !important;
  }
  .main .nav-content.bg-dark a {
    border-color: #5f6768;
  }
  /* ----- [NV2] タブ ----- */
  .main .tab {
    margin-bottom: 8vw;
  }
  .main .row .tab {
    margin-bottom: 8vw;
  }
  .main .sp-accordion .tab-nav {
    display: none;
  }
  .main .tab-nav li {
    min-height: 50px;
  }
  .main .tab-nav li a {
    padding: 5px 15px;
    border-radius: 10px 10px 0 0;
    font-size: 1rem;
  }
  .main .tab-content {
    border-radius: 0 0 10px 10px;
  }
  .main .tab-container {
    margin: 0 -15px;
  }
  .main .row .tab .tab-container {
    margin: 0;
  }
  .main .tab-element {
    padding: 15px 15px 5px !important;
  }
  .main .sp-accordion .tab-slider {
    width: auto;
  }
  .main .sp-accordion .sp-tab-nav {
    display: block;
    margin: 0;
  }
  .main .sp-accordion .sp-tab-nav a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    min-height: 50px;
    padding: 5px 50px 5px 15px;
    color: #fff !important;
    text-decoration: none;
    text-align: center;
    background-color: #545454;
    border-top: solid 1px #5f6768;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: background-color .2s linear, border-top-color .2s linear;
    transition: background-color .2s linear, border-top-color .2s linear;
  }
  html:not(.sp) .main .sp-accordion .sp-tab-nav:not(.current) a:hover {
    background-color: #5f6768;
  }
  .main .sp-accordion .sp-tab-nav:first-of-type a,
  .main .sp-accordion .sp-tab-nav.current + .tab-element + .sp-tab-nav a {
    border-top-color: #545454;
  }
  .main .sp-accordion .sp-tab-nav.current a {
    background-color: #59bdc6;
    border-top-color: #59bdc6 !important;
  }
  .main .sp-accordion .sp-tab-nav a span {
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    top: 50%;
    right: 10px;
    margin-top: -15px;
    border: solid 1.5px rgba(255, 255, 255, 0.5);
    border-radius: 50%;
  }
  .main .sp-accordion .sp-tab-nav a span:before, .main .sp-accordion .sp-tab-nav a span:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    background-color: #fff;
    border-radius: 2px;
  }
  .main .sp-accordion .sp-tab-nav a span:before {
    width: 12px;
    height: 2px;
    margin: -1px 0 0 -6px;
  }
  .main .sp-accordion .sp-tab-nav a span:after {
    width: 2px;
    height: 12px;
    margin: -6px 0 0 -1px;
    -webkit-transition: -webkit-transform .2s linear;
    transition: -webkit-transform .2s linear;
    transition: transform .2s linear;
    transition: transform .2s linear, -webkit-transform .2s linear;
  }
  html:not(.sp) .main .sp-accordion .sp-tab-nav a:hover span:after,
  .main .sp-accordion .sp-tab-nav.current a span:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .main .sp-accordion .tab-element {
    float: none;
    width: auto;
  }
  /* ----- [FM] フォーム ----- */
  .main .form dl.border-set {
    margin-bottom: 8vw;
  }
  .main .form dl.border-set > dt {
    padding: 15px 0 5px;
  }
  .main .form dl.border-set .required:after {
    margin-top: 5px;
    font-size: 0.75rem;
  }
  /* ----- [EB1] 動画埋め込み ----- */
  .main .embed-video {
    margin-bottom: 8vw;
  }
  /* ----- [EB2] モーダル ----- */
  .mfp-inline-holder .mfp-content .content {
    padding: 15px 8vw 0;
  }
  /* ----- [SL] スライダー ----- */
  .main .slider {
    margin-bottom: 8vw;
  }
  .main .row .slider {
    margin-left: -15px;
    margin-right: -15px;
  }
  .main .slider .slick-list {
    margin: 0;
    overflow: visible;
  }
  .main .slider .slick-slide.panel-vertical {
    -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
    -webkit-transition: none;
    transition: none;
  }
  .main .slider .slick-slide.panel-vertical.slick-active {
    -webkit-transition: none;
    transition: none;
  }
  .main .slider .slick-controller {
    margin-top: 20px;
    padding-right: 0;
  }
  .main .slider .slick-dots li button:hover::before, .main .slider .slick-dots li button:active::before {
    opacity: 0;
  }
  .main .slider .slick-dots li.slick-active button::before {
    opacity: 1;
  }
}

/*---------------------------------------------
	480px未満
  ---------------------------------------------*/
@media screen and (max-width: 479px) {
  /* ----- [BT] ボタン ----- */
  .main .btn > * {
    width: 100%;
    margin-right: 0;
  }
  /* ----- [FM] フォーム ----- */
  .main .form input[type="text"],
  .main .form textarea {
    max-width: 100%;
  }
}

/*---------------------------------------------
	印刷用
  ---------------------------------------------*/
@media print {
  * {
    -webkit-print-color-adjust: exact;
  }
  body {
    width: 1024px;
    background-color: #fff;
  }
  .slick-track {
    width: 50000px !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
  }
  .slider .col1-2 {
    width: 482px !important;
  }
  .slider .col1-3 {
    width: 314.66666666px !important;
  }
  .slider .col1-4 {
    width: 231px !important;
  }
  .slider .col1-5 {
    width: 180.8px !important;
  }
  .slider .col1-6 {
    width: 147.33333333px !important;
  }
  .slick-list {
    padding: 0 !important;
  }
  .slick-arrow {
    display: none !important;
  }
  .slick-dots {
    display: none !important;
  }
}

/*---------------------------------------------
	Bug Fix
  ---------------------------------------------*/
.main .panel-vertical,
.main .panel-covered,
.main .panel-horizontal,
.main .btn > * {
  z-index: 1;
}

/*---------------------------------------------
	import
  ---------------------------------------------*/
/*---------------------------------------------
	Base styles
  ---------------------------------------------*/
/* ---- common ---- */
.common-section {
  padding: 80px 0 70px;
}

.bg-white {
  background-color: #fff !important;
}

.bg-gray-1 {
  background-color: #eeeff1 !important;
}

.bg-gray-2 {
  background-color: #e4e4e4 !important;
}

.bg-gray-3 {
  background-color: #dfe0e4 !important;
}

img.bg {
  display: none;
}

@media screen and (max-width: 767px) {
  .common-section {
    padding: 13vw 0 calc(13vw - 10px);
  }
}

/* ---- header navigation ---- */
.header-navigation {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  padding-top: 20px;
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.23, 1, 0.58, 1);
  transition: -webkit-transform 0.45s cubic-bezier(0.23, 1, 0.58, 1);
  transition: transform 0.45s cubic-bezier(0.23, 1, 0.58, 1);
  transition: transform 0.45s cubic-bezier(0.23, 1, 0.58, 1), -webkit-transform 0.45s cubic-bezier(0.23, 1, 0.58, 1);
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.header-navigation.header-navigation-withdrow {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

.header-navigation .bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 990px;
  height: 70px;
  margin: 0 auto;
}

.header-navigation .bar-bg {
  position: absolute;
  left: 50%;
  top: 20px;
  z-index: 0;
  width: 990px;
  height: 70px;
  border-radius: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 10px 50px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.3);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: width .1s ease-out, height .1s ease-out;
  transition: width .1s ease-out, height .1s ease-out;
}

.header-navigation .show + .bar-bg {
  -webkit-transition: width .2s ease-out, height .2s ease-out;
  transition: width .2s ease-out, height .2s ease-out;
}

.header-navigation .site-id {
  width: 120px;
  margin: 0 auto 0 35px;
  padding-top: 3px;
}

.header-navigation .global-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header-navigation .global-nav > li {
  height: 70px;
  padding: 0 17px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header-navigation .global-nav a {
  display: block;
  position: relative;
  color: #000;
  font-size: 0.88rem;
  font-weight: bold;
  text-decoration: none;
  -webkit-transition: color .2s;
  transition: color .2s;
}

.header-navigation .global-nav a:hover, .header-navigation .global-nav a:active, .header-navigation .global-nav a.open {
  color: #f03;
}

.header-navigation .global-nav a.current {
  color: #f03;
}

.header-navigation .global-nav a.current::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 3px);
  bottom: -6px;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background-color: #f03;
}

.header-navigation button.search {
  display: block;
  position: relative;
  width: 40px;
  height: 70px;
  margin: 0 45px 0 25px;
  padding: 2px 0 0 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /*
		&.open::after {
			content: "";
			display: block;
			position: absolute;
			left: calc(50% - 3px);
			bottom: 16px;
			width: 6px;
			height: 6px;
			border-radius: 3px;
			background-color: $color-red;
		}
		*/
}

.header-navigation button.search span {
  display: block;
  width: 20px;
  height: 20px;
  margin: 0 auto;
  overflow: hidden;
}

.header-navigation button.search img {
  display: block;
  width: 20px;
  height: 60px;
  margin-top: 0;
}

.header-navigation button.search:hover img, .header-navigation button.search:active img, .header-navigation button.search.open img {
  margin-top: -20px;
}

.header-navigation #btn-menu {
  display: none;
}

@media screen and (max-width: 1009px) {
  .header-navigation {
    padding-top: 0;
    -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
    transform: none;
    /*
		&.scrolled {
			box-shadow: 0 5px 30px rgba(0,0,0,.1);
		}
		*/
  }
  .header-navigation.header-navigation-withdrow {
    -webkit-transform: none;
    transform: none;
  }
  .header-navigation .bar {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: auto;
    height: 60px;
    background-color: #fff;
  }
  .header-navigation .bar-bg {
    display: none;
  }
  .header-navigation .site-id {
    width: 116px;
    margin: 0 0 0 28px;
    padding-top: 4px;
  }
  .header-navigation .global-nav {
    display: none;
  }
  .header-navigation button.search {
    width: 56px;
    height: 60px;
    margin: 0 56px 0 0;
  }
  .header-navigation button.search span {
    width: 28px;
    height: 28px;
  }
  .header-navigation button.search img {
    width: 28px;
    height: 84px;
  }
  .header-navigation button.search:hover img, .header-navigation button.search:active img {
    margin-top: 0;
  }
  .header-navigation button.search.open img {
    margin-top: -28px;
  }
  .header-navigation button.search.open::after {
    bottom: 10px;
  }
  .header-navigation #btn-menu {
    display: block;
  }
}

/* ---- megamenu ---- */
.megamenu {
  position: absolute;
  left: 50%;
  top: 90px;
  z-index: 1;
  width: 1090px;
  height: 0;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.megamenu.show {
  height: auto;
}

.megamenu > div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  padding: 10px 50px 40px 50px;
  opacity: 0;
  -webkit-transition: opacity .1s 0s ease-out;
  transition: opacity .1s 0s ease-out;
  pointer-events: none;
}

.megamenu > div::before {
  content: "";
  display: block;
  position: absolute;
  left: 50px;
  top: 0;
  width: calc(100% - 100px);
  height: 1px;
  background-color: #e5e5e5;
}

.megamenu > div.open {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity .2s .1s ease-out;
  transition: opacity .2s .1s ease-out;
}

.megamenu > div .head {
  display: none;
}

.megamenu > div > .col-set > div > ul,
.megamenu dl {
  line-height: 1.3;
}

.megamenu > div > .col-set > div > ul > li,
.megamenu dt {
  margin-top: 20px;
  color: #000;
  font-size: 0.94rem;
  font-weight: bold;
}

.megamenu > div > .col-set > div > ul > li a,
.megamenu dt a {
  color: #000;
  text-decoration: none;
}

.megamenu > div > .col-set > div > ul > li a:hover, .megamenu > div > .col-set > div > ul > li a:active,
.megamenu dt a:hover,
.megamenu dt a:active {
  color: #000;
  text-decoration: underline;
}

.megamenu dd {
  margin-top: 20px;
  font-size: 0.88rem;
}

.megamenu dd a {
  color: #686868;
  text-decoration: none;
}

.megamenu dd a:hover, .megamenu dd a:active {
  color: #686868;
  text-decoration: underline;
}

.megamenu li {
  margin-top: 10px;
}

.megamenu li:first-child {
  margin-top: 0;
}

.megamenu > .search {
  padding: 60px 0;
}

.megamenu > .search form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 570px;
  margin: 0 auto;
}

.megamenu > .search input {
  width: 470px;
  height: 50px;
  padding: 0 15px;
  border-style: none;
  border-radius: 10px 0 0 10px;
  background-color: #eeeff1;
  font-size: 1rem;
  line-height: 50px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.megamenu > .search input::-webkit-input-placeholder {
  color: #bbb;
}

.megamenu > .search input:-ms-input-placeholder {
  color: #bbb;
}

.megamenu > .search input::-ms-input-placeholder {
  color: #bbb;
}

.megamenu > .search input::placeholder {
  color: #bbb;
}

.megamenu > .search button {
  position: relative;
  width: 100px;
  height: 50px;
  padding: 0 0 0 25px;
  border-style: none;
  border-radius: 0 10px 10px 0;
  background-color: #6e6e6e;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1;
  color: #fff;
  font-size: 0.88rem;
  letter-spacing: .1em;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.megamenu > .search button::before {
  content: "";
  display: block;
  position: absolute;
  left: 20px;
  top: 15px;
  width: 20px;
  height: 20px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_search.png);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 20px 60px;
}

.megamenu > .search button:hover, .megamenu > .search button:active {
  background-color: #f03;
}

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

/* ---- hamburger menu ---- */
.hamburger {
  display: none;
}

@media screen and (max-width: 1009px) {
  .hamburger {
    display: block;
    position: absolute;
    left: 0;
    top: 60px;
    z-index: 9001;
    width: 100%;
    height: 0;
    overflow: hidden;
    background-color: #fff;
    -webkit-transition: height .3s ease-out;
    transition: height .3s ease-out;
  }
  .hamburger.open {
    height: auto;
  }
  .hamburger > .global {
    padding: 0 4vw 30px 4vw;
  }
  .hamburger > .global .head {
    display: block;
    position: relative;
    font-size: 1rem;
    font-weight: bold;
  }
  .hamburger > .global .head a {
    display: block;
    padding: 18px 0;
    border-bottom: 1px solid #e5e5e5;
    color: #000;
    text-decoration: none;
  }
  .hamburger > .global .head a:hover, .hamburger > .global .head a:active {
    color: #000;
    text-decoration: none;
  }
  .hamburger > .global .body {
    height: 0;
    overflow: hidden;
    -webkit-transition: height .3s ease-out;
    transition: height .3s ease-out;
  }
  .hamburger > .global button {
    display: block;
    position: absolute;
    right: -4vw;
    top: 0;
    overflow: hidden;
    width: calc(17px + 8vw);
    height: 100%;
    padding: 0;
    border-style: none;
    border-radius: 0;
    background-color: transparent;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: -500px;
  }
  .hamburger > .global button::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 20%;
    width: 1px;
    height: 60%;
    background-color: #e5e5e5;
  }
  .hamburger > .global button::after {
    content: "";
    display: block;
    position: absolute;
    right: calc(6px + 4vw);
    top: calc(50% - 7px);
    width: 10px;
    height: 10px;
    border-right: 2px solid #f03;
    border-bottom: 2px solid #f03;
    -webkit-transform-origin: 70% 70%;
    transform-origin: 70% 70%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }
  .hamburger > .global button.open::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .hamburger .body > div > ul,
  .hamburger dl {
    line-height: 1.3;
  }
  .hamburger .body > div > ul > li,
  .hamburger dt {
    position: relative;
    font-size: 0.94rem;
    font-weight: bold;
  }
  .hamburger .body > div > ul > li a, .hamburger .body > div > ul > li span,
  .hamburger dt a,
  .hamburger dt span {
    display: block;
    padding: 16px 50px 16px 30px;
    border-bottom: 1px solid #e5e5e5;
    color: #545454;
    text-decoration: none;
  }
  .hamburger .body > div > ul > li a:hover, .hamburger .body > div > ul > li a:active, .hamburger .body > div > ul > li span:hover, .hamburger .body > div > ul > li span:active,
  .hamburger dt a:hover,
  .hamburger dt a:active,
  .hamburger dt span:hover,
  .hamburger dt span:active {
    color: #545454;
    text-decoration: none;
  }
  .hamburger dd {
    height: 0;
    overflow: hidden;
    font-size: 0.88rem;
    -webkit-transition: height .3s ease-out;
    transition: height .3s ease-out;
  }
  .hamburger dd a {
    display: block;
    padding: 12px 0 12px 60px;
    border-bottom: 1px solid #e5e5e5;
    color: #686868;
    text-decoration: none;
  }
  .hamburger dd a:hover, .hamburger dd a:active {
    color: #686868;
    text-decoration: none;
  }
  .hamburger > .search {
    padding: 8vw 4vw;
  }
  .hamburger > .search form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 90%;
    max-width: 570px;
    margin: 0 auto;
  }
  .hamburger > .search input {
    width: calc(100% - 80px);
    height: 44px;
    padding: 0 15px;
    border-style: none;
    border-radius: 7px 0 0 7px;
    background-color: #eeeff1;
    font-size: 1rem;
    line-height: 44px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .hamburger > .search input::-webkit-input-placeholder {
    color: #bbb;
  }
  .hamburger > .search input:-ms-input-placeholder {
    color: #bbb;
  }
  .hamburger > .search input::-ms-input-placeholder {
    color: #bbb;
  }
  .hamburger > .search input::placeholder {
    color: #bbb;
  }
  .hamburger > .search button {
    position: relative;
    width: 80px;
    height: 44px;
    padding: 0 0 0 15px;
    border-style: none;
    border-radius: 0 7px 7px 0;
    background-color: #6e6e6e;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    line-height: 1;
    color: #fff;
    font-size: 0.88rem;
    letter-spacing: .1em;
  }
  .hamburger > .search button::before {
    content: "";
    display: block;
    position: absolute;
    left: 10px;
    top: 12px;
    width: 20px;
    height: 20px;
    background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_search.png);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 20px 60px;
  }
  .hamburger .col-set {
    width: 100%;
  }
  .hamburger .col1-2,
  .hamburger .col1-3,
  .hamburger .col2-3,
  .hamburger .col1-4,
  .hamburger .col3-4,
  .hamburger .col1-5,
  .hamburger .col1-6 {
    width: 100%;
    margin: 0;
  }
}

.hamburger-cover {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9000;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.7);
}

.hamburger-cover.show {
  display: block;
  -webkit-animation: cover-show .3s ease-out both;
  animation: cover-show .3s ease-out both;
}

.hamburger-cover.hide {
  -webkit-animation: cover-hide .3s ease-out both;
  animation: cover-hide .3s ease-out both;
}

@-webkit-keyframes cover-show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes cover-show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes cover-hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes cover-hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* ---- page header ---- */
.page-header {
  padding: 120px 10px 30px;
  background-color: #f03;
}

.page-header .inner {
  max-width: 990px;
  margin: 0 auto;
}

@media screen and (max-width: 1009px) {
  .page-header {
    padding: 90px 30px 30px;
  }
}

@media screen and (max-width: 767px) {
  .page-header {
    padding: calc(60px + 4vw) 15px 4vw;
  }
}

/* ---- breadcrumbs ---- */
.breadcrumbs {
  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;
  color: #fff;
  font-size: 0.75rem;
}

.breadcrumbs li {
  position: relative;
  padding-right: 2.6em;
}

.breadcrumbs li::after {
  content: "";
  display: block;
  position: absolute;
  right: 1em;
  top: calc(50% - .3em);
  width: .6em;
  height: .6em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: scale(1, 0.8) rotate(45deg);
  transform: scale(1, 0.8) rotate(45deg);
}

.breadcrumbs li:first-child {
  height: 1.5em;
}

.breadcrumbs li:first-child::after {
  right: 1.3em;
  top: 50%;
  width: 0;
  height: 100%;
  border-top-style: none;
  border-right: 1px solid #fff;
  opacity: .7;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.breadcrumbs li:first-child a {
  display: block;
  width: 18px;
  height: 100%;
  overflow: hidden;
  text-indent: -100px;
}

.breadcrumbs li:first-child a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 100%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_home.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 100%;
}

.breadcrumbs li:last-child {
  padding-right: 0;
  font-weight: bold;
}

.breadcrumbs li:last-child::after {
  content: none;
}

.breadcrumbs li a {
  color: #fff;
  text-decoration: none;
}

.breadcrumbs li a:hover, .breadcrumbs li a:active {
  color: #fff;
  text-decoration: underline;
}

/* ---- local title ---- */
.local-title {
  display: table;
  width: 100%;
  margin-top: 30px;
}

.local-title .title {
  display: table-cell;
  vertical-align: bottom;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
}

.local-title ul {
  display: table-cell;
  vertical-align: bottom;
  font-size: 0.94rem;
  line-height: 1;
  text-align: right;
}

.local-title ul li {
  display: inline-block;
  padding: 10px 0 0 22px;
}

.local-title ul a {
  color: #fff;
  text-decoration: none;
}

.local-title ul a:hover, .local-title ul a:active {
  color: #fff;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .local-title {
    display: block;
    margin-top: 30px;
  }
  .local-title .title {
    display: block;
    font-size: 1.38rem;
  }
  .local-title ul {
    display: block;
    font-size: 0.81rem;
  }
  .local-title ul li {
    padding: 10px 0 0 16px;
  }
  .local-title ul a:hover, .local-title ul a:active {
    text-decoration: none;
  }
}

/* ---- level 2 page title ---- */
.page-title-lv2 {
  position: relative;
  z-index: 0;
  height: 560px;
  background-position: 50% 50%;
  background-size: cover;
  color: #fff;
}

.page-title-lv2 .inner {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 990px;
  margin: 0 auto;
  padding: 140px 30px 0;
}

.page-title-lv2 .inner.has-desc {
  padding-top: 100px;
}

.page-title-lv2 h1 .jp {
  display: block;
  font-size: 2.375rem;
  font-weight: bold;
  line-height: 1.3;
  text-shadow: #454e3c 0px 0px 12px;
}

.page-title-lv2 h1 .en {
  display: block;
  margin-top: 15px;
  font-family: 'Roboto', sans-serif !important;
  font-size: 0.94rem;
  font-weight: bold;
  letter-spacing: .05em;
  line-height: 1.3;
  text-shadow: #454e3c 0px 0px 12px;
}

.page-title-lv2 p {
  margin-top: 25px;
  font-size: 0.94rem;
  font-weight: bold;
  line-height: 1.7;
}

.page-title-lv2 + * {
  position: relative;
  z-index: 1;
  margin-top: -130px;
}

@media screen and (max-width: 767px) {
  .page-title-lv2 {
    height: auto;
    min-height: 60vw;
  }
  .page-title-lv2 .inner {
    padding: 10vw 15px 24vw;
  }
  .page-title-lv2 .inner.has-desc {
    padding-top: 10vw;
  }
  .page-title-lv2 h1 .en {
    margin-top: 10px;
  }
  .page-title-lv2 + * {
    margin-top: -10vw;
  }
}

/* ---- level 3 page title ---- */
.page-title-lv3 {
  background-color: #eeeff1;
}

.page-title-lv3 .txt {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 990px;
  margin: 0 auto;
  padding: 30px 30px;
}

.page-title-lv3 .txt .label {
  display: inline-block;
}

.page-title-lv3 .txt .date {
  display: inline-block;
  margin-bottom: 30px;
  padding-left: 10px;
  color: #a9a9a9;
  font-size: 1rem;
  font-weight: bold;
  font-family: 'Roboto', sans-serif;
  letter-spacing: .075em;
  line-height: 1;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
}

.page-title-lv3 .txt .btn-share {
  padding-top: 5px;
}

.page-title-lv3 .txt h1 {
  padding: 20px 0;
  color: #000;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.25;
}

.page-title-lv3 .txt h1 span {
  display: block;
  margin-bottom: 8px;
  color: #545454;
  font-size: 1rem;
}

.page-title-lv3 .txt .tag {
  margin: 20px 0 -16px;
}

.page-title-lv3 .img {
  position: relative;
  margin-bottom: 0;
  padding: 0 30px;
  border-radius: 0;
}

.page-title-lv3 .img img {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  border-radius: 20px;
}

.page-title-lv3 .img::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  height: 50%;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .page-title-lv3 .txt {
    position: relative;
    padding: 5vw 15px;
  }
  .page-title-lv3 .txt .date {
    margin-bottom: 15px;
    padding-left: 5px;
    font-size: 0.88rem;
  }
  .page-title-lv3 .txt .col1-3 {
    margin-bottom: 10px;
  }
  .page-title-lv3 .txt .col2-3 {
    margin-bottom: 0;
  }
  .page-title-lv3 .txt .btn-share {
    margin-bottom: 3vw;
    text-align: right;
    line-height: 1;
  }
  .page-title-lv3 .txt h1 {
    padding: 4vw 0;
    font-size: 1.5rem;
    line-height: 1.3;
  }
  .page-title-lv3 .txt .tag {
    margin: 3vw 0 -10px;
  }
  .page-title-lv3 .img {
    padding: 0 15px;
  }
  .page-title-lv3 .img img {
    border-radius: 10px;
  }
}

/* ---- heading: <h2> in index pages ---- */
.heading-index-page {
  margin-bottom: 45px;
  color: #f03;
  font-weight: bold;
}

.heading-index-page .en {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 2.25rem;
  letter-spacing: .05em;
  line-height: 1.05;
}

.heading-index-page .jp {
  display: block;
  margin-top: 5px;
  font-size: 0.88rem;
  letter-spacing: .075em;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .heading-index-page {
    margin-bottom: 9vw;
  }
  .heading-index-page .en {
    font-size: 2.18rem;
  }
}

/* ---- tag-list page title conspicuous ---- */
.tag-list-page-title {
  text-shadow: #454e3c 0px 0px 12px;
}

/* ---- language button ---- */
.language-button {
  padding-bottom: 50px;
}

.language-button ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
  width: 110px;
}

.language-button ul li {
  width: 44px;
  margin: 0;
  padding: 0;
}

.language-button ul li::before {
  content: none;
}

.language-button ul a {
  display: block;
  width: 46px;
  height: 46px;
  padding-top: 10px;
  border: 1px solid #a9a9a9;
  border-radius: 23px;
  background-color: #eeeff1;
  color: #545454;
  font-size: 0.88rem;
  font-weight: bold;
  letter-spacing: .1em;
  text-indent: .1em;
  text-align: center;
  -webkit-transition: border-color .2s, background-color .2s, color .2s;
  transition: border-color .2s, background-color .2s, color .2s;
}

.language-button ul a:hover, .language-button ul a:active {
  background-color: #a9a9a9;
  color: #fff !important;
  text-decoration: none !important;
}

.language-button ul a.current {
  border-color: #f03;
  background-color: #f03;
  color: #fff;
}

.language-button ul a.current:hover, .language-button ul a.current:active {
  background-color: #f03;
}

.btn-share-footer + .language-button {
  margin-top: -30px;
}

@media screen and (max-width: 767px) {
  .language-button {
    padding-bottom: 10vw;
  }
  .language-button ul a {
    -webkit-transition: none;
    transition: none;
  }
  .language-button ul a:hover, .language-button ul a:active {
    background-color: #eeeff1;
  }
  .btn-share-footer + .language-button {
    margin-top: -5vw;
  }
}

/* ---- share button ---- */
.btn-share-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 0 !important;
  padding-bottom: 60px;
}

.btn-share-footer li {
  width: 45px;
  margin: 0 20px 0 0 !important;
  padding: 0 !important;
}

.btn-share-footer li::before {
  content: none !important;
}

.btn-share-footer li:last-child {
  margin-right: 0 !important;
}

.btn-share-footer a {
  display: block;
  opacity: 1;
  -webkit-transition: opacity .1s ease-out;
  transition: opacity .1s ease-out;
}

.btn-share-footer a:hover, .btn-share-footer a:active {
  opacity: .7;
  -webkit-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out;
}

@media screen and (max-width: 767px) {
  .btn-share-footer {
    padding-bottom: 10vw;
  }
  .btn-share-footer li {
    margin: 0 15px 0 0 !important;
  }
  .btn-share-footer li:last-child {
    margin-right: 0 !important;
  }
}

/* ---- news ticker ---- */
.news-ticker {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 70px;
  margin-bottom: 90px;
  border-radius: 10px;
  background-color: #fff;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.news-ticker .heading-news {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(60px + 8em);
  flex: 0 0 calc(60px + 8em);
  color: #f03;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  width: 300px;
}

.news-ticker .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  overflow: hidden;
}

.news-ticker .txt #news-container {
  display: table;
  font-size: 0.88rem;
  font-weight: bold;
  white-space: nowrap;
  opacity: 0;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.news-ticker .txt #news-container.show {
  opacity: 1;
}

.news-ticker .txt #news-container #news-date {
  display: table-cell;
  padding-right: 30px;
  color: #999;
}

.news-ticker .txt #news-container #news-title a {
  display: table-cell;
  color: #545454;
}

.news-ticker .txt #news-container #news-title a:hover, .news-ticker .txt #news-container #news-title a:active {
  color: #545454;
}

.news-ticker .txt ul {
  height: 0;
  margin: 0;
  overflow: hidden;
}

.news-ticker .ctrl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 125px;
  flex: 0 0 125px;
  margin: 0;
  padding: 0 0 0 25px;
}

.news-ticker .ctrl li {
  margin: 0;
  padding: 0;
}

.news-ticker .ctrl li::before {
  content: none;
}

.news-ticker .ctrl button {
  display: block;
  position: relative;
  width: 25px;
  height: 25px;
  padding: 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  overflow: hidden;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1;
  font-size: 1px;
  text-indent: -400px;
  opacity: 1;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.news-ticker .ctrl button:hover, .news-ticker .ctrl button:active {
  opacity: .5;
}

.news-ticker .ctrl button::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 25px;
  height: 25px;
  background-repeat: no-repeat;
  background-size: 25px auto;
  background-position: 0 0;
}

.news-ticker .ctrl button.prev::after {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_red.svg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.news-ticker .ctrl button.next::after {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_red.svg);
}

.news-ticker .ctrl button.pause::after {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_play-pause_red.svg);
  background-position: 0 100%;
}

.news-ticker .ctrl button.paused::after {
  background-position: 0 0;
}

@media screen and (max-width: 767px) {
  .news-ticker {
    display: block;
    position: relative;
    height: auto;
    margin-bottom: 13vw;
    padding: 15px;
    border-radius: 6px;
  }
  .news-ticker .heading-news {
    text-align: left;
  }
  .news-ticker .txt {
    margin-top: 10px;
  }
  .news-ticker .txt #news-container #news-date {
    padding-right: 20px;
  }
  .news-ticker .ctrl {
    position: absolute;
    right: 0;
    top: 0;
    padding: 5px;
  }
  .news-ticker .ctrl button {
    width: 45px;
    height: 45px;
    -webkit-transition: none;
    transition: none;
  }
  .news-ticker .ctrl button:hover, .news-ticker .ctrl button:active {
    opacity: 1;
  }
  .news-ticker .ctrl button::after {
    top: 10px;
    left: 10px;
  }
}

/* ---- category navigation ---- */
.nav-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% + 15px);
  margin: 0 -15px 70px 0 !important;
  padding: 0;
  font-size: 1rem;
}

.nav-category ul {
  margin-bottom: 0 !important;
}

.nav-category li {
  position: relative;
  margin-bottom: 0 !important;
  padding-left: 0 !important;
}

.nav-category li::before {
  content: none !important;
}

.nav-category .col1-2 {
  width: calc(50% - 15px);
  margin-right: 15px;
}

.nav-category .col1-3 {
  width: calc(33.33333333% - 15px);
  margin-right: 15px;
}

.nav-category .col2-3 {
  width: calc(66.66666666% - 15px);
  margin-right: 15px;
}

.nav-category .col1-4 {
  width: calc(25% - 15px);
  margin-right: 15px;
}

.nav-category .col3-4 {
  width: calc(75% - 15px);
  margin-right: 15px;
}

.nav-category .col1-5 {
  width: calc(20% - 15px);
  margin-right: 15px;
}

.nav-category .col1-6 {
  width: calc(16.66666666% - 15px);
  margin-right: 15px;
}

.nav-category > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  height: 100%;
  padding: 18px 0;
  border-radius: 10px;
  background-color: #fff;
  color: #a9a9a9;
  text-align: center;
  -webkit-transition: background-color .2s, color .2s;
  transition: background-color .2s, color .2s;
}

.nav-category > li > a span {
  line-height: 1.5;
}

.nav-category > li > a:hover, .nav-category > li > a:active, .nav-category > li > a.current {
  background-color: #f03;
  color: #fff !important;
  text-decoration: none !important;
}

.nav-category > li > a.current {
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  font-weight: bold;
}

.nav-category > li > a.current::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 100%;
  width: 18px;
  height: 13px;
  margin-left: -9px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_bubble-pointer.svg);
  background-repeat: no-repeat;
  background-size: 18px 13px;
}

.nav-category > li > a.hasDropdown > span {
  display: inline-block;
  position: relative;
  padding-right: 25px;
}

.nav-category > li > a.hasDropdown > span::after {
  content: "";
  display: block;
  position: absolute;
  right: -5px;
  top: 50%;
  width: 25px;
  height: 25px;
  margin-top: -12.5px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_red.svg);
  background-repeat: no-repeat;
  background-size: 25px 25px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.nav-category > li > a.hasDropdown:hover, .nav-category > li > a.hasDropdown:active {
  background-color: #fff;
  color: #a9a9a9 !important;
}

.nav-category > li > a.hasDropdown.current span::after {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_wh.svg);
}

.nav-category .dropdown {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  border-radius: 10px;
  background-color: #fff;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.nav-category .dropdown .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 18px 0;
  line-height: 1.5;
}

.nav-category .dropdown .head > span {
  display: inline-block;
  position: relative;
  padding-right: 25px;
}

.nav-category .dropdown .head > span::after {
  content: "";
  display: block;
  position: absolute;
  right: -5px;
  top: 50%;
  width: 25px;
  height: 25px;
  margin-top: -12.5px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_red.svg);
  background-repeat: no-repeat;
  background-size: 25px 25px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.nav-category .dropdown ul {
  margin: 0 15px;
  padding: 15px 0;
  border-top: 1px solid #e5e5e5;
}

.nav-category .dropdown ul li {
  padding: 2px 0;
  text-align: center;
}

.nav-category .dropdown ul li a {
  color: #a9a9a9;
  -webkit-transition: color .2s;
  transition: color .2s;
}

.nav-category .dropdown ul li a:hover, .nav-category .dropdown ul li a:active, .nav-category .dropdown ul li a.current {
  color: #f03;
  text-decoration: none;
}

.nav-category .dropdown.show {
  display: block;
  -webkit-animation: dropdown-show .3s ease-out both;
  animation: dropdown-show .3s ease-out both;
}

.nav-category .dropdown.hide {
  display: block;
  -webkit-animation: dropdown-hide .2s ease-out both;
  animation: dropdown-hide .2s ease-out both;
}

@media screen and (max-width: 767px) {
  .nav-category {
    width: calc(100% + 5px);
    margin: 0 -5px 30px 0 !important;
    font-size: 0.88rem;
  }
  .nav-category .col1-2 {
    width: calc(50% - 5px);
    margin-right: 5px;
  }
  .nav-category .col1-3 {
    width: calc(33.33333333% - 5px);
    margin-right: 5px;
  }
  .nav-category .col2-3 {
    width: calc(66.66666666% - 5px);
    margin-right: 5px;
  }
  .nav-category .col1-4 {
    width: calc(25% - 5px);
    margin-right: 5px;
  }
  .nav-category .col3-4 {
    width: calc(75% - 5px);
    margin-right: 5px;
  }
  .nav-category .col1-5 {
    width: calc(20% - 5px);
    margin-right: 5px;
  }
  .nav-category .col1-6 {
    width: calc(16.66666666% - 5px);
    margin-right: 5px;
  }
  .nav-category .sp-col1-2 {
    width: calc(50% - 5px);
    margin-right: 5px;
  }
  .nav-category .sp-col1-3 {
    width: calc(33.3333% - 5px);
    margin-right: 5px;
  }
  .nav-category > li > a {
    -webkit-transition: none;
    transition: none;
  }
  .nav-category > li > a:hover, .nav-category > li > a:active {
    background-color: #fff;
    color: #a9a9a9 !important;
  }
  .nav-category > li > a.current {
    background-color: #f03;
    color: #fff !important;
  }
  .nav-category > li > a.hasDropdown > span {
    padding-right: 0;
  }
  .nav-category > li > a.hasDropdown > span::after {
    right: calc(50% - 12.5px);
    top: calc(100% - 8px);
    margin: 0;
  }
  .nav-category > li > a.hasDropdown > span span {
    display: none;
  }
  .nav-category .dropdown .head > span {
    padding-right: 0;
  }
  .nav-category .dropdown .head > span::after {
    right: calc(50% - 12.5px);
    top: calc(100% - 8px);
    margin: 0;
  }
  .nav-category .dropdown .head > span span {
    display: none;
  }
  .touch .nav-category .dropdown.show .head > span::after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  .nav-category .dropdown ul {
    margin: 0 5px;
    padding: 7px 0;
  }
  .nav-category .dropdown ul li {
    padding: 0;
  }
  .nav-category .dropdown ul li a {
    display: block;
    padding: 7px 0;
    -webkit-transition: none;
    transition: none;
  }
  .nav-category .dropdown ul li a:hover, .nav-category .dropdown ul li a:active {
    color: #a9a9a9;
  }
}

@-webkit-keyframes dropdown-show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes dropdown-show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes dropdown-hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes dropdown-hide {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* ---- page navigation ---- */
.nav-page {
  padding: 40px 0;
  background-color: #eeeff1;
}

.nav-page a {
  display: inline-block;
  position: relative;
  padding-top: 45px;
  color: #545454;
  font-size: 0.94rem;
}

.nav-page a:hover, .nav-page a:active {
  color: #545454 !important;
}

.nav-page a::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 20px);
  top: 0;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: 100%;
}

.nav-page a.prev::before {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_page_prev.svg);
}

.nav-page a.index::before {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_page_index.svg);
}

.nav-page a.next::before {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_page_next.svg);
}

@media screen and (max-width: 767px) {
  .nav-page {
    padding: 6vw 0;
  }
  .nav-page a {
    padding-top: 32px;
    font-size: 0.88rem;
  }
  .nav-page a:hover, .nav-page a:active {
    text-decoration: none;
  }
  .nav-page a::before {
    left: calc(50% - 15px);
    width: 30px;
    height: 30px;
  }
}

/* ---- code ---- */
.code {
  margin-bottom: 50px;
  padding: 10px 20px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background-color: #eeeff1;
}

.code .scroll {
  overflow-x: auto;
}

.code .scroll::-webkit-scrollbar {
  height: 5px;
}

.code .scroll::-webkit-scrollbar-track {
  background: #eeeff1;
  -webkit-border-radius: 100px;
}

.code .scroll::-webkit-scrollbar-thumb {
  background: #59bdc6;
  -webkit-border-radius: 100px;
}

.code pre {
  margin-bottom: 3px;
  font-size: 0.88rem;
}

@media screen and (max-width: 767px) {
  .code {
    margin-bottom: 8vw;
    padding: 10px 15px;
  }
  .code .scroll {
    margin: 0;
  }
}

/* ---- profile ---- */
.profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px;
}

.profile .img {
  width: 120px;
  height: 120px;
  margin-bottom: 0;
  border-radius: 50%;
}

.profile .img img {
  width: 100%;
}

.profile dl {
  display: block;
  width: calc(100% - 120px);
  margin-bottom: 0;
  padding-left: 30px;
}

.profile dl dt {
  width: auto;
  padding: 0;
  color: #000;
  font-size: 0.94rem;
  font-weight: bold;
}

.profile dl dd {
  width: auto;
  padding: 0;
  font-size: 0.81rem;
}

.profile dl dd + dd {
  margin-top: 10px;
}

.profile dl .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
}

.profile dl .links li {
  margin-bottom: 0;
  padding: 0 10px 0 0;
}

.profile dl .links li::before {
  content: none;
}

.profile dl .links a {
  opacity: 1;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.profile dl .links a:hover, .profile dl .links a:active {
  opacity: .6;
}

.profile dl .links img {
  width: 30px;
}

@media screen and (max-width: 767px) {
  .profile {
    margin-bottom: 8vw;
  }
  .profile .img {
    width: 80px;
    height: 80px;
  }
  .profile dl {
    width: calc(100% - 80px);
    padding-left: 15px;
  }
  .profile dl dt {
    padding-bottom: 0 !important;
  }
}

/* ---- download ---- */
.main .download {
  margin-bottom: 50px;
}

.main .download .img {
  width: 140px;
  margin-bottom: 0;
  border: 2px solid #eeeff1;
}

.main .download .img img {
  display: block;
  width: 100%;
}

.main .download dl {
  display: block;
  width: calc(100% - 140px);
  margin-bottom: 0;
  padding-left: 30px;
  line-height: 1.6;
}

.main .download dl dt {
  width: auto;
  padding: 0;
  color: #000;
  font-weight: bold;
  text-decoration: none;
}

.main .download dl dd {
  width: auto;
  padding: 10px 0 0;
  color: #545454;
  text-decoration: none;
}

.main .download a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

html:not(.sp) .main .download a:hover,
html:not(.sp) .main .download a:active {
  color: #545454;
  text-decoration: none;
}

html:not(.sp) .main .download a:hover dt,
html:not(.sp) .main .download a:active dt {
  color: #000;
  text-decoration: none;
}

.main .download .icon-pdf,
.main .download .icon-window {
  position: relative;
  display: inline-block;
}

.main .download .icon-pdf::after,
.main .download .icon-window::after {
  width: 24px;
  height: 24px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
  content: "";
  display: inline-block;
  margin: -3px 0 0 2px;
  vertical-align: middle;
}

.main .download .icon-pdf::after {
  background-position-x: -72px;
  background-position-y: 0;
}

.main .download .icon-window::after {
  background-position-x: -48px;
  background-position-y: 0;
}

@media screen and (max-width: 767px) {
  .main .download {
    margin-bottom: 8vw;
  }
  .main .download .img {
    width: 116px;
  }
  .main .download dl {
    width: calc(100% - 120px);
    padding-left: 15px;
  }
  .main .download a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/* ---- acrobat reader ---- */
.main .acrobat-reader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px;
}

.main .acrobat-reader > a {
  display: block;
  width: 158px;
  margin-right: 30px;
}

.main .acrobat-reader p {
  width: calc(100% - 188px);
  margin: -5px 0 0;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .main .acrobat-reader {
    display: block;
    margin-bottom: 8vw;
  }
  .main .acrobat-reader > a {
    margin: 0 0 10px;
  }
  .main .acrobat-reader p {
    width: auto;
    margin: 0;
    font-size: 0.88rem;
  }
}

/* ---- sns link list ---- */
.sns-link-list {
  margin-bottom: 50px;
}

.sns-link-list li {
  margin-bottom: 0 !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid #e5e5e5;
}

.sns-link-list li::before {
  content: none !important;
}

.sns-link-list dl {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0;
}

.sns-link-list dl dt {
  width: auto;
  padding: 0;
  font-weight: bold;
  color: #000;
}

.sns-link-list dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
  padding: 0;
}

.sns-link-list dd a, .sns-link-list dd span {
  display: block;
  width: 44px;
  height: 44px;
  margin-left: 25px;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: -400px;
}

.sns-link-list a.facebook {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_facebook.png);
}

.sns-link-list a.twitter {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_twitter.png);
}

.sns-link-list a.blog {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_blog.png);
}

.sns-link-list a.line {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_line.png);
}

.sns-link-list a.youtube {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_youtube.png);
}

.sns-link-list a.instagram {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_instagram.png);
}

.sns-link-list span.facebook {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_facebook_disabled.png);
}

.sns-link-list span.twitter {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_twitter_disabled.png);
}

.sns-link-list span.blog {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_blog_disabled.png);
}

.sns-link-list span.line {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_line_disabled.png);
}

.sns-link-list span.youtube {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_youtube_disabled.png);
}

.sns-link-list span.instagram {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_sns_instagram_disabled.png);
}

.sns-link-list dd a {
  opacity: 1;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.sns-link-list dd a:hover, .sns-link-list dd a:active {
  opacity: .6;
}

@media screen and (max-width: 767px) {
  .sns-link-list {
    margin-bottom: 8vw;
  }
  .sns-link-list li {
    padding: 15px 0 !important;
  }
  .sns-link-list li:first-child {
    padding-top: 0 !important;
  }
  .sns-link-list dl {
    display: block;
  }
  .sns-link-list dl dt {
    padding: 0 0 15px;
  }
  .sns-link-list dl dd {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
  .sns-link-list dd a, .sns-link-list dd span {
    width: 36px;
    height: 36px;
    margin-left: 15px;
  }
  .sns-link-list dd a {
    -webkit-transition: none;
    transition: none;
  }
  .sns-link-list dd a:hover, .sns-link-list dd a:active {
    opacity: 1;
  }
}

/* ---- faq ---- */
.main .faq {
  display: block;
  margin-bottom: 50px;
}

.main .faq dt {
  position: relative;
  width: auto;
  padding: 25px 30px 25px 70px !important;
  border-radius: 10px;
  background-color: #eeeff1;
  font-size: 1.13rem;
  font-weight: bold;
}

.main .faq dt::before {
  content: "Q.";
  position: absolute;
  left: 30px;
  top: 22px;
  color: #f03;
  font-size: 1.25rem;
  font-weight: bold;
}

.main .faq dd {
  position: relative;
  width: auto;
  padding: 25px 30px 0 70px !important;
}

.main .faq dd::before {
  content: "A.";
  position: absolute;
  left: 30px;
  top: 22px;
  color: #000;
  font-size: 1.25rem;
  font-weight: bold;
}

.main .faq dd > *:last-child {
  margin-bottom: 0 !important;
}

.main .faq dd a {
  color: #1a75ff;
}

html:not(.sp) .main .faq dd a:hover, html:not(.sp) .main .faq dd a:active {
  color: #1a75ff;
}

.main .faq dd + dt {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .main .faq {
    margin-bottom: 8vw;
  }
  .main .faq dt {
    padding: 10px 10px 10px 35px !important;
    font-size: 1rem;
  }
  .main .faq dt::before {
    left: 10px;
    top: 8px;
    font-size: 1.13rem;
  }
  .main .faq dd {
    padding: 10px 10px 0 35px !important;
  }
  .main .faq dd::before {
    content: "A.";
    left: 10px;
    top: 8px;
    font-size: 1.13rem;
  }
  .main .faq dd + dt {
    margin-top: 20px;
  }
}

/* ---- accordion ---- */
.main .accordion {
  margin-bottom: 50px;
}

.main .accordion .heading {
  position: relative;
  padding: 35px 80px 35px 0;
  color: #000;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
  cursor: pointer;
}

.main .accordion .heading::before {
  content: "";
  display: block;
  position: absolute;
  right: 30px;
  top: 48px;
  width: 19px;
  height: 3px;
  background-color: #f03;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.main .accordion .heading::after {
  content: "";
  display: block;
  position: absolute;
  right: 30px;
  top: 48px;
  width: 19px;
  height: 3px;
  background-color: #f03;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: background-color .2s, -webkit-transform .2s;
  transition: background-color .2s, -webkit-transform .2s;
  transition: background-color .2s, transform .2s;
  transition: background-color .2s, transform .2s, -webkit-transform .2s;
}

.main .accordion .heading:first-child {
  padding: 0 80px 35px 0;
}

.main .accordion .heading:first-child::before, .main .accordion .heading:first-child::after {
  top: 13px;
}

.main .accordion .heading:hover::before, .main .accordion .heading:hover::after, .main .accordion .heading:focus::before, .main .accordion .heading:focus::after {
  background-color: #545454;
}

.main .accordion .heading.open::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}

.main .accordion .body {
  position: relative;
  height: 0;
  border-bottom: 1px solid #e4e4e4;
  overflow: hidden;
  -webkit-transition: height .3s ease-out;
  transition: height .3s ease-out;
}

.main .accordion .body .inner {
  display: none;
  padding: 0 80px 90px 0;
}

.main .accordion .body .inner > *:nth-last-child(2) {
  margin-bottom: 0 !important;
}

.main .accordion .body .inner > button {
  position: absolute;
  right: 30px;
  bottom: 40px;
  padding: 0 25px 0 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #545454;
  font-size: 0.94rem;
  font-weight: bold;
}

html:not(.sp) .main .accordion .body .inner > button:hover, html:not(.sp) .main .accordion .body .inner > button:active, html:not(.sp) .main .accordion .body .inner > button:focus {
  color: #545454;
  text-decoration: underline;
}

.main .accordion .body .inner > button::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 400px 200px;
  background-position: -120px 0;
}

@media screen and (max-width: 767px) {
  .main .accordion {
    margin-bottom: 8vw;
  }
  .main .accordion .heading {
    padding: 18px 30px 18px 0;
    font-size: 1rem;
  }
  .main .accordion .heading::before {
    right: 0;
    top: 28px;
    width: 19px;
    height: 3px;
  }
  .main .accordion .heading::after {
    right: 0;
    top: 28px;
    width: 19px;
    height: 3px;
  }
  .main .accordion .heading:first-child {
    padding: 0 30px 18px 0;
  }
  .main .accordion .heading:first-child::before, .main .accordion .heading:first-child::after {
    top: 10px;
  }
  .main .accordion .heading:hover::before, .main .accordion .heading:hover::after, .main .accordion .heading:focus::before, .main .accordion .heading:focus::after {
    background-color: #f03;
  }
  .main .accordion .body .inner {
    padding: 0 0 55px 0;
  }
  .main .accordion .body .inner > button {
    right: 0;
    bottom: 15px;
  }
  html:not(.sp) .main .accordion .body .inner > button:hover, html:not(.sp) .main .accordion .body .inner > button:active, html:not(.sp) .main .accordion .body .inner > button:focus {
    text-decoration: none;
  }
}

/* ---- voice ---- */
.main .voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px;
}

.main .voice .img {
  width: 120px;
  height: 120px;
  margin: 0 40px 0 0;
  border-radius: 50%;
}

.main .voice .img img {
  width: 100%;
}

.main .voice .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100% - 160px);
  min-height: 120px;
  margin-bottom: 0;
  padding: 40px 50px;
  border-radius: 10px;
  background-color: #eeeff1;
}

.main .voice .txt p {
  margin-bottom: 0;
}

.main .voice .txt::before {
  content: "";
  display: block;
  position: absolute;
  top: 51px;
  left: -12px;
  width: 12px;
  height: 18px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/voice_pointer.svg);
  background-repeat: no-repeat;
  background-size: 12px 18px;
}

.main .voice.img-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.main .voice.img-right .img {
  margin: 0 0 0 40px;
}

.main .voice.img-right .txt::before {
  left: auto;
  right: -12px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
  .main .voice {
    margin-bottom: 8vw;
  }
  .main .voice .img {
    width: 80px;
    height: 80px;
    margin: 0 15px 0 0;
  }
  .main .voice .txt {
    width: calc(100% - 95px);
    min-height: 80px;
    padding: 10px 15px;
  }
  .main .voice .txt::before {
    left: -10px;
    top: 31px;
  }
  .main .voice.img-right .img {
    margin: 0 0 0 15px;
  }
  .main .voice.img-right .txt::before {
    right: -10px;
  }
}

/* ---- chronology ---- */
.main .chronology {
  margin-bottom: 50px;
  line-height: 2.6;
}

.main .chronology dt {
  position: relative;
  width: 140px;
  padding: 0 0 40px 0;
  color: #000;
  font-weight: bold;
}

.main .chronology dt::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 5px;
  width: 1px;
  height: calc(100% - 50px);
  background-color: #e4e4e4;
}

.main .chronology dd {
  width: calc(100% - 140px);
  padding: 0 0 40px 30px;
}

.main .chronology dt:last-of-type {
  padding-bottom: 0;
}

.main .chronology dt:last-of-type::after {
  height: calc(100% - 10px);
}

.main .chronology dd:last-of-type {
  padding-bottom: 0;
}

@media screen and (max-width: 767px) {
  .main .chronology {
    display: block;
    margin-bottom: 8vw;
    line-height: 2;
  }
  .main .chronology dt {
    width: auto;
    padding-bottom: 0 !important;
  }
  .main .chronology dt::after {
    content: none;
  }
  .main .chronology dd {
    width: auto;
    margin-left: 25px;
    padding: 5px 0 20px 20px;
    border-left: 1px solid #e4e4e4;
  }
  .main .chronology dd:last-of-type {
    border-left-style: none;
  }
}

/* ---- schedule ---- */
.main .schedule {
  margin-bottom: 50px;
}

.main .schedule dt {
  position: relative;
  width: 140px;
  padding: 0 0 40px 0;
  color: #000;
  font-weight: bold;
}

.main .schedule dt::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 2px;
  width: 1px;
  height: calc(100% - 42px);
  background-color: #e4e4e4;
}

.main .schedule dd {
  width: calc(100% - 140px);
  padding: 0 0 40px 30px;
}

.main .schedule dt:last-of-type {
  padding-bottom: 0;
}

.main .schedule dt:last-of-type::after {
  height: calc(100% - 10px);
}

.main .schedule dd:last-of-type {
  padding-bottom: 0;
}

.main .schedule .heading {
  margin-bottom: 25px;
  font-weight: bold;
}

.main .schedule dd > *:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .main .schedule {
    display: block;
    margin-bottom: 8vw;
    line-height: 2;
  }
  .main .schedule dt {
    width: auto;
    padding-bottom: 0 !important;
  }
  .main .schedule dt::after {
    content: none;
  }
  .main .schedule dd {
    width: auto;
    margin-left: 25px;
    padding: 5px 0 20px 20px;
    border-left: 1px solid #e4e4e4;
  }
  .main .schedule dd:last-of-type {
    border-left-style: none;
  }
  .main .schedule .heading {
    margin-bottom: 10px;
  }
}

/* ---- slideshare ---- */
.main .slideshare {
  margin: 0 auto 50px;
  width: 100%;
  max-width: 600px;
}

.main .slideshare .inner {
  position: relative;
  height: 0;
  padding-bottom: 80%;
}

.main .slideshare iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .main .slideshare {
    margin-bottom: 8vw;
  }
}

/* ---- index button ---- */
.main .index-button {
  position: relative;
  min-height: 120px;
  margin-bottom: 30px;
  background-color: #fff;
  border-radius: 20px;
  overflow: hidden;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.main .index-button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  color: #000;
  text-decoration: none;
}

html:not(.sp) .main .index-button a:hover, html:not(.sp) .main .index-button a:active {
  color: #000;
  text-decoration: underline;
}

.main .index-button a::after {
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 35px;
  height: 35px;
  margin-top: -17.5px;
  border-radius: 17.5px;
  background-color: #f03;
}

.main .index-button span {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 20px 60px 20px 27px;
  font-size: 1.13rem;
  font-weight: bold;
  line-height: 1.4;
}

.main .index-button span::before {
  content: "";
  display: block;
  position: absolute;
  right: 36px;
  top: 50%;
  z-index: 1;
  width: 10px;
  height: 1px;
  margin-top: -.5px;
  background-color: #fff;
}

.main .index-button span::after {
  content: "";
  display: block;
  position: absolute;
  right: 30px;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  margin-top: -4.5px;
  border-style: solid;
  border-width: 4.4px 0 4.4px 6px;
  border-color: transparent transparent transparent #fff;
}

@media screen and (max-width: 1009px), print {
  .main .index-button {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .main .index-button {
    min-height: 80px;
    margin-bottom: 15px;
    border-radius: 10px;
  }
  .main .index-button a::after {
    right: 13px;
    width: 27px;
    height: 27px;
    margin-top: -13.5px;
    border-radius: 13.5px;
  }
  .main .index-button span {
    padding: 3vw 50px 3vw 15px;
    font-size: 1.25rem;
  }
  .main .index-button span::before {
    right: 25px;
    width: 7px;
  }
  .main .index-button span::after {
    right: 20px;
    margin-top: -3.5px;
    border-width: 3.4px 0 3.4px 5px;
  }
  .main .index-button span br {
    display: none;
  }
}

/* ---- step ---- */
.main .step {
  position: relative;
  margin-bottom: 30px;
  padding: 65px 30px 40px;
  background-color: #e4e4e4;
  border-radius: 3px;
}

.main .step::after {
  content: "";
  display: block;
  position: absolute;
  right: -21px;
  top: 50%;
  width: 0;
  height: 0;
  margin-top: -20px;
  border-style: solid;
  border-width: 20px 0 20px 22px;
  border-color: transparent transparent transparent #e4e4e4;
}

.main .step:last-child::after {
  content: none;
}

.main .step .heading {
  margin-bottom: 10px;
  font-size: 1.13rem;
  font-weight: bold;
  text-align: center;
}

.main .step p {
  margin: 5px 0 0 !important;
  font-size: 0.88rem;
  line-height: 1.4;
  text-align: center;
}

.main .step p.s {
  font-size: 0.75rem !important;
}

@media screen and (max-width: 1009px), print {
  .main .step {
    margin-bottom: 20px;
  }
  .main .step::after {
    right: -16px;
  }
}

@media screen and (max-width: 767px) {
  .main .step {
    margin-bottom: 7vw;
    padding: 6vw 15px 7vw;
  }
  .main .step::after {
    right: 50%;
    top: 100%;
    margin: -1px -6vw 0 0;
    border-width: 5vw 6vw 0 6vw;
    border-color: #e4e4e4 transparent transparent transparent;
  }
  .main .step .heading {
    font-size: 1.25rem;
  }
  .main .step p {
    font-size: 1rem;
  }
  .main .step p.s {
    font-size: 0.88rem !important;
  }
}

/* ---- view more ---- */
.view-more-body {
  height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: height .3s ease-out, opacity .5s ease-out;
  transition: height .3s ease-out, opacity .5s ease-out;
}

/* ---- footer ---- */
.page-footer {
  background-color: #f03;
}

.page-footer .upper {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 990px;
  margin: 0 auto;
  padding: 60px 30px 75px;
}

.page-footer .upper a {
  color: #fff;
  text-decoration: none;
}

.page-footer .upper a:hover, .page-footer .upper a:active {
  color: #fff;
  text-decoration: underline;
}

.page-footer .upper > .col-set > div > ul {
  color: #fff;
}

.page-footer .upper > .col-set > div > ul li {
  font-size: 0.88rem;
  font-weight: bold;
  letter-spacing: .075em;
}

.page-footer .upper > .col-set > div > ul li + li {
  margin-top: 28px;
}

.page-footer .upper > .col-set > div > ul + ul,
.page-footer .upper > .col-set > div > ul + dl {
  margin-top: 28px;
}

.page-footer .upper dl {
  color: #fff;
}

.page-footer .upper dl + ul,
.page-footer .upper dl + dl {
  margin-top: 28px;
}

.page-footer .upper dt {
  font-size: 0.88rem;
  font-weight: bold;
  letter-spacing: .075em;
}

.page-footer .upper dt + dt {
  margin-top: 28px;
}

.page-footer .upper dt button {
  display: none;
}

.page-footer .upper dd {
  padding-top: 20px;
  font-size: 0.75rem;
  letter-spacing: .05em;
}

.page-footer .upper dd li {
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .page-footer .upper {
    display: block;
    padding: 0 15px;
  }
  .page-footer .upper a:hover, .page-footer .upper a:active {
    text-decoration: none;
  }
  .page-footer .upper .col-set {
    width: 100%;
  }
  .page-footer .upper .col-set > div {
    width: 100%;
    margin-right: 0;
  }
  .page-footer .upper > .col-set > :first-child > :first-child > :first-child {
    border-top-style: none;
  }
  .page-footer .upper > .col-set > div {
    margin-bottom: 0;
  }
  .page-footer .upper > .col-set > div > ul,
  .page-footer .upper dl {
    width: 100%;
    margin-right: 0;
    padding-right: 0;
    line-height: 1.3;
  }
  .page-footer .upper > .col-set > div > ul + ul,
  .page-footer .upper > .col-set > div > ul + dl,
  .page-footer .upper dl + ul,
  .page-footer .upper dl + dl {
    margin-top: 0;
  }
  .page-footer .upper > .col-set > div > ul li,
  .page-footer .upper dt {
    position: relative;
    border-top: 1px solid #fff;
    font-size: 0.81rem;
  }
  .page-footer .upper > .col-set > div > ul li + li,
  .page-footer .upper > .col-set > div > ul li + dt,
  .page-footer .upper dt + li,
  .page-footer .upper dt + dt {
    margin-top: 0;
  }
  .page-footer .upper > .col-set > div > ul li a, .page-footer .upper > .col-set > div > ul li span,
  .page-footer .upper dt a,
  .page-footer .upper dt span {
    display: block;
    padding: 22px 50px 22px 0;
  }
  .page-footer .upper > .col-set > div > ul li button,
  .page-footer .upper dt button {
    display: block;
    position: absolute;
    right: -4vw;
    top: 0;
    overflow: hidden;
    width: calc(17px + 8vw);
    height: 100%;
    padding: 0;
    border-style: none;
    border-radius: 0;
    background-color: transparent;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: -500px;
  }
  .page-footer .upper > .col-set > div > ul li button::before,
  .page-footer .upper dt button::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 20%;
    width: 1px;
    height: 60%;
    background-color: rgba(255, 255, 255, 0.6);
  }
  .page-footer .upper > .col-set > div > ul li button::after,
  .page-footer .upper dt button::after {
    content: "";
    display: block;
    position: absolute;
    right: calc(6px + 4vw);
    top: calc(50% - 7px);
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform-origin: 70% 70%;
    transform-origin: 70% 70%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }
  .page-footer .upper > .col-set > div > ul li button.open::after,
  .page-footer .upper dt button.open::after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .page-footer .upper dd {
    display: block;
    height: 0;
    padding-top: 0;
    overflow: hidden;
    font-size: 0.75rem;
    -webkit-transition: height .3s ease-out;
    transition: height .3s ease-out;
  }
  .page-footer .upper dd ul {
    width: 100%;
    margin-right: 0;
  }
  .page-footer .upper dd li {
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    margin-top: 0;
  }
  .page-footer .upper dd a {
    display: block;
    padding: 12px 0 12px 30px;
  }
}

.page-footer .lower {
  padding: 25px 0 40px;
  background-color: #920122;
}

.page-footer .lower .links {
  font-size: 0.75rem;
  text-align: center;
}

.page-footer .lower .links a {
  display: inline-block;
  margin: 10px 15px 0;
  color: #fff;
  text-decoration: none;
}

.page-footer .lower .links a:hover, .page-footer .lower .links a:active {
  color: #fff;
  text-decoration: underline;
}

.page-footer .lower .copyright {
  margin-top: 25px;
  color: #fff;
  font-size: 0.63rem;
  letter-spacing: .05em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .page-footer .lower {
    padding: calc(7vw - 12px) 0 7vw;
  }
  .page-footer .lower .links {
    font-size: 0.75rem;
  }
  .page-footer .lower .links a {
    margin: 10px 12px 0;
  }
  .page-footer .lower .links a:hover, .page-footer .lower .links a:active {
    text-decoration: none;
  }
  .page-footer .lower .copyright {
    margin-top: 5vw;
    font-size: 0.56rem;
    letter-spacing: .05em;
  }
  .page-footer .lower .copyright > .hidden {
    display: none;
  }
}

/* ---- wave border ---- */
.waves {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.waves canvas {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 110%;
  height: 200px;
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  -webkit-transform: rotate(11deg);
  transform: rotate(11deg);
}

.waves .cover {
  display: block;
  position: absolute;
  right: 0;
  top: 99%;
  width: 105%;
  height: 200%;
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: rotate(11deg);
  transform: rotate(11deg);
}

@media screen and (max-width: 767px) {
  .waves canvas {
    height: 16vw;
  }
}

/* ---- emergency ---- */
.com_emg_info {
  background-color: #f03;
}

.com_emg_info .info-emergency {
  max-width: 990px;
  margin: 0 auto;
}

@media screen and (max-width: 1009px) {
  .com_emg_info {
    background-color: #fff;
  }
}

/* ---- parts list ---- */
h2.heading-parts {
  margin: 80px 0 50px;
  color: #13b5b1;
  font-size: 1.38rem;
  font-weight: bold;
  line-height: 1.3;
}

h3.heading-parts {
  margin: 50px 0 30px;
  color: #13b5b1;
  font-size: 1.13rem;
  font-weight: bold;
  line-height: 1.3;
}

textarea.source {
  display: block;
  width: 100%;
  height: 100px;
  margin-top: 30px;
  padding: 10px;
  border: solid 1px #eee;
  border-radius: 3px;
  color: #ddd;
  font-size: 0.75rem;
  white-space: pre-wrap;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea.source:focus {
  border-color: #dfe0e4;
  color: #545454;
}

p.parts-note {
  margin: 8px 0 0;
  color: #999;
  font-size: 0.75rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  h2.heading-parts {
    margin-bottom: 30px;
    font-size: 1.25rem;
  }
  h3.heading-parts {
    margin-bottom: 15px;
    font-size: 1rem;
  }
  textarea.source,
  p.parts-note {
    display: none;
  }
}

/*---------------------------------------------
	google-code-prettify
  ---------------------------------------------*/
.pln {
  color: #000;
}

@media screen {
  .str {
    color: #080;
  }
  .kwd {
    color: #2e2ed9;
  }
  .com {
    color: #cc1b1b;
  }
  .typ {
    color: #b527b5;
  }
  .lit {
    color: #066;
  }
  .clo, .opn, .pun {
    color: #660;
  }
  .tag {
    color: #2e2ed9;
  }
  .atn {
    color: #b527b5;
  }
  .atv {
    color: #080;
  }
  .dec, .var {
    color: #b527b5;
  }
  .fun {
    color: red;
  }
}

@media print, projection {
  .kwd, .tag, .typ {
    font-weight: 700;
  }
  .str {
    color: #060;
  }
  .kwd {
    color: #006;
  }
  .com {
    color: #600;
    font-style: italic;
  }
  .typ {
    color: #404;
  }
  .lit {
    color: #044;
  }
  .clo, .opn, .pun {
    color: #440;
  }
  .tag {
    color: #006;
  }
  .atn {
    color: #404;
  }
  .atv {
    color: #060;
  }
}

ol.linenums {
  margin-top: 0;
  margin-bottom: 0;
}

li.L0, li.L1, li.L2, li.L3, li.L5, li.L6, li.L7, li.L8 {
  list-style-type: none;
}

li.L1, li.L3, li.L5, li.L7, li.L9 {
  background: #eee;
}

/*---------------------------------------------
	Top page, Service index page
  ---------------------------------------------*/
#toppage,
#service-index {
  /* ---- background ---- */
  background-color: #eeeff1;
  /* ---- featured contents ---- */
}

#toppage .featured-contents,
#service-index .featured-contents {
  position: relative;
  z-index: 1;
  height: 950px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/top/bg.png);
}

#toppage .featured-contents.no-bgimg,
#service-index .featured-contents.no-bgimg {
  background-color: #f03;
  background-image: none;
}

#toppage .featured-contents .waves,
#service-index .featured-contents .waves {
  z-index: 0;
}

#toppage .featured-contents .inner,
#service-index .featured-contents .inner {
  position: relative;
  z-index: 1;
  max-width: 990px;
  height: 100%;
  margin: 0 auto;
}

#toppage .featured-contents .circle,
#service-index .featured-contents .circle {
  position: absolute;
  right: 0;
  top: 150px;
  width: 62%;
  height: 0;
  padding-bottom: 62%;
}

#toppage .featured-contents .circle svg,
#service-index .featured-contents .circle svg {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  pointer-events: none;
}

#toppage .featured-contents .circle .base,
#service-index .featured-contents .circle .base {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: opacity .2s .35s, -webkit-transform .2s .35s;
  transition: opacity .2s .35s, -webkit-transform .2s .35s;
  transition: opacity .2s .35s, transform .2s .35s;
  transition: opacity .2s .35s, transform .2s .35s, -webkit-transform .2s .35s;
  pointer-events: auto;
  text-indent: -400px;
}

#toppage .featured-contents .circle .base.hide,
#service-index .featured-contents .circle .base.hide {
  opacity: 0;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transition: opacity .2s 0s, -webkit-transform .2s 0s;
  transition: opacity .2s 0s, -webkit-transform .2s 0s;
  transition: opacity .2s 0s, transform .2s 0s;
  transition: opacity .2s 0s, transform .2s 0s, -webkit-transform .2s 0s;
  pointer-events: none;
}

#toppage .featured-contents .circle #circle-more,
#service-index .featured-contents .circle #circle-more {
  display: block;
  position: absolute;
  right: 8%;
  bottom: 6%;
  z-index: 2;
  width: 16%;
  height: 16%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 1;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  -webkit-transition: background-color .2s, opacity .3s .05s;
  transition: background-color .2s, opacity .3s .05s;
}

#toppage .featured-contents .circle #circle-more.hide,
#service-index .featured-contents .circle #circle-more.hide {
  opacity: 0;
  -webkit-transition: background-color .2s, opacity .3s 0s;
  transition: background-color .2s, opacity .3s 0s;
}

#toppage .featured-contents .circle #circle-more span,
#service-index .featured-contents .circle #circle-more span {
  display: block;
  position: absolute;
  top: 28%;
  left: 0;
  width: 100%;
  color: #f03;
  font-size: 0.88rem;
  font-weight: bold;
  letter-spacing: .05em;
  text-align: center;
  text-decoration: none;
  -webkit-transition: color .2s;
  transition: color .2s;
}

#toppage .featured-contents .circle #circle-more::before,
#service-index .featured-contents .circle #circle-more::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 11px);
  top: calc(50% + 12px);
  width: 14px;
  height: 2px;
  background-color: #f03;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

#toppage .featured-contents .circle #circle-more::after,
#service-index .featured-contents .circle #circle-more::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 3px);
  top: calc(50% + 6px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 11px;
  border-color: transparent transparent transparent #f03;
  -webkit-transition: border-color .2s;
  transition: border-color .2s;
}

#toppage .featured-contents .circle #circle-more:hover, #toppage .featured-contents .circle #circle-more:active, #toppage .featured-contents .circle #circle-more.hover,
#service-index .featured-contents .circle #circle-more:hover,
#service-index .featured-contents .circle #circle-more:active,
#service-index .featured-contents .circle #circle-more.hover {
  background-color: #f03;
}

#toppage .featured-contents .circle #circle-more:hover span, #toppage .featured-contents .circle #circle-more:active span, #toppage .featured-contents .circle #circle-more.hover span,
#service-index .featured-contents .circle #circle-more:hover span,
#service-index .featured-contents .circle #circle-more:active span,
#service-index .featured-contents .circle #circle-more.hover span {
  color: #fff;
}

#toppage .featured-contents .circle #circle-more:hover::before, #toppage .featured-contents .circle #circle-more:active::before, #toppage .featured-contents .circle #circle-more.hover::before,
#service-index .featured-contents .circle #circle-more:hover::before,
#service-index .featured-contents .circle #circle-more:active::before,
#service-index .featured-contents .circle #circle-more.hover::before {
  background-color: #fff;
}

#toppage .featured-contents .circle #circle-more:hover::after, #toppage .featured-contents .circle #circle-more:active::after, #toppage .featured-contents .circle #circle-more.hover::after,
#service-index .featured-contents .circle #circle-more:hover::after,
#service-index .featured-contents .circle #circle-more:active::after,
#service-index .featured-contents .circle #circle-more.hover::after {
  border-color: transparent transparent transparent #fff;
}

#toppage .featured-contents .circle .arrows,
#service-index .featured-contents .circle .arrows {
  display: none;
}

#toppage .featured-contents .txt,
#service-index .featured-contents .txt {
  position: absolute;
  left: 0;
  top: 170px;
  width: 32%;
  color: #fff;
}

#toppage .featured-contents .txt li,
#service-index .featured-contents .txt li {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

#toppage .featured-contents .txt li.show,
#service-index .featured-contents .txt li.show {
  opacity: 1;
}

#toppage .featured-contents .txt .shoulder,
#service-index .featured-contents .txt .shoulder {
  position: relative;
  padding-left: 56px;
  font-size: 0.88rem;
}

#toppage .featured-contents .txt .shoulder::before,
#service-index .featured-contents .txt .shoulder::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 50px;
  height: 1px;
  background-color: #fff;
}

#toppage .featured-contents .txt dt,
#service-index .featured-contents .txt dt {
  margin-top: 25px;
  font-size: 3.125rem;
  font-weight: bold;
  line-height: 1.3;
}

#toppage .featured-contents .txt dd,
#service-index .featured-contents .txt dd {
  margin-top: 25px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.8;
}

#toppage .featured-contents .txt img, #toppage .featured-contents .txt a,
#service-index .featured-contents .txt img,
#service-index .featured-contents .txt a {
  display: none;
}

#toppage .featured-contents .controller,
#service-index .featured-contents .controller {
  position: absolute;
  left: 0;
  bottom: 330px;
}

#toppage .featured-contents .controller ul,
#service-index .featured-contents .controller ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#toppage .featured-contents .controller li,
#service-index .featured-contents .controller li {
  position: relative;
  padding-right: 13px;
}

#toppage .featured-contents .controller li::after,
#service-index .featured-contents .controller li::after {
  content: "";
  display: block;
  position: absolute;
  right: 2px;
  top: 50%;
  width: 9px;
  height: 1px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/dots_white.png);
}

#toppage .featured-contents .controller li:nth-last-child(2),
#service-index .featured-contents .controller li:nth-last-child(2) {
  padding-right: 8px;
}

#toppage .featured-contents .controller li:nth-last-child(2)::after,
#service-index .featured-contents .controller li:nth-last-child(2)::after {
  content: none;
}

#toppage .featured-contents .controller li:last-child,
#service-index .featured-contents .controller li:last-child {
  padding-right: 0;
}

#toppage .featured-contents .controller li:last-child::after,
#service-index .featured-contents .controller li:last-child::after {
  content: none;
}

#toppage .featured-contents .controller li button,
#service-index .featured-contents .controller li button {
  display: block;
  position: relative;
  width: 17px;
  height: 17px;
  padding: 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#toppage .featured-contents .controller li button::before,
#service-index .featured-contents .controller li button::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 17px;
  height: 17px;
  border-radius: 8.5px;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

#toppage .featured-contents .controller li button::after,
#service-index .featured-contents .controller li button::after {
  content: "";
  display: block;
  position: absolute;
  left: 6px;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 2.5px;
  background-color: #fff;
}

#toppage .featured-contents .controller li button.current::before, #toppage .featured-contents .controller li button:hover::before, #toppage .featured-contents .controller li button:active::before,
#service-index .featured-contents .controller li button.current::before,
#service-index .featured-contents .controller li button:hover::before,
#service-index .featured-contents .controller li button:active::before {
  opacity: 1;
}

#toppage .featured-contents .controller li #btn-pause,
#service-index .featured-contents .controller li #btn-pause {
  width: 28px;
  height: 28px;
  padding-right: 0;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_play-pause_wh.svg);
  background-repeat: no-repeat;
  background-position: 0 -28px;
  background-size: 28px 56px;
  overflow: hidden;
  font-size: 1px;
  text-indent: -400px;
}

#toppage .featured-contents .controller li #btn-pause::before, #toppage .featured-contents .controller li #btn-pause::after,
#service-index .featured-contents .controller li #btn-pause::before,
#service-index .featured-contents .controller li #btn-pause::after {
  content: none;
}

#toppage .featured-contents .controller li #btn-pause.paused,
#service-index .featured-contents .controller li #btn-pause.paused {
  background-position: 0 0;
}

@media screen and (max-width: 1065px) {
  #toppage .featured-contents,
  #service-index .featured-contents {
    height: 96vw;
  }
  #toppage .featured-contents .inner,
  #service-index .featured-contents .inner {
    margin: 0 30px;
  }
  #toppage .featured-contents .circle,
  #service-index .featured-contents .circle {
    top: 15vw;
  }
  #toppage .featured-contents .txt,
  #service-index .featured-contents .txt {
    top: 16vw;
  }
  #toppage .featured-contents .txt dt,
  #service-index .featured-contents .txt dt {
    margin-top: 2.5vw;
    font-size: 5vw;
  }
  #toppage .featured-contents .txt dd,
  #service-index .featured-contents .txt dd {
    margin-top: 2.5vw;
    font-size: 1.6vw;
  }
  #toppage .featured-contents .controller,
  #service-index .featured-contents .controller {
    bottom: 33vw;
  }
}

@media screen and (max-width: 767px) {
  #toppage .featured-contents,
  #service-index .featured-contents {
    height: auto;
    padding: 26vw 0 28vw;
    background-size: 270px;
  }
  #toppage .featured-contents .inner,
  #service-index .featured-contents .inner {
    margin: 0;
  }
  #toppage .featured-contents .circle,
  #service-index .featured-contents .circle {
    position: relative;
    right: 0;
    top: 0;
    width: 82%;
    margin: 0 auto;
    padding-bottom: 82%;
  }
  #toppage .featured-contents .circle svg,
  #service-index .featured-contents .circle svg {
    left: 5px;
    top: 5px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
  }
  #toppage .featured-contents .circle #circle-more,
  #service-index .featured-contents .circle #circle-more {
    right: 6%;
    bottom: 0;
    width: 23%;
    height: 23%;
    -webkit-transition: none;
    transition: none;
  }
  #toppage .featured-contents .circle #circle-more span,
  #service-index .featured-contents .circle #circle-more span {
    font-size: 0.69rem;
    -webkit-transition: none;
    transition: none;
  }
  #toppage .featured-contents .circle #circle-more::before,
  #service-index .featured-contents .circle #circle-more::before {
    left: calc(50% - 9px);
    top: calc(50% + 11px);
    width: 10px;
    height: 1px;
    -webkit-transition: none;
    transition: none;
  }
  #toppage .featured-contents .circle #circle-more::after,
  #service-index .featured-contents .circle #circle-more::after {
    left: calc(50% + 1px);
    top: calc(50% + 6px);
    border-width: 5.5px 0 5.5px 9px;
    -webkit-transition: none;
    transition: none;
  }
  #toppage .featured-contents .circle #circle-more:hover, #toppage .featured-contents .circle #circle-more:active, #toppage .featured-contents .circle #circle-more.hover,
  #service-index .featured-contents .circle #circle-more:hover,
  #service-index .featured-contents .circle #circle-more:active,
  #service-index .featured-contents .circle #circle-more.hover {
    background-color: #fff;
  }
  #toppage .featured-contents .circle #circle-more:hover span, #toppage .featured-contents .circle #circle-more:active span, #toppage .featured-contents .circle #circle-more.hover span,
  #service-index .featured-contents .circle #circle-more:hover span,
  #service-index .featured-contents .circle #circle-more:active span,
  #service-index .featured-contents .circle #circle-more.hover span {
    color: #f03;
  }
  #toppage .featured-contents .circle #circle-more:hover::before, #toppage .featured-contents .circle #circle-more:active::before, #toppage .featured-contents .circle #circle-more.hover::before,
  #service-index .featured-contents .circle #circle-more:hover::before,
  #service-index .featured-contents .circle #circle-more:active::before,
  #service-index .featured-contents .circle #circle-more.hover::before {
    background-color: #f03;
  }
  #toppage .featured-contents .circle #circle-more:hover::after, #toppage .featured-contents .circle #circle-more:active::after, #toppage .featured-contents .circle #circle-more.hover::after,
  #service-index .featured-contents .circle #circle-more:hover::after,
  #service-index .featured-contents .circle #circle-more:active::after,
  #service-index .featured-contents .circle #circle-more.hover::after {
    border-color: transparent transparent transparent #f03;
  }
  #toppage .featured-contents .circle .arrows,
  #service-index .featured-contents .circle .arrows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    left: 0;
    top: calc(50% - 20px);
    width: 100%;
  }
  #toppage .featured-contents .circle .arrows button,
  #service-index .featured-contents .circle .arrows button {
    display: block;
    width: 40px;
    height: 40px;
    padding: 0;
    border-style: none;
    border-radius: 0;
    background-color: transparent;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 16px;
  }
  #toppage .featured-contents .circle .arrows button.prev,
  #service-index .featured-contents .circle .arrows button.prev {
    margin-left: calc(-5.5% - 20px);
    background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_prev_wh.svg);
  }
  #toppage .featured-contents .circle .arrows button.next,
  #service-index .featured-contents .circle .arrows button.next {
    margin-right: calc(-5.5% - 20px);
    background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_next_wh.svg);
  }
  #toppage .featured-contents .circle .arrows button span,
  #service-index .featured-contents .circle .arrows button span {
    display: none;
  }
  #toppage .featured-contents .txt,
  #service-index .featured-contents .txt {
    position: relative;
    left: 0;
    top: 0;
    width: 80%;
    height: 120vw;
    margin: 4vw auto 0;
  }
  #toppage .featured-contents .txt .shoulder,
  #service-index .featured-contents .txt .shoulder {
    display: inline-block;
    padding: 0 0 2px 0;
    border-bottom: 1px solid #fff;
    font-size: 0.88rem;
  }
  #toppage .featured-contents .txt .shoulder::before,
  #service-index .featured-contents .txt .shoulder::before {
    content: none;
  }
  #toppage .featured-contents .txt dt,
  #service-index .featured-contents .txt dt {
    margin-top: 6vw;
    font-size: 10vw;
  }
  #toppage .featured-contents .txt dd,
  #service-index .featured-contents .txt dd {
    margin-top: 5vw;
    font-size: 1rem;
    text-align: justify;
  }
  #toppage .featured-contents .controller,
  #service-index .featured-contents .controller {
    position: relative;
    left: 0;
    bottom: 0;
  }
  #toppage .featured-contents .controller ul,
  #service-index .featured-contents .controller ul {
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #toppage .featured-contents .controller li,
  #service-index .featured-contents .controller li {
    padding-right: 17px;
  }
  #toppage .featured-contents .controller li::after,
  #service-index .featured-contents .controller li::after {
    right: 4px;
  }
  #toppage .featured-contents .controller li button,
  #service-index .featured-contents .controller li button {
    width: 13px;
    height: 13px;
  }
  #toppage .featured-contents .controller li button::before,
  #service-index .featured-contents .controller li button::before {
    width: 13px;
    height: 13px;
    border-radius: 6.5px;
  }
  #toppage .featured-contents .controller li button::after,
  #service-index .featured-contents .controller li button::after {
    left: 4px;
    top: 4px;
  }
}

@media screen and (max-width: 499px) {
  #toppage .featured-contents .txt dt,
  #service-index .featured-contents .txt dt {
    font-size: 13vw;
  }
}

/* #toppage, #service-index */
/*---------------------------------------------
	Top page
  ---------------------------------------------*/
#toppage {
  /* ---- topics ---- */
  /* ---- keyword ---- */
  /* ---- emergency - global ---- */
  /* ---- emergency - corporate ---- */
}

#toppage section.topics {
  position: relative;
  z-index: 2;
  margin-top: -150px;
  padding: 0 0 70px;
}

#toppage section.topics .heading-index-page .en {
  font-size: 3.125rem;
}

#toppage section.topics .col-set {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  #toppage section.topics {
    margin-top: -10vw;
    padding: 13vw 0 calc(13vw - 15px);
  }
  #toppage section.topics .heading-index-page .en {
    font-size: 2.81rem;
  }
  #toppage section.topics .col-set {
    margin-bottom: 6vw;
  }
}

#toppage section.keyword {
  padding: 50px 0 32px;
  background-color: #fff;
}

#toppage section.keyword .heading-index-page {
  margin-top: -8px;
}

#toppage section.keyword .heading-index-page .en {
  font-size: 2.5rem;
}

@media screen and (max-width: 767px) {
  #toppage section.keyword {
    padding: 13vw 0 calc(13vw - 10px);
  }
  #toppage section.keyword .heading-index-page {
    margin-top: 0;
  }
  #toppage section.keyword .heading-index-page .en {
    font-size: 2.18rem;
  }
}

#toppage .com_emg_info {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/top/bg.png);
}

@media screen and (max-width: 1009px) {
  #toppage .com_emg_info {
    background-image: none;
  }
}

#toppage .emergency-message {
  position: absolute;
  left: 0;
  top: 110px;
  z-index: 3;
  width: 100%;
  padding: 10px 20px 6px;
  border-radius: 20px;
  background-color: #fff;
  -webkit-box-shadow: 0 10px 50px rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 50px rgba(0, 0, 0, 0.3);
  font-size: 0.88rem;
  line-height: 1.4;
}

#toppage .emergency-message a {
  position: relative;
  display: inline-block;
  color: #545454;
  font-weight: bold;
  text-decoration: none;
}

#toppage .emergency-message a::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: -4px 0 0 2px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 480px 240px;
  vertical-align: middle;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform .2s linear;
  transition: -webkit-transform .2s linear;
  transition: transform .2s linear;
  transition: transform .2s linear, -webkit-transform .2s linear;
}

html:not(.sp) #toppage .emergency-message a:hover,
html:not(.sp) #toppage .emergency-message a:active {
  color: #545454;
}

html:not(.sp) #toppage .emergency-message a:hover::after,
html:not(.sp) #toppage .emergency-message a:active::after {
  -webkit-transform: translate3d(5px, 0, 0);
  transform: translate3d(5px, 0, 0);
}

@media screen and (max-width: 1129px) {
  #toppage .emergency-message {
    top: 80px;
  }
}

@media screen and (max-width: 767px) {
  #toppage .emergency-message {
    position: static;
    width: auto;
    margin: 0 15px 8vw;
    padding: 10px 15px 6px;
    border-radius: 10px;
  }
}

/* #toppage */
/*---------------------------------------------
	Service index page
  ---------------------------------------------*/
#service-index {
  /* ---- breadcrumbs ---- */
  /* ---- services ---- */
}

#service-index .breadcrumbs {
  position: absolute;
  left: 0;
  top: 120px;
}

@media screen and (max-width: 767px) {
  #service-index .breadcrumbs {
    position: absolute;
    left: 15px;
    top: calc(60px - 22vw);
  }
}

#service-index .services {
  position: relative;
  z-index: 2;
  margin-top: -120px;
  padding: 0 0 50px;
}

#service-index .services .heading-services {
  margin: 60px 0 30px;
  color: #f03;
  font-size: 1.75rem;
  font-weight: bold;
}

#service-index .services .link-icon {
  margin-bottom: 16px;
}

@media screen and (max-width: 767px) {
  #service-index .services {
    margin-top: -12vw;
    padding: 0 0 calc(13vw - 10px);
  }
  #service-index .services .heading-services {
    margin: 13vw 0 8vw;
  }
  #service-index .services .heading-services + .col-set ul {
    margin-bottom: 0;
  }
}

/* #service-index */
/*---------------------------------------------
	CSR
  ---------------------------------------------*/
/* ---- index page header ---- */
.csr-index-header {
  position: relative;
  z-index: 0;
  height: 560px;
  color: #fff;
}

.csr-index-header .fader {
  display: none;
  position: relative;
  z-index: 1;
}

.csr-index-header .fader.slick-initialized {
  display: block;
}

.csr-index-header .slick-track {
  overflow: hidden;
}

.csr-index-header .slide {
  float: left;
  height: 560px;
  background-position: 50% 50%;
  background-size: cover;
}

.csr-index-header .inner {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 990px;
  margin: 0 auto;
  padding: 110px 30px 0;
}

.csr-index-header h1 {
  width: 700px;
}

.csr-index-header dl {
  margin-top: 30px;
}

.csr-index-header dl dt {
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 1.4;
}

.csr-index-header dl dd {
  margin-top: 10px;
  font-size: 1rem;
}

.csr-index-header .controller {
  position: absolute;
  left: 0;
  bottom: 190px;
  z-index: 101;
  width: 100%;
}

.csr-index-header .controller .inner {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 990px;
  margin: 0 auto;
}

.csr-index-header .controller ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.csr-index-header .controller li {
  position: relative;
  padding-right: 13px;
}

.csr-index-header .controller li::after {
  content: "";
  display: block;
  position: absolute;
  right: 2px;
  top: 50%;
  width: 9px;
  height: 1px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/dots_white.png);
}

.csr-index-header .controller li:nth-last-child(2) {
  padding-right: 8px;
}

.csr-index-header .controller li:nth-last-child(2)::after {
  content: none;
}

.csr-index-header .controller li:last-child {
  padding-right: 0;
}

.csr-index-header .controller li:last-child::after {
  content: none;
}

.csr-index-header .controller li button {
  display: block;
  position: relative;
  width: 17px;
  height: 17px;
  padding: 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  overflow: hidden;
  font-size: 1px;
  text-indent: -400px;
}

.csr-index-header .controller li button::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 17px;
  height: 17px;
  border-radius: 8.5px;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  -webkit-transition: opacity .5s;
  transition: opacity .5s;
}

.csr-index-header .controller li button::after {
  content: "";
  display: block;
  position: absolute;
  left: 6px;
  top: 6px;
  width: 5px;
  height: 5px;
  border-radius: 2.5px;
  background-color: #fff;
}

.csr-index-header .controller li button.current::before, .csr-index-header .controller li button:hover::before, .csr-index-header .controller li button:active::before {
  opacity: 1;
}

.csr-index-header .controller li.slick-active button::before {
  opacity: 1;
}

.csr-index-header .controller li .fader-pause {
  width: 28px;
  height: 28px;
  padding-right: 0;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_play-pause_wh.svg);
  background-repeat: no-repeat;
  background-position: 0 -28px;
  background-size: 28px 56px;
  overflow: hidden;
  font-size: 1px;
  text-indent: -400px;
}

.csr-index-header .controller li .fader-pause::before, .csr-index-header .controller li .fader-pause::after {
  content: none;
}

.csr-index-header .controller li .fader-pause.paused {
  background-position: 0 0;
}

.csr-index-header + .main {
  position: relative;
  z-index: 1;
  margin-top: -160px;
}

@media screen and (max-width: 767px) {
  .csr-index-header {
    height: 110vw;
  }
  .csr-index-header .slide {
    height: 110vw;
  }
  .csr-index-header .inner {
    max-width: none;
    padding: 15vw 15px 0;
  }
  .csr-index-header h1 {
    width: 100%;
    max-width: 400px;
  }
  .csr-index-header dl {
    margin-top: 8vw;
  }
  .csr-index-header dl dt {
    font-size: 7vw;
  }
  .csr-index-header dl dd {
    margin-top: 6px;
    font-size: 0.88rem;
  }
  .csr-index-header .controller {
    bottom: 32vw;
  }
  .csr-index-header + .main {
    margin-top: -22vw;
  }
  .csr-index-header + .main .common-section:first-child {
    padding-top: 0;
  }
}

/* ---- news ticker ---- */
.csr-index-header + .main .news-ticker .heading-news {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 calc(60px + 5em);
  flex: 0 0 calc(60px + 5em);
  width: 140px;
}

/*---------------------------------------------
	human resource: common
  ---------------------------------------------*/
/* ---- entry button ---- */
.page-header .inner {
  position: relative;
}

.page-header .hr-entry-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  right: 0;
  top: 0;
  margin-top: -13px;
}

.page-header .hr-entry-buttons a {
  display: block;
  position: relative;
  z-index: 1;
  width: 150px;
  margin-left: 15px;
  padding: 5px 0 3px;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
  color: #000;
  font-size: 0.75rem;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

.page-header .hr-entry-buttons a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dfe0e4));
  background: linear-gradient(to bottom, #fff 0%, #dfe0e4 100%);
  opacity: 1;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.page-header .hr-entry-buttons a:hover, .page-header .hr-entry-buttons a:active {
  color: #000;
  text-decoration: none;
}

.page-header .hr-entry-buttons a:hover::before, .page-header .hr-entry-buttons a:active::before {
  opacity: 0;
}

.page-header .hr-entry-buttons a span {
  position: relative;
  z-index: 1;
}

.page-header .hr-entry-buttons a strong {
  display: block;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .page-header .hr-entry-buttons {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: static;
    margin: 3.5vw 0 0;
  }
  .page-header .hr-entry-buttons a:first-child {
    margin-left: 0;
  }
  .page-header .hr-entry-buttons a::before {
    -webkit-transition: none;
    transition: none;
  }
  .page-header .hr-entry-buttons a:hover::before, .page-header .hr-entry-buttons a:active::before {
    opacity: 0;
  }
}

/* ---- level 3 page title - profile ---- */
.panel-horizontal.profile {
  max-width: 1280px;
  margin: 0 auto;
  height: 450px;
  text-align: left;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.panel-horizontal.profile .img {
  height: 100%;
}

.panel-horizontal.profile .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 40px 70px;
}

.panel-horizontal.profile .txt .kana {
  color: #000 !important;
  font-weight: bold;
}

.panel-horizontal.profile .txt .name {
  margin: 8px 0 -8px !important;
  color: #000 !important;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.1;
}

.panel-horizontal.profile .txt .post {
  color: #000 !important;
  font-weight: bold;
}

.panel-horizontal.profile .txt hr {
  margin: 20px 0;
}

@media screen and (max-width: 1009px) {
  .panel-horizontal.profile .txt .name {
    font-size: 4.8vw;
  }
}

@media screen and (max-width: 767px) {
  .panel-horizontal.profile {
    height: auto;
  }
  .panel-horizontal.profile .img {
    height: 50vw;
    padding: 0;
  }
  .panel-horizontal.profile .txt {
    display: block;
    padding: 0 15px 30px;
  }
  .panel-horizontal.profile .txt .name {
    font-size: 2.5rem;
  }
  .panel-horizontal.profile .txt hr {
    margin: 15px 0;
  }
}

/*---------------------------------------------
	human resource: top
  ---------------------------------------------*/
/* ---- section ---- */
.page-header {
  position: relative;
  z-index: 2;
}

.hr-top-section {
  position: relative;
  margin-top: -1px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
  /*
	&.section-1 { min-height: 760px; }
	&.section-2 { min-height: 720px; }
	&.section-3 { min-height: 760px; }
	&.section-4 { min-height: 720px; }
	&.section-5 { min-height: 900px; }
	&.section-6 { min-height: 940px; }
	&.section-7 { min-height: 750px; }
	*/
}

.hr-top-section.section-1 {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_01.jpg);
}

.hr-top-section.section-2 {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_02.jpg);
}

.hr-top-section.section-3 {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_03.jpg);
}

.hr-top-section.section-4 {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_04.jpg);
}

.hr-top-section.section-5 {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_05.jpg);
}

.hr-top-section.section-6 {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_06.jpg);
}

.hr-top-section.section-7 {
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_07.jpg);
}

.hr-top-section > .row {
  position: relative;
  z-index: 2;
}

.hr-top-section h2.heading-hr-top {
  -webkit-transform: translateX(-150px);
  transform: translateX(-150px);
  -webkit-transition: -webkit-transform 1.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: -webkit-transform 1.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: transform 1.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: transform 1.5s cubic-bezier(0, 0.8, 0.56, 1), -webkit-transform 1.5s cubic-bezier(0, 0.8, 0.56, 1);
}

.hr-top-section h2.heading-hr-top .en {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 1.38rem;
  font-weight: bold;
  letter-spacing: .12em;
  line-height: 1;
  -webkit-transform: translateX(-100px);
  transform: translateX(-100px);
  opacity: 0;
  -webkit-transition: opacity 1.5s ease-in, -webkit-transform 1.5s ease-out;
  transition: opacity 1.5s ease-in, -webkit-transform 1.5s ease-out;
  transition: transform 1.5s ease-out, opacity 1.5s ease-in;
  transition: transform 1.5s ease-out, opacity 1.5s ease-in, -webkit-transform 1.5s ease-out;
}

.hr-top-section h2.heading-hr-top .jp {
  display: inline-block;
  position: relative;
  margin-top: 17px;
  padding: 3px 0;
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: .08em;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  line-height: 1;
}

.hr-top-section h2.heading-hr-top .jp span {
  position: relative;
  z-index: 1;
  opacity: 0;
}

.hr-top-section h2.heading-hr-top .jp br {
  display: none;
}

.hr-top-section h2.heading-hr-top .jp::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}

.hr-top-section h2.heading-hr-top.show-1 {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.hr-top-section h2.heading-hr-top.show-1 .en {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}

.hr-top-section h2.heading-hr-top.show-1 .jp::after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: transform 0.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: transform 0.5s cubic-bezier(0, 0.8, 0.56, 1), -webkit-transform 0.5s cubic-bezier(0, 0.8, 0.56, 1);
}

.hr-top-section h2.heading-hr-top.show-2 .jp span {
  opacity: 1;
}

.hr-top-section h2.heading-hr-top.show-2 .jp::after {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 1s ease-out;
  transition: -webkit-transform 1s ease-out;
  transition: transform 1s ease-out;
  transition: transform 1s ease-out, -webkit-transform 1s ease-out;
}

.hr-top-section h2.heading-hr-top + p {
  margin-top: 30px;
  font-size: 1rem;
  line-height: 1.75;
}

.hr-top-section.section-2 h2.heading-hr-top .jp::after {
  background-color: #e94488;
}

.hr-top-section.section-3 h2.heading-hr-top .jp::after {
  background-color: #6d6cca;
}

.hr-top-section.section-4 h2.heading-hr-top .jp::after {
  background-color: #3482d4;
}

.hr-top-section.section-5 h2.heading-hr-top .jp::after {
  background-color: #409a9a;
}

.hr-top-section.section-6 h2.heading-hr-top .jp::after {
  background-color: #7ecd00;
}

.hr-top-section.section-7 h2.heading-hr-top .jp::after {
  background-color: #fc944d;
}

.hr-top-section .person {
  position: absolute;
  top: 0;
  z-index: 1;
  pointer-events: none;
}

.hr-top-section .person img {
  display: block;
  width: 100%;
}

.hr-top-section .fadeup {
  opacity: 0;
  -webkit-transform: translateY(80px);
  transform: translateY(80px);
  -webkit-transition: opacity 1.5s cubic-bezier(0, 0.8, 0.56, 1), -webkit-transform 1.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: opacity 1.5s cubic-bezier(0, 0.8, 0.56, 1), -webkit-transform 1.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: transform 1.5s cubic-bezier(0, 0.8, 0.56, 1), opacity 1.5s cubic-bezier(0, 0.8, 0.56, 1);
  transition: transform 1.5s cubic-bezier(0, 0.8, 0.56, 1), opacity 1.5s cubic-bezier(0, 0.8, 0.56, 1), -webkit-transform 1.5s cubic-bezier(0, 0.8, 0.56, 1);
}

.hr-top-section .fadeup.show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media screen and (max-width: 1009px), print {
  .hr-top-section h2.heading-hr-top .jp {
    margin-top: 10px;
    font-size: 6.5vw;
  }
}

@media screen and (max-width: 767px) {
  .hr-top-section {
    background-position: 50% 0;
    background-size: 500% 100%;
  }
  .hr-top-section h2.heading-hr-top.sp-right {
    text-align: right;
  }
  .hr-top-section h2.heading-hr-top.sp-right .sp-right-inner {
    display: inline-block;
    text-align: left;
  }
  .hr-top-section h2.heading-hr-top .en {
    font-size: 1.13rem;
  }
  .hr-top-section h2.heading-hr-top .jp {
    margin-top: 8px;
    font-size: 8.5vw;
    line-height: 1.3;
  }
  .hr-top-section h2.heading-hr-top .jp br {
    display: inline;
  }
  .hr-top-section h2.heading-hr-top + p {
    font-size: 0.94rem;
    line-height: 1.6;
  }
  .hr-top-section .fadeup {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
}

/* ---- background icons ---- */
.hr-top-section .bg-icons {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
  width: 2000px;
  height: 100%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.hr-top-section .bg-icons span {
  display: block;
  position: absolute;
  height: 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.16, 0.64, 0.36, 1);
  transition: -webkit-transform 1s cubic-bezier(0.16, 0.64, 0.36, 1);
  transition: transform 1s cubic-bezier(0.16, 0.64, 0.36, 1);
  transition: transform 1s cubic-bezier(0.16, 0.64, 0.36, 1), -webkit-transform 1s cubic-bezier(0.16, 0.64, 0.36, 1);
}

.hr-top-section.section-1 .bg-icons span:nth-child(1) {
  left: 58%;
  top: 52%;
  width: 22%;
  padding-bottom: 13%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_01_01.png);
}

.hr-top-section.section-1 .bg-icons span:nth-child(2) {
  left: 29%;
  top: 5%;
  width: 60%;
  padding-bottom: 12%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_01_02.png);
}

.hr-top-section.section-1 .bg-icons span:nth-child(3) {
  left: 5%;
  top: 22%;
  width: 84%;
  padding-bottom: 22%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_01_03.png);
}

.hr-top-section.section-2 .bg-icons span:nth-child(1) {
  left: 73%;
  top: 67%;
  width: 15%;
  padding-bottom: 10%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_02_01.png);
}

.hr-top-section.section-2 .bg-icons span:nth-child(2) {
  left: 4%;
  top: 3%;
  width: 77%;
  padding-bottom: 32%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_02_02.png);
}

.hr-top-section.section-2 .bg-icons span:nth-child(3) {
  left: 18%;
  top: 24%;
  width: 78%;
  padding-bottom: 16%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_02_03.png);
}

.hr-top-section.section-3 .bg-icons span:nth-child(1) {
  left: 16%;
  top: 67%;
  width: 13%;
  padding-bottom: 11%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_03_01.png);
}

.hr-top-section.section-3 .bg-icons span:nth-child(2) {
  left: 20%;
  top: -10%;
  width: 65%;
  padding-bottom: 25%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_03_02.png);
}

.hr-top-section.section-3 .bg-icons span:nth-child(3) {
  left: 10%;
  top: -6%;
  width: 87%;
  padding-bottom: 29%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_03_03.png);
}

.hr-top-section.section-4 .bg-icons span:nth-child(1) {
  left: 24%;
  top: 68%;
  width: 13%;
  padding-bottom: 16%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_04_01.png);
}

.hr-top-section.section-4 .bg-icons span:nth-child(2) {
  left: 17%;
  top: 21%;
  width: 67%;
  padding-bottom: 32%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_04_02.png);
}

.hr-top-section.section-4 .bg-icons span:nth-child(3) {
  left: 6%;
  top: 28%;
  width: 79%;
  padding-bottom: 26%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_04_03.png);
}

.hr-top-section.section-5 .bg-icons span:nth-child(1) {
  left: 75%;
  top: 20%;
  width: 10%;
  padding-bottom: 13%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_05_01.png);
}

.hr-top-section.section-5 .bg-icons span:nth-child(2) {
  left: 20%;
  top: 20%;
  width: 60%;
  padding-bottom: 38%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_05_02.png);
}

.hr-top-section.section-5 .bg-icons span:nth-child(3) {
  left: 9%;
  top: 31%;
  width: 89%;
  padding-bottom: 21%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_05_03.png);
}

.hr-top-section.section-6 .bg-icons span:nth-child(1) {
  left: 20%;
  top: 7%;
  width: 12%;
  padding-bottom: 11%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_06_01.png);
}

.hr-top-section.section-6 .bg-icons span:nth-child(2) {
  left: 5%;
  top: 1%;
  width: 78%;
  padding-bottom: 42%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_06_02.png);
}

.hr-top-section.section-6 .bg-icons span:nth-child(3) {
  left: 19%;
  top: 9%;
  width: 74%;
  padding-bottom: 28%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_06_03.png);
}

.hr-top-section.section-7 .bg-icons span:nth-child(1) {
  left: 74%;
  top: 53%;
  width: 10%;
  padding-bottom: 10%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_07_01.png);
}

.hr-top-section.section-7 .bg-icons span:nth-child(2) {
  left: 15%;
  top: 8%;
  width: 61%;
  padding-bottom: 19%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_07_02.png);
}

.hr-top-section.section-7 .bg-icons span:nth-child(3) {
  left: 7%;
  top: -3%;
  width: 87%;
  padding-bottom: 26%;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/hr/top/bg_icon_07_03.png);
}

@media screen and (max-width: 1009px) {
  .hr-top-section .bg-icons {
    width: 200vw;
  }
}

@media screen and (max-width: 767px) {
  .hr-top-section .bg-icons {
    width: 280vw;
  }
  .hr-top-section.section-1 .bg-icons span:nth-child(1) {
    left: 56%;
    top: 63%;
  }
  .hr-top-section.section-1 .bg-icons span:nth-child(2) {
    left: 43%;
    top: 21%;
  }
  .hr-top-section.section-1 .bg-icons span:nth-child(3) {
    left: 22%;
    top: 31%;
  }
  .hr-top-section.section-2 .bg-icons span:nth-child(1) {
    left: 56%;
    top: 52%;
  }
  .hr-top-section.section-2 .bg-icons span:nth-child(2) {
    left: 32%;
    top: -5%;
  }
  .hr-top-section.section-2 .bg-icons span:nth-child(3) {
    left: 5%;
    top: 12%;
  }
  .hr-top-section.section-3 .bg-icons span:nth-child(1) {
    left: 29%;
    top: 42%;
  }
  .hr-top-section.section-3 .bg-icons span:nth-child(2) {
    left: 46%;
    top: 7%;
  }
  .hr-top-section.section-3 .bg-icons span:nth-child(3) {
    left: 32%;
    top: 5%;
  }
  .hr-top-section.section-4 .bg-icons span:nth-child(1) {
    left: 30%;
    top: 60%;
  }
  .hr-top-section.section-4 .bg-icons span:nth-child(2) {
    left: 5%;
    top: 8%;
  }
  .hr-top-section.section-4 .bg-icons span:nth-child(3) {
    left: -23%;
    top: 2%;
  }
  .hr-top-section.section-5 .bg-icons span:nth-child(1) {
    left: 60%;
    top: 13%;
  }
  .hr-top-section.section-5 .bg-icons span:nth-child(2) {
    left: 45%;
    top: 6%;
  }
  .hr-top-section.section-5 .bg-icons span:nth-child(3) {
    left: 34%;
    top: 9%;
  }
  .hr-top-section.section-6 .bg-icons span:nth-child(1) {
    left: 29%;
    top: 28%;
  }
  .hr-top-section.section-6 .bg-icons span:nth-child(2) {
    left: -3%;
    top: 11%;
  }
  .hr-top-section.section-6 .bg-icons span:nth-child(3) {
    left: -15%;
    top: 3%;
  }
  .hr-top-section.section-7 .bg-icons span:nth-child(1) {
    left: 60%;
    top: 27%;
  }
  .hr-top-section.section-7 .bg-icons span:nth-child(2) {
    left: 24%;
    top: 8%;
  }
  .hr-top-section.section-7 .bg-icons span:nth-child(3) {
    left: 14%;
    top: 4%;
  }
}

/* ---- section-1 ---- */
.hr-top-section.section-1 > .row {
  height: 780px;
}

.hr-top-section.section-1 > .row > .inner {
  position: relative;
  height: calc(100vh - 200px);
  max-height: 735px;
}

.hr-top-section.section-1 h1 {
  position: relative;
  z-index: 2;
  width: calc(50% - 15px);
  height: 0;
  margin: 0 0 0 auto;
  padding-bottom: 64%;
}

.hr-top-section.section-1 h1 img {
  display: block;
  position: absolute;
  -webkit-transform: scale(0) translateX(-150px);
  transform: scale(0) translateX(-150px);
  opacity: 0;
  -webkit-transition: opacity 0.6s ease-in, -webkit-transform 0.6s cubic-bezier(0.175, 0.885, 0.385, 1.555);
  transition: opacity 0.6s ease-in, -webkit-transform 0.6s cubic-bezier(0.175, 0.885, 0.385, 1.555);
  transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.385, 1.555), opacity 0.6s ease-in;
  transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.385, 1.555), opacity 0.6s ease-in, -webkit-transform 0.6s cubic-bezier(0.175, 0.885, 0.385, 1.555);
}

.hr-top-section.section-1 h1 img:nth-child(1) {
  left: 2%;
  top: 24%;
  width: 94.89%;
  -webkit-transform-origin: 0 80%;
  transform-origin: 0 80%;
}

.hr-top-section.section-1 h1 img:nth-child(2) {
  left: 7%;
  top: 44%;
  width: 57.87%;
  -webkit-transform-origin: 0 60%;
  transform-origin: 0 60%;
  -webkit-transition-delay: .2s;
  transition-delay: .2s;
}

.hr-top-section.section-1 h1 img:nth-child(3) {
  left: 15%;
  top: 61%;
  width: 85.53%;
  -webkit-transform-origin: 0 30%;
  transform-origin: 0 30%;
  -webkit-transition-delay: .4s;
  transition-delay: .4s;
}

.hr-top-section.section-1 h1.show img {
  -webkit-transform: scale(1) translateX(0);
  transform: scale(1) translateX(0);
  opacity: 1;
}

.hr-top-section.section-1 h1 + .col-set {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
}

.hr-top-section.section-1 .news-ticker {
  display: block;
  position: relative;
  height: auto;
  margin-bottom: 0;
  padding: 20px 30px;
}

.hr-top-section.section-1 .news-ticker .heading-news {
  color: #000;
  text-align: left;
}

.hr-top-section.section-1 .news-ticker .txt {
  margin-top: 10px;
}

.hr-top-section.section-1 .news-ticker .ctrl {
  position: absolute;
  right: 0;
  top: 0;
  padding: 20px 20px 0 0;
}

.hr-top-section.section-1 .news-ticker .ctrl button {
  width: 25px;
  height: 25px;
}

.hr-top-section.section-1 .btn-share .share-pocket {
  display: none;
}

.hr-top-section.section-1 .person {
  left: -30%;
  width: 81.41%;
  margin-top: 6%;
}

@media screen and (max-width: 1009px) {
  .hr-top-section.section-1 > .row {
    height: 67vw;
  }
  .hr-top-section.section-1 > .row > .inner {
    max-height: 62vw;
  }
}

@media screen and (max-width: 767px) {
  .hr-top-section.section-1 > .row {
    height: 130vw;
    max-height: 170vw;
  }
  .hr-top-section.section-1 > .row > .inner {
    height: calc(100vh - 13vw - 120px);
    max-height: 162vw;
    padding-top: 8vw;
  }
  .hr-top-section.section-1 h1 {
    width: 80vw;
    margin: 0 auto;
    padding-bottom: 48%;
  }
  .hr-top-section.section-1 h1 img:nth-child(1) {
    left: 22%;
    top: 0;
    width: 74%;
  }
  .hr-top-section.section-1 h1 img:nth-child(2) {
    left: 13%;
    top: 39%;
    width: 45%;
  }
  .hr-top-section.section-1 h1 img:nth-child(3) {
    left: 0;
    top: 69%;
    width: 67%;
  }
  .hr-top-section.section-1 h1 + .col-set {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: 74vw;
  }
  .hr-top-section.section-1 .news-ticker {
    padding: 15px;
  }
  .hr-top-section.section-1 .news-ticker .txt {
    margin-top: 10px;
  }
  .hr-top-section.section-1 .news-ticker .ctrl {
    padding: 0;
  }
  .hr-top-section.section-1 .news-ticker .ctrl button {
    width: 45px;
    height: 45px;
  }
  .hr-top-section.section-1 .btn-share .share-hatena,
  .hr-top-section.section-1 .btn-share .share-linkedin {
    display: none;
  }
  .hr-top-section.section-1 .person {
    left: -20%;
    width: 110%;
    margin-top: 36vw;
  }
}

@media screen and (max-width: 559px) {
  .hr-top-section.section-1 > .row {
    height: calc(100vh - 3vw - 120px);
  }
}

/* ---- section-2 ---- */
.hr-top-section.section-2 > .row > .inner {
  padding: 13% 0 20%;
}

.hr-top-section.section-2 h2.heading-hr-top {
  color: #e94488;
}

.hr-top-section.section-2 h2.heading-hr-top + p {
  color: #d51068;
}

.hr-top-section.section-2 .person {
  left: 79%;
  width: 72.12%;
  margin-top: -13%;
}

@media screen and (max-width: 1009px), print {
  .hr-top-section.section-2 .index-button span {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .hr-top-section.section-2 > .row > .inner {
    padding: 55vw 0 10vw;
  }
  .hr-top-section.section-2 .heading-hr-top + p {
    margin-top: 15vw;
  }
  .hr-top-section.section-2 .person {
    left: 15%;
    width: 95%;
    margin-top: -15vw;
  }
  .hr-top-section.section-2 .index-button span {
    font-size: 1.13rem;
  }
}

/* ---- section-3 ---- */
.hr-top-section.section-3 > .row > .inner {
  padding: 3% 0 6%;
}

.hr-top-section.section-3 h2.heading-hr-top {
  color: #6d6cca;
}

.hr-top-section.section-3 h2.heading-hr-top + p {
  color: #4d4dbf;
}

.hr-top-section.section-3 .col-set + .col-set {
  margin-top: 13%;
}

.hr-top-section.section-3 .person {
  left: -50%;
  width: 84.85%;
  margin-top: -30%;
}

@media screen and (max-width: 1009px), print {
  .hr-top-section.section-3 .col-set + .col-set {
    margin-top: 11%;
  }
}

@media screen and (max-width: 767px) {
  .hr-top-section.section-3 > .row > .inner {
    padding: 15% 0 6%;
  }
  .hr-top-section.section-3 .heading-hr-top + p {
    margin-top: 25vw;
  }
  .hr-top-section.section-3 .col-set + .col-set {
    margin-top: 4vw;
  }
  .hr-top-section.section-3 .panel-vertical.sp-horizontal img {
    -webkit-transform: translateY(-50%) scale(1.3);
    transform: translateY(-50%) scale(1.3);
  }
  .hr-top-section.section-3 .person {
    left: -57%;
    width: 110%;
    margin-top: -17%;
  }
}

/* ---- section-4 ---- */
.hr-top-section.section-4 > .row > .inner {
  padding: 6% 0 9%;
}

.hr-top-section.section-4 h2.heading-hr-top {
  color: #3482d4;
}

.hr-top-section.section-4 h2.heading-hr-top + p {
  color: #0164c9;
}

.hr-top-section.section-4 .person {
  left: 74%;
  width: 76.36%;
  margin-top: 5%;
}

@media screen and (max-width: 767px) {
  .hr-top-section.section-4 > .row > .inner {
    padding: 33% 0 9%;
  }
  .hr-top-section.section-4 .heading-hr-top + p {
    margin-top: 37vw;
  }
  .hr-top-section.section-4 .panel-horizontal.sp-horizontal .txt .heading.l {
    font-size: 1rem !important;
  }
  .hr-top-section.section-4 .person {
    left: 55%;
    width: 100%;
    margin-top: 5vw;
  }
}

/* ---- section-5 ---- */
.hr-top-section.section-5 > .row > .inner {
  padding: 3% 0 6%;
}

.hr-top-section.section-5 h2.heading-hr-top {
  color: #409a9a;
}

.hr-top-section.section-5 h2.heading-hr-top + p {
  color: #1f6e8d;
}

.hr-top-section.section-5 .person {
  left: -50%;
  width: 77.68%;
  margin-top: 7%;
}

@media screen and (max-width: 767px) {
  .hr-top-section.section-5 > .row > .inner {
    padding: 33% 0 9%;
  }
  .hr-top-section.section-5 .heading-hr-top + p {
    margin-top: 42vw;
  }
  .hr-top-section.section-5 .person {
    left: -55%;
    width: 100%;
    margin-top: 8vw;
  }
}

/* ---- section-6 ---- */
.hr-top-section.section-6 > .row > .inner {
  padding: 6% 0 6%;
}

.hr-top-section.section-6 h2.heading-hr-top {
  color: #7ecd00;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .hr-top-section.section-6 > .row > .inner {
    padding: 10vw 0 6vw;
  }
  .hr-top-section.section-6 .panel-covered.square::before {
    padding-bottom: 100%;
  }
  .hr-top-section.section-6 .panel-covered.square > a::before {
    padding-bottom: 100%;
  }
}

/* ---- section-7 ---- */
.hr-top-section.section-7 > .row > .inner {
  padding: 6% 0 0;
}

.hr-top-section.section-7 h2.heading-hr-top {
  color: #fc944d;
  text-align: center;
}

@media screen and (max-width: 1009px), print {
  .hr-top-section.section-7 .index-button span {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .hr-top-section.section-7 > .row > .inner {
    padding: 13vw 0 8vw;
  }
  .hr-top-section.section-7 .col-set {
    margin-bottom: 15vw !important;
  }
  .hr-top-section.section-7 .index-button span {
    font-size: 1.13rem;
  }
}

/*---------------------------------------------
	human resource: linotice
  ---------------------------------------------*/
/* ---- top ---- */
.linotice-header {
  position: relative;
  z-index: 0;
  height: 560px;
  background-color: #fff;
}

.linotice-header .inner {
  position: relative;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 990px;
  margin: 0 auto;
  padding: 60px 30px 0;
}

.linotice-header h1 {
  margin-bottom: 40px;
}

.linotice-header h1 img {
  display: block;
  width: 240px;
}

.linotice-header h1 span {
  display: block;
  margin-top: 4px;
  font-size: 0.94rem;
  font-weight: bold;
}

.linotice-header + .common-section {
  margin-top: -300px;
  padding-bottom: 10px;
}

.linotice-search {
  position: absolute;
  right: 30px;
  top: 90px;
  width: 250px;
}

.linotice-search form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.linotice-search input {
  width: calc(100% - 50px);
  height: 40px;
  padding: 0 15px;
  border-style: none;
  border-radius: 10px 0 0 10px;
  background-color: #eeeff1;
  font-size: 0.88rem;
  line-height: 50px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.linotice-search input::-webkit-input-placeholder {
  color: #bbb;
}

.linotice-search input:-ms-input-placeholder {
  color: #bbb;
}

.linotice-search input::-ms-input-placeholder {
  color: #bbb;
}

.linotice-search input::placeholder {
  color: #bbb;
}

.linotice-search button {
  position: relative;
  width: 50px;
  height: 40px;
  padding: 0;
  border-style: none;
  border-radius: 0 10px 10px 0;
  background-color: #eeeff1;
  overflow: hidden;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1;
  font-size: 0.88rem;
  text-indent: -400px;
}

.linotice-search button::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 10px);
  top: 10px;
  width: 20px;
  height: 20px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_search.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 20px 60px;
}

.linotice-search button:hover::before, .linotice-search button:active::before {
  background-position: 0 -20px;
}

@media screen and (max-width: 767px) {
  .linotice-header {
    height: auto;
  }
  .linotice-header .inner {
    padding: 10vw 15px 28vw;
  }
  .linotice-header h1 {
    margin-bottom: 0;
    text-align: center;
  }
  .linotice-header h1 img {
    width: 200px;
    margin: 0 auto;
  }
  .linotice-header h1 span {
    margin-top: 8px;
    font-size: 0.75rem;
  }
  .linotice-header + .common-section {
    margin-top: -32vw;
    padding-bottom: 2vw;
  }
  .linotice-search {
    position: static;
    width: 100%;
    max-width: 310px;
    margin: 0 auto 8vw;
  }
  .linotice-search input {
    background-color: #fff;
  }
  .linotice-search button {
    background-color: #fff;
  }
  .linotice-search button:hover::before, .linotice-search button:active::before {
    background-position: 0 0;
  }
  .tag.show-sp {
    margin-bottom: calc(6vw - 10px);
  }
}

/* ---- article ---- */
.page-header.hr .breadcrumbs {
  padding-right: 330px;
}

.linotice-title {
  margin-bottom: 20px;
  text-align: right;
}

.linotice-title img {
  width: 128px;
}

@media screen and (max-width: 767px) {
  .page-header.hr .breadcrumbs {
    padding-right: 0;
  }
  .page-header.hr + .main .btn-share {
    text-align: right;
  }
  .page-header.hr + .main .btn-share .share-pocket,
  .page-header.hr + .main .btn-share .share-linkedin {
    display: none;
  }
  .linotice-title {
    position: absolute;
    right: 15px;
    top: 5vw;
    margin-bottom: 0;
  }
  .linotice-title img {
    width: 120px;
  }
}

/*---------------------------------------------
	human resource: infographic
  ---------------------------------------------*/
/* ---- panels ---- */
.col-set.infographic:first-child {
  margin-top: -30px;
}

.col-set.infographic li {
  width: calc(33.33333333% - 30px);
  margin: 30px 30px 0 0 !important;
  padding: 0;
}

.col-set.infographic li::before {
  content: none;
}

.col-set.infographic li > .panel {
  position: relative;
  height: 0;
  padding-bottom: 100%;
  border-radius: 20px;
  background-color: #fff;
  overflow: hidden;
  -webkit-box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.2);
}

.col-set.infographic li > .panel .img {
  position: absolute;
  left: 0;
  top: 10%;
  z-index: 1;
  width: 100%;
  margin: 0;
  text-align: center;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .15s ease-out;
  transition: -webkit-transform .15s ease-out;
  transition: transform .15s ease-out;
  transition: transform .15s ease-out, -webkit-transform .15s ease-out;
}

.col-set.infographic li > .panel .img img {
  width: 75%;
}

.col-set.infographic li > .panel .txt {
  position: absolute;
  left: 0;
  bottom: 10%;
  z-index: 1;
  width: 100%;
  padding: 0 5%;
  color: #f03;
  font-size: 1.56rem;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
}

.col-set.infographic li > .panel .txt.tight {
  line-height: 1;
}

.col-set.infographic li > .panel .txt em {
  display: inline-block;
  font-size: 2.7rem;
  font-weight: bold;
}

.col-set.infographic li > .panel .txt small {
  display: inline-block;
  font-size: 0.88rem;
  line-height: 1.5;
}

.col-set.infographic li > .panel button {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: -800px;
}

.col-set.infographic li > .panel button:hover + .img, .col-set.infographic li > .panel button:active + .img, .col-set.infographic li > .panel buttonfocus + .img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

@media screen and (max-width: 1009px), print {
  .col-set.infographic:first-child {
    margin-top: -20px;
  }
  .col-set.infographic li {
    width: calc(33.33333333% - 20px);
    margin: 20px 20px 0 0 !important;
  }
  .col-set.infographic li > .panel .txt {
    font-size: 2.5vw;
  }
  .col-set.infographic li > .panel .txt em {
    font-size: 4.4vw;
  }
  .col-set.infographic li > .panel .txt small {
    font-size: 1.4vw;
  }
}

@media screen and (max-width: 767px) {
  .col-set.infographic:first-child {
    margin-top: -4vw;
  }
  .col-set.infographic li {
    width: calc(100% - 15px);
    margin: 4vw 0 0 0 !important;
  }
  .col-set.infographic li > .panel {
    border-radius: 10px;
  }
  .col-set.infographic li > .panel .img {
    top: 12%;
    -webkit-transition: none;
    transition: none;
  }
  .col-set.infographic li > .panel .txt {
    bottom: 14%;
    font-size: 1.5rem;
  }
  .col-set.infographic li > .panel .txt em {
    font-size: 2.7rem;
  }
  .col-set.infographic li > .panel .txt small {
    font-size: 0.94rem;
  }
  .col-set.infographic li > .panel button:hover + .img, .col-set.infographic li > .panel button:active + .img, .col-set.infographic li > .panel buttonfocus + .img {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

/* ---- drawers - pc ---- */
.infographic + .drawer {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height .3s ease-out;
  transition: height .3s ease-out;
}

.infographic + .drawer .tip {
  position: absolute;
  left: 50%;
  top: 8px;
  width: 0;
  height: 0;
  margin-left: -25px;
  border-style: solid;
  border-width: 0 25px 25px 25px;
  border-color: transparent transparent #fafafa transparent;
  -webkit-transition: left .3s ease-in-out;
  transition: left .3s ease-in-out;
}

.infographic + .drawer .tip.left {
  left: calc((100% - 60px) / 6);
}

.infographic + .drawer .tip.center {
  left: 50%;
}

.infographic + .drawer .tip.right {
  left: calc(100% - (100% - 60px) / 6);
}

.infographic + .drawer .inner {
  height: 100%;
  padding-top: 30px;
}

.infographic + .drawer .panel {
  position: relative;
  height: 100%;
  padding: 50px 10%;
  border-radius: 20px;
  background-color: #fafafa;
}

.infographic + .drawer .panel .desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 10%;
  top: 50px;
  width: 80%;
  opacity: 0;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.infographic + .drawer .panel .desc.show {
  opacity: 1;
}

.infographic + .drawer .panel .img {
  margin: 0;
  width: 30%;
}

.infographic + .drawer .panel .txt {
  width: 65%;
}

.infographic + .drawer .panel .txt .heading-panel {
  font-size: 1.31rem;
  font-weight: bold;
  line-height: 1.5;
}

.infographic + .drawer .panel .txt p {
  margin: 15px 0 0;
  line-height: 1.8;
}

.infographic + .drawer .panel .txt p.note {
  margin: 10px 0 0;
  font-size: 0.81rem;
  line-height: 1.6;
}

.infographic + .drawer .panel button.close {
  position: absolute;
  right: 30px;
  top: 30px;
  padding: 0 25px 0 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #545454;
  font-size: 0.94rem;
  font-weight: bold;
}

html:not(.sp) .infographic + .drawer .panel button.close:hover, html:not(.sp) .infographic + .drawer .panel button.close:active, html:not(.sp) .infographic + .drawer .panel button.close:focus {
  color: #545454;
  text-decoration: underline;
}

.infographic + .drawer .panel button.close::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
  background-repeat: no-repeat;
  background-size: 400px 200px;
  background-position: -100px 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.infographic + .drawer .panel button.next,
.infographic + .drawer .panel button.prev {
  position: absolute;
  right: 16px;
  top: 50%;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  padding: 0;
  border: 0 none;
  border-radius: 0;
  background-color: transparent;
  background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_red.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 32px;
  overflow: hidden;
  text-indent: -400px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  opacity: 1;
  -webkit-transition: background-position .2s;
  transition: background-position .2s;
}

html:not(.sp) .infographic + .drawer .panel button.next:hover, html:not(.sp)
.infographic + .drawer .panel button.prev:hover {
  background-position: 90% 50%;
}

.infographic + .drawer .panel button.prev {
  right: auto;
  left: 16px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

@media screen and (max-width: 1009px), print {
  .infographic + .drawer .tip {
    top: 5px;
  }
  .infographic + .drawer .tip.left {
    left: calc((100% - 40px) / 6);
  }
  .infographic + .drawer .tip.right {
    left: calc(100% - (100% - 40px) / 6);
  }
  .infographic + .drawer .inner {
    padding-top: 20px;
  }
}

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

/* ---- drawers - sp ---- */
.infographic .drawer {
  display: none;
}

@media screen and (max-width: 767px) {
  .infographic .drawer {
    display: block;
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition: height .3s ease-out;
    transition: height .3s ease-out;
  }
  .infographic .drawer .tip {
    position: absolute;
    left: 50%;
    top: .8vw;
    width: 0;
    height: 0;
    margin-left: -5vw;
    border-style: solid;
    border-width: 0 5vw 4vw 5vw;
    border-color: transparent transparent #fafafa transparent;
  }
  .infographic .drawer .inner {
    padding-top: 4vw;
  }
  .infographic .drawer .panel {
    padding: 9vw 48px;
    border-radius: 10px;
    background-color: #fafafa;
  }
  .infographic .drawer .panel .img {
    display: none;
  }
  .infographic .drawer .panel .txt .heading-panel {
    font-size: 1.31rem;
    font-weight: bold;
    line-height: 1.5;
  }
  .infographic .drawer .panel .txt .heading-panel br {
    display: none;
  }
  .infographic .drawer .panel .txt p {
    margin: 4vw 0 0;
    line-height: 1.8;
  }
  .infographic .drawer .panel .txt p.note {
    margin: 4vw 0 0;
    font-size: 0.88rem;
    line-height: 1.6;
  }
  .infographic .drawer button.close {
    position: absolute;
    right: 0;
    top: 4vw;
    width: 48px;
    height: 48px;
    padding: 0;
    border-style: none;
    border-radius: 0;
    background-color: transparent;
    overflow: hidden;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: -400px;
  }
  .infographic .drawer button.close::after {
    content: "";
    display: block;
    position: absolute;
    left: 14px;
    top: 14px;
    width: 20px;
    height: 20px;
    background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_link.png);
    background-repeat: no-repeat;
    background-size: 400px 200px;
    background-position: -100px 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .infographic .drawer button.next,
  .infographic .drawer button.prev {
    position: absolute;
    right: 0;
    top: calc(50% + 2vw);
    width: 48px;
    height: 48px;
    margin-top: -24px;
    padding: 0;
    border: 0 none;
    border-radius: 0;
    background-color: transparent;
    background-image: url(https://s.yimg.jp/i/docs/integrate/images/common/icon_arrow_red.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 32px;
    overflow: hidden;
    text-indent: -400px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    opacity: 1;
    -webkit-transition: background-position .2s;
    transition: background-position .2s;
  }
  html:not(.sp) .infographic .drawer button.next:hover, html:not(.sp)
  .infographic .drawer button.prev:hover {
    background-position: 90% 50%;
  }
  .infographic .drawer button.prev {
    right: auto;
    left: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
}

/*---------------------------------------------
	human resource: career
  ---------------------------------------------*/
#job-list {
  opacity: 1;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

#job-list.hidden {
  opacity: 0;
}

#job-list > div {
  opacity: 0;
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: opacity 1s ease-out, -webkit-transform .3s ease-out;
  transition: opacity 1s ease-out, -webkit-transform .3s ease-out;
  transition: opacity 1s ease-out, transform .3s ease-out;
  transition: opacity 1s ease-out, transform .3s ease-out, -webkit-transform .3s ease-out;
}

#job-list > div.show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

#job-list .no-job {
  width: calc(100% - 30px);
  margin-bottom: 0;
  padding: 100px 0;
  text-align: center;
}

#btn-more-job {
  display: none;
}

#btn-more-job.show {
  display: block;
}

@media screen and (max-width: 1009px), print {
  #job-list .no-job {
    width: calc(100% - 20px);
  }
}

@media screen and (max-width: 767px) {
  #job-list .no-job {
    width: calc(100% - 15px);
  }
}

/*---------------------------------------------
	human resource: internship
  ---------------------------------------------*/
.internship-index {
  background-color: #f1f2f4;
}

.internship-index .txt h1 {
  padding: 40px 0;
}

.internship-index .txt h1 img {
  height: 165px;
}

.internship-article {
  background-color: #f1f2f4;
}

.internship-article .txt h1 {
  padding: 20px 0;
}

.internship-article .txt h1 img {
  height: 100px;
}

@media screen and (max-width: 767px) {
  .internship-index .txt h1 {
    padding: 12vw 0;
  }
  .internship-index .txt h1 img {
    width: 75vw;
    max-width: 360px;
    height: auto;
  }
  .internship-article .txt h1 {
    padding: 5vw 0;
  }
  .internship-article .txt h1 img {
    width: 60vw;
    max-width: 300px;
    height: auto;
  }
}

/*---------------------------------------------
	human resource: career
  ---------------------------------------------*/
#keys-position-wrapper {
  height: 0;
  overflow: hidden;
  -webkit-transition: height .3s ease-out;
  transition: height .3s ease-out;
}

#keys-position-wrapper h3 {
  padding-top: 50px;
}
