*{margin:0; padding:0;}

@font-face{font-family:"NotoSansCJKjp";src:url('../fonts/NotoSansCJKjp-Regular.otf')}
@font-face{font-family:"NotoSansCJKjp-Medium";src:url('../fonts/NotoSansCJKjp-Medium.otf')}
@font-face{font-family:"NotoSansCJKjp-Bold";src:url('../fonts/NotoSansCJKjp-Bold.otf')}

@font-face{font-family:"NewYork";src:url('../fonts/NewYork.ttf')}


:root {
    --transition: .4s cubic-bezier(.4,.47,.17,.98);
}

html
{font-size: 100%;}


html, body
{height:100%;}

::-webkit-scrollbar 
{width:7px; height:3px;}

::-webkit-scrollbar-track 
{background:#f1f1f1;}
 
::-webkit-scrollbar-thumb 
{background:#888; border-radius:20px;}

::-webkit-scrollbar-thumb:hover 
{background:#555; }

::-moz-selection 
{color: #fff; background: #007bbd;}

::selection 
{color: #fff; background: #007bbd;}



body
{margin:0; padding:0; color: #212529; font-family:"NotoSansCJKjp-Medium"; font-size:1rem; overflow-x:hidden; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -moz-osx-font-smoothing: grayscale;}

input
{outline:none; border:none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; font-family:"NotoSansCJKjp-Medium";}

button
{outline:none !important; cursor:pointer; border:none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; font-family:"NotoSansCJKjp-Medium"; background:none; transition: var(--transition);}

select
{outline:none; border:none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; font-family:"NotoSansCJKjp-Medium";}

textarea
{outline:none; border:none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; font-family:"NotoSansCJKjp-Medium";}

div
{-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

img
{max-width:100%; outline:none !important; border:none !important;}

a
{color:#348CC7; outline:none !important; text-decoration:none !important;
transition: var(--transition);}

ul
{padding:0; margin:0; list-style:none;}

label
{font-size:1rem; font-weight:600;}

h1
{padding:0; margin:0; font-size: 4rem; line-height: 1.3;}

h2
{padding:0; margin:0; font-size: 2.125rem; line-height: 1.3;}

h3
{padding:0; margin:0; font-size: 1.5rem; font-family: var(--primary-font-JB); line-height: 1.3;}

h4
{padding:0; margin:0; font-size:1.25rem; line-height: 1.3; font-family: var(--primary-font-M);}

h5
{padding:0; margin:0; font-size: 1.1rem;}

h5
{padding:0; margin:0;}

h6
{padding:0; margin:0;}

p
{line-height:1.5em; font-size: 0.95rem; margin:0;}

b
{font-weight: 700;}




.close
{outline:none !important; border:none !important;}

.no_pad
{padding:0 !important;}

.no_marg
{margin:0 !important;}

.input
{width:100%; height: 50px; border:1px solid #edeceb; padding:0 15px 0 15px; transition: var(--transition); font-size: 14px; background: #f7f6f5; border-radius: 10px;}

.input:focus
{border-color: #1b1f4b;}

.textarea
{width:100%; padding: 15px; border:1px solid #edeceb; background: #f7f6f5; height: 200px; transition: var(--transition); font-size: 14px; border-radius: 10px;}

.textarea:focus
{border-color: #1b1f4b;}

.select
{width:100%; height:40px; padding:0 15px 0 15px; border:1px solid #edeceb; background:#f7f6f5; 
-webkit-appearance: none; border-radius: 5px; font-size: 14px;
-moz-appearance: none;
cursor: pointer;
background: url(../images/select_arrow.png) no-repeat #f7f6f5;
background-position: right 15px center; transition: var(--transition);}

.select:focus
{border:1px solid #1b1f4b;}

.modal.fade .modal-dialog {
-webkit-transform: scale(0.7);
  -moz-transform: scale(0.7);
  -ms-transform: scale(0.7);
  transform: scale(0.7);
  opacity: 0;
  transition: var(--transition);
}

.modal.fade.show .modal-dialog {
   -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.modal-open .modal
{padding:0 !important; z-index:99999999; background: rgba(0,0,0,0.7);}

.modal-dialog
{width:100% !important; max-width:100% !important; height:100vh; display:flex; position:relative; padding:50px 0 50px 0; overflow:auto;
 margin:0;
}

.modal-content
{border:none; border-radius:0; width:460px; max-width:initial;  box-shadow:0 19px 50px rgba(0, 0, 0, 0.10); border-radius:0; margin:auto;}

.modal-backdrop
{display:none;}

.PBth100
{padding: 100px 0 100px 0;}

.PT100
{padding-top: 100px;}

.PB100
{padding-bottom: 100px;}

.PBth80
{padding: 80px 0 80px 0;}

.PT80
{padding-top: 80px;}

.PB80
{padding-bottom: 80px;}

.PBth70
{padding: 70px 0 70px 0;}

.PT70
{padding-top: 70px;}

.PB70
{padding-bottom: 70px;}

.PT60
{padding-top: 60px;}

.PBth60
{padding: 60px 0 60px 0;}

.PT50
{padding-top: 50px;}

.PBth50
{padding: 50px 0 50px 0;}

.PBth40
{padding: 40px 0 40px 0;}

.PT40
{padding-top: 40px;}

.PB40
{padding-bottom: 40px;}

.PT30
{padding-top: 30px;}

.PT20
{padding-top: 20px;}

.PT10
{padding-top: 10px;}

.primaryHead
{width: 100%;}

.primaryHead h2
{font-family:"NewYork"; font-size: 3rem; font-weight: normal;}

.primaryBtn
{display: inline-block; height: 50px; line-height: 50px; padding: 0 60px 0 25px; background: #dbd3ae; color: #2a2a2a!important; font-size: 15px;   letter-spacing: .1em; position: relative;}

.primaryBtn::after
{content: ""; width: 30px; height: 1px; background: #2a2a2a; position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}

.primaryBtn::before
{content: ""; width: 12px; height: 12px; border-right: 1px solid #2a2a2a; border-bottom: 1px solid #2a2a2a; position: absolute; top: 50%; right: 0px; transform: translateY(-50%) rotate(-45deg); margin: 0 16px 0 0;}

.primaryBtn:hover
{padding: 0 65px 0 25px;}

.blkBtn
{background: #2a2a2a; color: #fff !important;}

.blkBtn::after
{background: #fff;}

.blkBtn::before
{ border-color: #fff;}



.mainLogo
{width: 15%; height: 28%; position: absolute; top: 0; left: 0; background: #dde0d2; z-index: 9;} 

.mainLogo a
{display: block; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}

.mainLogo img
{width: 60%;}

.masterHead
{width: 100%; height: 100vh; position: relative;}

.masterHeadCol1
{width: 15%; height: 28%; position: absolute; top: 0; left: 0;}

.masterHeadCol1 a
{display: block; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;}

.masterHeadCol1 img
{width: 60%;}

.masterHeadCol2
{width: 25%; height: 28%; position: absolute; top: 0; left: 15%;}

.masterHeadCol3
{width: 15%; height: 36%; position: absolute; top: 28%; left: 0;}

.masterHeadCol4
{width: 15%; height: 36%; position: absolute; top: 64%; left: 0;}

.masterHeadCol5
{width: 25%; height: 36%; position: absolute; top: 28%; left: 15%;}

.masterHeadCol6
{width: 12.5%; height: 36%; position: absolute; bottom: 0; left: 15%;}

.masterHeadCol7
{width: 12.5%; height: 36%; position: absolute; bottom: 0; left: 27.5%; background: #707070;}

.masterHeadCol8
{width: 42%; height: 64%; position: absolute; top: 0; left:40%;}

.masterHeadCol9
{width: 21%; height: 36%; position: absolute; bottom: 0; left:40%;}

.masterHeadCol10
{width: 21%; height: 36%; position: absolute; bottom: 0; right:18%;}

.masterHeadCol11
{width: 18%; height: 32%; position: absolute; top: 0; right:0;}

.masterHeadCol12
{width: 18%; height: 32%; position: absolute; top: 32%; right:0;}

.masterHeadCol13
{width: 18%; height: 36%; position: absolute; bottom: 0; right:0;}

.masterHeadCol
{overflow: hidden; opacity: 0.1;}

.masterHeadCol .slick-initialized .slick-slide
{padding: 0 !important;}

.masterHeadSliderCol
{width: 100%; height: 100%;}

.masterHeadColPic
{width: 100%; height: 100%;}

.masterHeadColPic img
{width: 100%;}

.masterHeadSldrCn
{width: 100%; height: 100%; padding: 0 0 0 0; position: relative; z-index: 1; position: relative;}

.masterHeadSldrCnbx
{width: 100%; height: 100%; background: #fff;}

.masterHeadSlider
{width: 100%; height: 100%;}

.masterHeadOvr
{position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; z-index: 2;}

.masterHeadOvrBx
{width: 100%; padding: 10vw 0 0 12vw;}

.masterHeadOvr h1
{font-family: "NewYork"; font-size: 6vw; font-weight: normal; line-height: 1.2em;}



.scrollDwnBx
{width: 10px; height: 195px; position: absolute; bottom: 0; left: 50px; z-index: 3;}

.scrollDwnTxt
{position: absolute; top: -12px; left: -1px; font-family: 'EB Garamond', serif; font-style: normal; font-size: 12px; letter-spacing: 0.32em; z-index: 1; text-transform: uppercase; color: #212529; white-space: nowrap;
vertical-align: top;
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
}

.leftHeaderScroll
{width: 20px; height: 70px; position: absolute; left: -3px; top: 125px; display: block; overflow: hidden;}

.leftHeaderScrollBx
{width: 1px; height: 70px; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);}

.leftHeaderScrollBx:before
{content: ""; height: 70px; position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    -webkit-animation: scroll 2s ease-in-out infinite;
    animation: scroll 2s ease-in-out infinite; background: #212529;

  }

@-webkit-keyframes scroll{0%{top:-100%}to{top:100%}}@keyframes scroll{0%{top:-100%}to{top:100%}}

.hmBlk1
{width: 100%; padding-bottom: 200px; background-repeat: no-repeat !important; background-position: bottom right !important; background-size: cover !important;} 

.hmBlk1Intro
{width: 100%;}

.hmBlk1IntroColLBx
{width: 100%; padding: 30px 30px 0 0;}

.hmBlk1IntroColLRow1
{width: 100%;}

.hmBlk1IntroColLRow1 p
{font-size: 15px; line-height: 220%; letter-spacing: 0.6px;}

.hmBlk1IntroColLRow2
{width: 100%;}

.hmBlk1IntroColLRow2Sec
{width: 100%;}

.hmBlk1IntroColLRow2Sec+.hmBlk1IntroColLRow2Sec
{margin-top: 20px;}

.hmBlk1IntroColLRow2Sec .primaryBtn
{min-width: 234px;}

.hmBlk1IntroColLRow2Sec .primaryBtn:hover
{min-width: 240px;}

.hmBlk1IntroColRBx
{width: 100%; position: relative;}

.hmBlk1IntroColRPic1
{width: 100%;}

.hmBlk1IntroColRPic1 img
{width: 100%;}

.hmBlk1IntroColRPic2
{width: 270px; position: absolute; bottom: -70px; left: -170px;}

.hmBlk1IntroColRPic2 img
{width: 100%;}

.hmBlk2
{width: 100%; text-align: center;}

.hmBlk2Intro
{width: 100%;}

.hmBlk2Intro p
{font-size: 15px; line-height: 220%; letter-spacing: 0.6px;}

.hmBlk2Sec2
{width: 100%; text-align: center; text-align: center;}

.hmBlk2Sec2Bx
{max-width: 900px; padding: 10px; border: 1px solid #dbd3ae; margin: 0 auto; text-align: left;}

.hmBlk2Sec2BxInr
{width: 100%; padding: 40px; height: 100%; position: relative; overflow: hidden;}

.hmBlk2Sec2BxInrD
{width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.2;}

.hmBlk2Sec2BxInrD img
{width: 100%; height: 100%; object-fit: cover;}

.hmBlk2Sec2BxInr .row
{position: relative; z-index: 1;}

.hmBlk2Sec2ColLBx
{width: 100%; text-align: center;}

.hmBlk2Sec2ColL img
{height: 150px;}

.hmBlk2Sec2ColR
{text-align: center;}

.hmBlk2Sec2ColR p
{font-size: 15px; line-height: 220%; letter-spacing: 0.6px;}

.hmBlk2Sec2ColRRow2Btn
{display: inline-block;}

.hmBlk2Sec2ColRRow2Btn+.hmBlk2Sec2ColRRow2Btn
{margin: 0 0 0 15px;}

.hmBlk2Sec2ColRRow2Btn .primaryBtn
{min-width: 234px;}

.hmBlk2Sec2ColRRow2Btn .primaryBtn:hover
{min-width: 240px;}

.hmBlk3
{width: 100%; position: relative; background: #f6f6f6;}

.hmBlk3D1
{position: absolute; top: 0; right: 0;}

.hmBlk3D2
{position: absolute; bottom: 0; left: 0;}

.hmBlk3Row
{width: 100%; position: relative; z-index: 1;}

.hmBlk3RowCol
{width: 65%; position: relative; float: left;}

.hmBlk3RowColPic
{width: 100%;}

.hmBlk3RowColPic img
{width: 100%;}

.hmBlk3RowColOvr
{width: 565px; min-height: 260px; position: absolute; top: 40px; right: -200px; background: #fff; padding: 50px;}

.hmBlk3RowColOvr h3
{font-family: "NewYork"; font-size: 2.2rem; font-weight: normal; padding: 0 0 20px 0;}

.hmBlk3RowColOvr p
{font-size: 15px; line-height: 220%; letter-spacing: 0.6px;}

.hmBlk3Row+.hmBlk3Row
{margin-top: 50px;}

.hmBlk3Row:nth-child(even) .hmBlk3RowCol
{float: right;}

.hmBlk3Row:nth-child(even) .hmBlk3RowColOvr
{right: auto; left: -200px;}

.hmBlk4
{width: 100%;}

.hmBlk4 .primaryHead
{text-align: center;}

.hmBlk4Bx
{max-width: 900px; margin: 0 auto; position: relative;}

.hmBlk4Tbl
{width: 100%; padding: 3em; background: #f6f6f6;}

.hmBlk4Tbl .table
{margin:0; border:none;}

.hmBlk4Tbl .table td
{padding:20px 0 20px 0; border:none; border-bottom:1px solid #e4e4e4; letter-spacing:0.1em; line-height:25px;}

.hmBlk4Tbl .table th
{width:300px; padding:20px 0 20px 40px; border:none; border-bottom:1px solid #e4e4e4; letter-spacing:0.1em; position: relative;}

.hmBlk4Tbl .table th:after
{content: ""; width: 2px; height: 30px; background: #e4e4e4; position: absolute; top: 17px; right: 80px;}

.hmBlk4Tbl .table tr:first-child th:after
{top: 0; transform: inherit;}

.hmBlk4Tbl .table tr:first-child th, .hmBlk4Tbl .table tr:first-child td
{padding-top: 0;}

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




.footer
{width: 100%; padding: 25px 0 22px 0; background: #dde0d2; text-align: center;}

.footer p
{font-family: "NewYork";}

.fixBnr
{width: 370px; position: fixed; bottom: 20px; right: 20px; z-index: 9; padding: 0; transition: var(--transition);}

.fixBnrHide
{opacity: 0; visibility: hidden;}

.fixBnrBx
{display: block; width: 100%; height: 100%; padding: 20px; background: url(../images/fixBnrBg.jpg) no-repeat center center; background-size: cover; position: relative; color: #212529 !important; border: 1px solid #dbd3ae; border-radius: 15px; overflow: hidden;}

.fixBnrRow1
{width: 100%; padding: 0 50px 0 0;}

.fixBnrRow1 h3
{font-size: 1.3rem;}

.fixBnrRow1 p
{padding: 0.7em 0 0 0; font-size: 0.8rem;}

.fixBnrRow2
{width: 100%; padding: 15px 0 0 0;}

.fixBnrRow2 .primaryBtn
{height: 40px; line-height: 40px; font-size: 12.5px; letter-spacing: 0; padding: 0 40px 0 15px; transition: var(--transition); min-width: 173px;}

.fixBnrRow2 .primaryBtn::after
{width: 17px;}

.fixBnrRow2 .primaryBtn::before
{width: 8px; height: 8px;}

.fixBnrBx:hover .fixBnrRow2 .primaryBtn:hover
{min-width: 176px;}

.fixBnrRow2Btn
{width: 100%;}

.fixBnrRow2Btn+.fixBnrRow2Btn
{margin-top: 7px;}

.fixBnrCls
{width: 24px; height: 24px; background: #fff; border-radius: 50%; position: absolute; top: -7px; left: -7px; border: 1px solid #dbd3ae;}

.fixBnrCls img
{width: 16px; height: 16px; position: relative; top: -3px; left: 0;}