@charset "UTF-8";
/*webフォント読み込み*/
@font-face { /*Poppins-Bold*/
font-family: 'pop'; src: url("../fonts/Poppins-Bold.ttf"); src: url("../fonts/Poppins-Bold.woff2") format("woff2"), url("../fonts/Poppins-Bold.woff") format("woff"), url("../fonts/Poppins-Bold.ttf") format("truetype"); font-weight: 700; }
/*webフォント読み込み*/
@font-face { /*Poppins-Medium*/
font-family: 'pop'; src: url("../fonts/Poppins-Medium.ttf"); src: url("../fonts/Poppins-Medium.woff2") format("woff2"), url("../fonts/Poppins-Medium.woff") format("woff"), url("../fonts/Poppins-Medium.ttf") format("truetype"); font-weight: 500; }
@font-face { /*ZenKakuGothicNew-Bold*/
font-family: 'zen'; src: url("../fonts/ZenKakuGothicNew-Bold.ttf"); src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Bold.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Bold.ttf") format("truetype"); font-weight: 700; }
@font-face { /*ZenKakuGothicNew-Medium*/
font-family: 'zen'; src: url("../fonts/ZenKakuGothicNew-Medium.ttf"); src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Medium.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Medium.ttf") format("truetype"); font-weight: 500; }
/* Link
=========================================== */
a:link, a:visited { color: #000000; text-decoration: none; }

a:hover, a:active { color: #000000; text-decoration: underline; }

a { outline: none; transition: 0.3s; color: #000000; text-decoration: none; letter-spacing: 0; }

a img { transition: 0.3s; }

a:hover img { opacity: 0.7; }

:focus { outline: none; }

/* 共通設定
=========================================== */
html.loght { margin-top: 0 !important; }

html.showPage body.home { padding-top: 6.25vw; }

html.showPage body.home { min-width: inherit; background: url("../img/common/bg01.png") no-repeat top right #fff; background-size: 43.64vw; }

body { background-color: #fff; color: #000000; font-size: 16px; line-height: 1.6; font-family: 'zen',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-style: normal; font-weight: 500; overflow-wrap: anywhere; /* 収まらない場合に折り返す */ word-break: normal; /* 単語の分割はデフォルトに依存 */ line-break: strict; /* 禁則処理を厳格に適用 */ }

h1, h2, h3, h4, h5, h6 { line-height: 1.5; font-weight: 700; }

body#tinymce { min-width: inherit !important; }

input, select, textarea { font-family: 'zen',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-weight: 500; color: #000; letter-spacing: 0; }

.wrap { width: 1100px; margin: 0 auto; position: relative; }

.home .wrap { width: auto; }

table { width: 100%; }

img { max-width: 100%; height: auto; }

.no-pc { display: inline-block; pointer-events: none; text-decoration: none !important; }

div#f-trigger { opacity: 0; position: absolute; left: 0; top: 90px; z-index: -20; }

/*共通見出し設定*/
.titles01 .en { font-size: 80px; font-weight: 700; display: block; line-height: 1; color: #EC2C11; font-family: "pop"; }
.titles01 .en span.first-t { color: #013384; }
.titles01 .jp { font-size: 30px; font-weight: 700; display: block; line-height: 1.4; margin-top: 6px; color: #013384; }

.titles02 { font-size: 24px; color: #013384; font-weight: 700; line-height: 1.6; padding-left: 20px; position: relative; margin-bottom: 30px; }

.titles02:before { content: ""; width: 4px; height: calc(100% - 8px); left: 0; top: 4px; background: #013384; position: absolute; }

/*共通ボタン設定*/
.btn01 { text-align: right; }
.btn01 a { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; color: #013384; font-weight: 700; }
.btn01 a span.text { margin-right: 10px; }
.btn01 a span.arrow { width: 32px; height: 32px; border-radius: 6px; box-sizing: border-box; border: solid 1px #013384; overflow: hidden; transition: 0.3s; position: relative; }
.btn01 a span.arrow span.arrow-in { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 30px; height: 30px; position: relative; z-index: 3; }
.btn01 a span.arrow span.arrow-in img { display: block; filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(43deg) brightness(103%) contrast(102%); opacity: 1; position: relative; right: 0; }
.btn01 a span.arrow:before { content: ""; width: 104%; height: 104%; background: #013384; position: absolute; left: -2%; top: -2%; transition: 0.3s; }
.btn01 a:hover span.arrow { background: #fff; }
.btn01 a:hover span.arrow span.arrow-in img { filter: brightness(0) saturate(100%) invert(11%) sepia(38%) saturate(7469%) hue-rotate(212deg) brightness(97%) contrast(101%); right: -20px; transition: 0.3s; }
.btn01 a:hover span.arrow:before { transform: scale(0.2); border-radius: 100%; transition-delay: 0.2s; }

.btn02 { text-align: left; }
.btn02 a { display: flex; flex-wrap: wrap; align-items: center; color: #013384; font-weight: 700; }
.btn02 a span.text { margin-left: 10px; }
.btn02 a span.arrow { width: 32px; height: 32px; border-radius: 6px; box-sizing: border-box; border: solid 1px #013384; overflow: hidden; transition: 0.3s; position: relative; background: #013384; }
.btn02 a span.arrow span.arrow-in { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 30px; height: 30px; position: relative; z-index: 3; }
.btn02 a span.arrow span.arrow-in img { display: block; filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(43deg) brightness(103%) contrast(102%); opacity: 1; position: relative; left: 0; }
.btn02 a span.arrow:before { content: ""; width: 104%; height: 104%; background: #013384; position: absolute; left: -2%; top: -2%; transition: 0.3s; }
.btn02 a:hover span.arrow { background: #fff; }
.btn02 a:hover span.arrow span.arrow-in img { filter: brightness(0) saturate(100%) invert(11%) sepia(38%) saturate(7469%) hue-rotate(212deg) brightness(97%) contrast(101%); left: -20px; transition: 0.3s; }
.btn02 a:hover span.arrow:before { transform: scale(0.2); border-radius: 100%; transition-delay: 0.2s; }

/*グラデーション*/
.gra-bg { display: inline-block; padding: 5px 12px; background: linear-gradient(120deg, #D80000 0%, #D80000 20%, #D85E00 100%); color: #fff; border-radius: 10px; }

.gra-text { background: linear-gradient(180deg, #D80000 0%, #D85E00 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }

/*スライダー　ふわっ*/
div#mv-slider, div.item-mains, div.item-thumbs, div.item-slider.flex, div.slider02, div.slider03, div.des-slider, div.gallery-slider, div.gallery-thumbs { opacity: 0; transition: opacity .3s linear; }

div#mv-slider.slick-initialized, div.item-mains.slick-initialized, div.item-thumbs.slick-initialized, div.item-slider.flex.slick-initialized, div.slider02.slick-initialized, div.slider03.slick-initialized, div.des-slider.slick-initialized, div.gallery-thumbs.slick-initialized, div.gallery-slider.slick-initialized { opacity: 1; }

/*font*/
.ship { font-family: 'ship'; }

.pop { font-family: 'pop'; }

/* header */
/*-------------------------------------------*/
#header { background: #fff; width: 95.83vw; position: fixed; z-index: 100; left: 0; right: 0; margin: 0 auto; top: 2.08vw; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); display: flex; flex-wrap: wrap; align-items: center; height: 4.17vw; box-sizing: border-box; padding: 0.52vw 2.08vw; border-radius: 0.52vw; }

div#header .logo { width: 8.33vw; }

div#gnav { margin-left: auto; }
div#gnav ul.flex { justify-content: flex-end; }
div#gnav ul.flex > li:first-child { margin-left: 0; }
div#gnav ul.flex > li { position: relative; margin-left: 3.125vw; }
div#gnav ul.flex > li > a { font-size: 1vw; display: block; }

div.btn-3d { display: inline-block; position: relative; width: 100%; margin: 0 auto; cursor: pointer; transform-style: preserve-3d; transition: 0.3s; }

a:hover div.btn-3d span.m-off { transform: rotateX(0); }

a:hover div.btn-3d span.m-on { transform: rotateX(90deg); }

span.m-off, span.m-on { position: absolute; width: 100%; height: 100%; line-height: 1.2; transition: all 0.3s; transform-origin: center center -0.83vw; left: 0; right: 0; margin: 0 auto; }

span.m-off { transform: rotateX(-90deg); top: 0; }

span.m-on { transform: rotateX(0); position: relative; display: block; }

/*スクロール追従*/
/*パンくず*/
/*-------------------------------------------*/
div#bread { z-index: 2; position: relative; padding: 0 0 8px; text-align: right; }

#bread ul li { display: inline-block; font-size: 13px; font-weight: 500; color: #979797; line-height: 1.4; }

ul.bread-list li a { font-size: 13px; color: #979797; }

ul.bread-list li:after { content: "-"; margin-left: 10px; margin-right: 5px; display: inline-block; position: relative; color: #979797; }

ul.bread-list li:last-child:after { content: none; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv { position: relative; z-index: 3; letter-spacing: 0; }

/*下層ページ*/
/* contents */
/*-------------------------------------------*/
.bg-blue { background: #F5F9FF; }

/* footer */
/*-------------------------------------------*/
div#footer { position: relative; background: #013384; padding: 2.08vw 5.2vw 4.16vw; }

div#ftBox01 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; color: #fff; }
div#ftBox01 h2.ft-logo { width: 12.5vw; }
div#ftBox01 h2.ft-logo img { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(4deg) brightness(100%) contrast(102%); }
div#ftBox01 .ft-bottom { text-align: right; }
div#ftBox01 .ft-bottom .text { font-size: 1.04vw; font-weight: 700; }
div#ftBox01 .ft-bottom .copyright { font-size: 0.83vw; }

/* TOPへ戻る */
/*-------------------------------------------*/
div#top-link { position: absolute; left: 0; top: 0; opacity: 0; z-index: -20; }

/* OTHER
=========================================== */
.tright { text-align: right; }

.tleft { text-align: left; }

.tcenter { text-align: center; }

.flL { float: left; }

.flR { float: right; }

.bold { font-weight: bold; }

.inb { display: inline-block; }

.block { display: block; }

.red { color: #C90714; }

.red02 { color: #ff0000; }

.blue { color: #0075A4; }

.blue02 { color: #0093D6; }

.brown { color: #C07E23; }

.yellow { color: #FFD400; }

.orange { color: #EE5A35; }

.green { color: #00582D; }

.d-green { color: #005E4B; }

.green02 { color: #01A9AE; }

.navy { color: #374b8e; }

.pink { color: #ff7373; }

.gray { color: #818181; }

.sp { display: none !important; }
