/* Reset */
* {margin: 0; padding: 0; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; word-break: keep-all;}
html, body {max-width: 100%; min-height: 100%; font-size: 16px;}
html {overflow-x: hidden; -webkit-text-size-adjust: none;}
body {-webkit-print-color-adjust: exact; background: #FFFFFF; font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif; font-style: normal; font-weight: 400; color: #333333; line-height: 1.3; letter-spacing: -0.5px; top: inherit !important;}
ul, li, dl,dt,dd {margin: 0; padding: 0; list-style: none;}
a {color: #333333; text-decoration: none;}
img {border: 0; font-size: 0; max-width: 100%;}
table, tr, td {border-collapse: collapse;}
h3, p, span, p > b, a {word-break: break-all;}
textarea, select {font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif; font-size: 1em;}
input, button {margin: 0; padding: 0; font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, Meiryo, "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif; font-size: 1em;}
input[type="submit"], button {cursor: pointer;}
input {border-radius: 0;}
fieldset {border: 0;}
caption, legend {font-size: 0; line-height: 0; height: 0; position: relative;}
*:before, *:after {-webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;}
:focus-visible {outline: 3px dotted #FF0000;}

/* Content Line */
.container {width: 100%; padding-left: 30px; padding-right: 30px;}
.wrapper {width: 1660px; max-width: 100%; margin: 0 auto;}
.wrapper2 {width: 1520px; max-width: 100%; margin: 0 auto;}
.wrapper3 {width: 1370px; max-width: 100%; margin: 0 auto;}

/* Typography */
h1 {font-size: 3.125rem; font-weight: 800;}
h2 {font-size: 2.5rem; font-weight: 700;}
h3 {font-size: 2.25rem; font-weight: 600;}
h4 {font-size: 1.75rem; font-weight: 500;}
h5 {font-size: 1.25rem; font-weight: 700;}
h6 {font-size: 1rem; font-weight: 700;}
.ftTp {color: transparent !important;}

/* Width / Height */
.w-per100 {width: 100%;}
.w-per95 {width: 95%;}
.w-per90 {width: 90%;}
.w-per85 {width: 85%;}
.w-per80 {width: 80%;}
.w-per75 {width: 75%;}
.w-per70 {width: 70%;}
.w-per66 {width: 66.667%;}
.w-per65 {width: 65%;}
.w-per60 {width: 60%;}
.w-per55 {width: 55%;}
.w-per50 {width: 50%;}
.w-per45 {width: 45%;}
.w-per40 {width: 40%;}
.w-per35 {width: 35%;}
.w-per33 {width: 33.333%;}
.w-per30 {width: 30%;}
.w-per25 {width: 25%;}
.w-per20 {width: 20%;}
.w-per15 {width: 15%;}
.w-per10 {width: 10%;}
.w-per5 {width: 5%;}
.wauto {width: auto;}

.w-px50 {width: 50px; min-width: 50px !important;}
.w-px100 {width: 100px; min-width: 100px !important;}
.w-px200 {width: 200px;}
.w-px300 {width: 300px;}
.w-px400 {width: 400px;}
.w-px500 {width: 500px;}

.h-per100 {height: 100%;}

/* Radius */
.round-per50 {border-radius: 50%;}
.round100 {border-radius: 6.25rem;}
.round90 {border-radius: 5.625rem;}
.round80 {border-radius: 5rem;}
.round70 {border-radius: 4.375rem;}
.round60 {border-radius: 3.75rem;}
.round50 {border-radius: 3.125rem;}
.round40 {border-radius: 2.5rem;}
.round30 {border-radius: 1.875rem;}
.round25 {border-radius: 1.563rem;}
.round20 {border-radius: 1.25rem;}
.round15 {border-radius: 0.938rem;}
.round10 {border-radius: 0.625rem;}
.round5 {border-radius: 0.313rem;}

/* Padding */
.pl10 {padding-left: 10px;}
.pl20 {padding-left: 20px;}
.pl30 {padding-left: 30px;}
.pl40 {padding-left: 40px;}
.pl50 {padding-left: 50px;}
.pt10 {padding-top: 10px;}
.pt20 {padding-top: 20px;}
.pt30 {padding-top: 30px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}

/* Sound Only */
.sound_only{display: inline-block !important; position: absolute; top: 0; left: 0; width: 0; height: 0; margin: 0 !important; padding: 0 !important; font-size: 0; line-height: 0; border: 0 !important; overflow: hidden !important;}

/* Clearfix */
.cf:before,
.cf:after{content: " "; display: table;}
.cf:after{clear: both;}
.cf{*zoom: 1;}

/* Scroll Lock */
.scroll-lock {overflow: hidden;}

/* Text Row */
.text-row1{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.text-row2 {white-space: normal; overflow: hidden; line-height: 1.5; max-height: 3em; text-align: left; word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.text-row3 {white-space: normal; overflow: hidden; line-height: 1.5; max-height: 4.5em; text-align: left; word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;}

/* Font Family */
.f-gmarket {font-family: 'GmarketSans', serif !important;}

/* Font Type */
.text-type1 {font-size: 40px; font-weight: bold; color: #333333;}
.text-type2 {font-size: 32px; font-weight: 600; color: #333333;}
.text-type3 {font-size: 22px; font-weight: 400; color: #333333; line-height: 1.15;}
.text-type4 {font-size: 18px; font-weight: 400; color: #333333; line-height: 1.25;}

/* Text Align */
.text-left {text-align: left !important;}
.text-right {text-align: right !important;}
.text-center {text-align: center !important;}

/* Text Weight */
.text-bold {font-weight: bold;}
.text-semibold {font-weight: 600;}
.text-medium {font-weight: 500;}

/* Text Style */
.dot {position: relative; padding-left: 12px;}
.dot::before {content: '·'; position: absolute; top: 0; left: 0;}

.hyphen {position: relative; padding-left: 16px;}
.hyphen::before {content: '-'; position: absolute; top: 0; left: 0;}

.colon {position: relative; padding-left: 16px;}
.colon::before {content:":"; position: absolute; top: 0; left: 6px;  font-weight: 600;}

.reference {position: relative; padding-left: 16px;}
.reference::before {content:"※"; position: absolute; top: 0; left: -2px; font-weight: 600;}

.arrow {position: relative; padding-left: 20px;}
.arrow::before {content:"→"; position: absolute; top: 0; left: 0;}

/* Box */
.gray-box {padding: 43px 55px; background: #f6f6f6; border-radius: 15px;}
.gray-box-text {font-weight: bold;}

/* Column */
.i-col-0{font-size: 0;}
.i-col-1{font-size: 0;}
.i-col-2{font-size: 0;}
.i-col-3{font-size: 0;}
.i-col-4{font-size: 0;}
.i-col-5{font-size: 0;}
.i-col-6{font-size: 0;}
.i-col-7{font-size: 0;}
.i-col-8{font-size: 0;}
.i-col-9{font-size: 0;}
.i-col-10{font-size: 0;}
.i-col-11{font-size: 0;}
.i-col-12{font-size: 0;}

.i-col-0 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: auto;}
.i-col-1 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 100%;}
.i-col-2 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 50%;}
.i-col-3 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 33.333%;}
.i-col-4 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 25%;}
.i-col-5 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 20%;}
.i-col-6 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 16.666%;}
.i-col-7 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 14.285%;}
.i-col-8 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 12.5%;}
.i-col-9 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 11.111%;}
.i-col-10 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 10%;}
.i-col-11 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 9.09%;}
.i-col-12 > *{display: inline-block; font-size: 16px; vertical-align: middle; width: 8.333%;}

/* Image Fit */
.fit-cover {object-fit: cover; width: 100%; height: 100%; max-width: none;}
.fit-contain {object-fit: contain;}

/* Print */
@media print {
  body * {
    visibility: hidden !important;
  }

  .sub-body > .container > .wrapper3,
  .sub-body > .container > .wrapper3 * {
    visibility: visible !important;
  }
  .sub-body > .container > .wrapper3 {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
  }
}

/* Skip Navigation */
#skip-nav {position: absolute; left: 0; top: -1000px; width: 100%; height: 0px; z-index: 1000; line-height: 0px; font-size: 0px;}
#skip-nav a {display: block; text-align: center; width: 100%; line-height: 0px; font-size: 0px;}
#skip-nav a:focus, #skip-nav a:hover, #skip-nav a:active {display: block; position: absolute; left: 0px; top: 1000px; height: 30px; padding: 8px 0; background: #333333; font-size: 12px; font-weight: bold; line-height: 18px; color: #FFFFFF;}

/* Btn */
.btn-go {display: inline-block; position: relative; padding: 3.5px 18px; font-size: 20px; font-weight: 300; color: #FFFFFF; border: none; border-radius: 16px; background: #000000;}
.btn-go::before {content: ''; position: absolute; top: 0; left: 0; width: calc(100% - 4px); height: calc(100% - 4px); border: 2px solid #000000; border-radius: 16px; opacity: 0; transform: scale3d(0.6, 0.6, 1); transition: 0.3s;}
.btn-go:hover {background-color: transparent; color: #000000; transition: 0.3s;}
.btn-go:hover::before {transform: scale3d(1, 1, 1); opacity: 1;}

.btn-view {display: inline-block; position: relative; padding: 12px 17px; font-size: 12px; font-weight: 500; color: #FFFFFF;  border-radius: 19px; border: none; background: #FF5331;}
.btn-view i {display: inline-block; vertical-align: middle; width: 11px; height: 7px; margin-left: 8px; background: url('../img/arr_next_wh2.png') no-repeat center center/contain;}
.btn-view::before {content: ''; position: absolute; top: 0; left: 0; width: calc(100% - 4px); height: calc(100% - 4px); border: 2px solid #FF5331; border-radius: 19px; opacity: 0; transform: scale3d(0.6, 0.6, 1); transition: 0.3s;}
.btn-view:hover {background-color: transparent; color: #FF5331; transition: 0.3s;}
.btn-view:hover::before {transform: scale3d(1, 1, 1); opacity: 1;}
.btn-view:hover i {background-image: url('../img/arr_next_og2.png');}

.btn-read, .btn-download {display: inline-block; padding: 9px 17px; border: 1px solid #CCCCCC; background: #FFFFFF; font-size: 15px; font-weight: 500; color: #333333; transition: 0.3s;}
.btn-read i {display: inline-block; vertical-align: middle; width: 17px; height: 22px; margin-right: 16px; margin-top: -2px; background: url('../img/ico_move.png') no-repeat center center/contain;}
.btn-download i {display: inline-block; vertical-align: middle; width: 17px; height: 22px; margin-right: 11px; margin-top: -2px; background: url('../img/ico_download.png') no-repeat center center/contain;}
.btn-read:hover, .btn-download:hover {box-shadow: -5px -5px 5px 0px #fff9, -2px -2px 5px 0px #fff9, 5px 5px 5px 0px #0002, 2px 2px 5px 0px #0001;}

/* Tab */
.tab-menu {}
.tab-ctrl {display: flex; justify-content: space-between; /*flex-wrap: wrap;*/ gap: 20px;}
.tab-ctrl .tab-btn {flex: 1 auto; padding: 15px 20px; font-size: 16px; font-weight: 500; color: #000000; background: #FFFFFF; border: 1.5px solid #333333; border-radius: 12px; transition: 0.3s;}
.tab-ctrl .tab-btn.active {/*font-size: 18px;*/ font-weight: 500; color: #FFFFFF; background: #333333;}
.tab-contents {}
.tab-content {display: none;}
.tab-content:first-child {display: block;}

/* Table */
.table-container {}
.table-scroll {display: none; text-align: center; padding-bottom: 10px; font-size: 16px; font-weight: 500;}
.table-wrap {}
.table {width: 100%; border-top: 1px solid #FF5331;}
.table caption {}
.table tr {border-bottom: 1px solid #CCCCCC;}
.table th {padding: 10px; font-size: 18px; font-weight: 600; color: #333333; background: #FFEBE7; text-align: center;}
.table th:not(:last-child), .table td:not(:last-child) {border-right: 1px solid #CCCCCC;}
.table thead tr {height: 60px; /*height: 80px;*/}
.table tbody tr {height: 60px;}
.table tbody td {padding: 10px; font-size: 17px; font-weight: 400; color: #333333; text-align: center;}

.table-text-list {}
.table-text-item {}
.table-text-item ~ .table-text-item {margin-top: 14px;}
.table-text-item .point {color: #ff0000;}

.table-caption {padding-bottom: 10px; font-size: 14px; font-weight: 400; color: #333333;}
.table-caption .left {text-align: left;}
.table-caption .right {text-align: right;}

.table-caution {padding-top: 10px;}
.table-caution-txt {font-weight: 400; font-size: 16px; color: #ff0000;}

.table .highlight {background: #FEF7F5;}
.table .gray {background: #F0F0F0;}
.table .center {text-align: center;}
.table .left {text-align: left;}
.table .right {text-align: right;}
.table .bd-right {border-right: 1px solid #CCCCCC;}
.table .bd-left {border-left: 1px solid #CCCCCC;}

/* Pagination */
.paginationSet {margin-top: 50px; text-align: center; font-size: 0;}
.paginationSet > * {display: inline-block; vertical-align: middle;}
.pagination {display: inline-block; font-size: 0;}
.pagination li {display: inline-block; vertical-align: middle; padding: 0 4px;}
.pagination li a, .pagination li:not(.i) > span {display: inline-block; width: 50px; height: 50px; line-height: 50px; border-radius: 50%; background-color: #fafafa; font-weight: 400; font-size: 18px; color: #666666; transition: 0.3s;}
.pagination li.active > span {background-color: #ff5331; color: #ffffff;}
.pagination li em {font-style: normal;}
.pagination li a:hover {background-color: #ff5331; color: #ffffff;}
.pagination li.i {height: 50px; line-height: 50px; font-size: 0;}
.pagination li.first {margin-right: 20px; width: 13px; background: url('../img/arr_pg_first.png') no-repeat center/contain;}
.pagination li.prev {margin-right: 33px; width: 11px; background: url('../img/arr_pg_prev.png') no-repeat center/contain;}
.pagination li.next {margin-left: 33px; width: 11px; background: url('../img/arr_pg_next.png') no-repeat center/contain;}
.pagination li.end {margin-left: 20px; width: 13px; background: url('../img/arr_pg_last.png') no-repeat center/contain;}

/* Popup */
.popup {display: none; position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%); max-width: calc(100% - 60px); max-height: calc(100vh - 200px); padding: 60px 55px 110px; background: #ffffff; border-radius: 20px; box-shadow: 9px 8px 20px rgba(0,0,0,0.26); z-index: 1;}
.popup-inner {max-height: calc(100vh - 370px); overflow-x: auto;}
/* .popup-content {height: 65vh; overflow-y: auto;} */
.popup-ctrl {position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); text-align: center;}
.popup-btn {display: inline-block; vertical-align: middle; width: 150px; height: 50px; line-height: 50px; font-size: 18px; font-weight: 400;}
.popup-btn:not(:last-child) {margin-right: 8px;}
.popup-close-btn {background: #ffffff; border: 1px solid #ff5331; color: #ff5331;}