/* Scss Document */
ol, ul { list-style: none; }

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

a:focus { outline: none; }

img { vertical-align: bottom; }

a img { cursor: pointer; }

/*
@media screen and (max-width: 600px) {}
@media screen and (max-width: 992px) {}
@media screen and (max-width: 1200px) {}
*/
@keyframes blinking { 0% { opacity: 0; }
  69% { opacity: 0; }
  70% { opacity: 1; }
  100% { opacity: 1; } }
html { width: 100%; height: 100%; -webkit-text-size-adjust: none; overflow-x: hidden; }

body { background-image: none; background-color: #FFFFFF; }

.search-conditions { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 2vw; border-bottom: #ddd 1px dashed; margin-bottom: 6vw; flex-wrap: wrap; }
.search-conditions .filter-sort-box { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; width: 100%; -ms-align-items: center; align-items: center; }
.search-conditions .filter-sort-box > div { margin-bottom: 4vw; }
.search-conditions .filter-sort-box .toggle-switch { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; line-height: 5.5vw; margin-right: 6vw; }
.search-conditions .filter-sort-box .toggle-switch label { margin-right: 3vw; }
.search-conditions .filter-sort-box .toggle-switch .toggleButton { position: relative; display: block; width: 10.0vw; height: 5.5vw; border: 1px solid #fff; border-radius: 9999px; background-color: #ddd; cursor: pointer; }
.search-conditions .filter-sort-box .toggle-switch .toggleButton:has(:focus-visible) { outline: auto; }
.search-conditions .filter-sort-box .toggle-switch .toggleButton:has(:checked) { background-color: #00a34a; }
.search-conditions .filter-sort-box .toggle-switch .toggleButton .toggleButton__checkbox { appearance: none; position: absolute; top: 50%; left: 2px; width: 4.9vw; height: 4.9vw; border: 1px solid #0a0606; border-radius: 9999px; transform: translateY(-50%); outline: none; background-color: #fff; transition: left 0.2s; cursor: pointer; }
.search-conditions .filter-sort-box .toggle-switch .toggleButton .toggleButton__checkbox:checked { left: calc( 100% - 4.9vw); }
.search-conditions .filter-sort-box .select_wrapper { position: relative; margin-right: 6vw; }
.search-conditions .filter-sort-box .select_wrapper select { -webkit-appearance: none; appearance: none; cursor: pointer; padding: 1vw 7vw 1vw 2vw; border-radius: .5vw; width: 100%; box-sizing: border-box; border: #fff 1px solid; background: #000; color: #fff; }
.search-conditions .filter-sort-box .select_wrapper::after { content: ""; position: absolute; top: calc(50% - 1.4vw); right: 2.5vw; width: 2vw; height: 2vw; border-right: .3vw solid #00a34a; border-bottom: .3vw solid #00a34a; transform: rotate(45deg); }
.search-conditions .search { margin-bottom: 2vw; width: 100%; }
.search-conditions .search form { width: 60%; display: flex; position: relative; margin: 0 0 0 auto; padding: 0 6px; border: #fff 1px solid; border-radius: 100px; }
.search-conditions .search form input { display: block; padding: 8px 10px !important; margin: 0; width: 100% !important; height: auto; color: #fff; font-size: 1.5rem !important; line-height: 1; background: none; border: none !important; }
.search-conditions .search form button { position: relative; width: 40px; height: 40px; cursor: pointer; font-family: var(--bodyFontEn), var(--bodyFontJa), sans-serif !important; font-weight: var(--bodyFontWeightNormal); line-height: var(--bodyLineHeight); letter-spacing: var(--bodyLetterSpacing); }
.search-conditions .search form button::after { content: ''; position: absolute; inset: 0; width: 100%; height: 100%; mask: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-search%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%3E%3C%2Fcircle%3E%3Cline%20x1%3D%2221%22%20y1%3D%2221%22%20x2%3D%2216.65%22%20y2%3D%2216.65%22%3E%3C%2Fline%3E%3C%2Fsvg%3E) no-repeat center center/24px; -webkit-mask: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-search%22%3E%3Ccircle%20cx%3D%2211%22%20cy%3D%2211%22%20r%3D%228%22%3E%3C%2Fcircle%3E%3Cline%20x1%3D%2221%22%20y1%3D%2221%22%20x2%3D%2216.65%22%20y2%3D%2216.65%22%3E%3C%2Fline%3E%3C%2Fsvg%3E) no-repeat center center/24px; background-color: var(--textColor); }

@media screen and (max-width: 600px) { .item-list-area { padding: 0 10px !important; }
  .item-list-wrap .item-list { grid-template-columns: repeat(3, 1fr) !important; gap: var(--imageGapVer) 12px; }
  .item-list-wrap .item-list .item-list-item .text { font-size: 88%; line-height: 1.4; }
  .item-list-wrap .item-list .item-list-item .label_image { width: 40px; } }
@media screen and (min-width: 768px) { .search-conditions { padding-bottom: 10px; border-bottom: #ddd 1px dashed; margin-bottom: 20px; }
  .search-conditions .filter-sort-box { flex-wrap: nowrap; width: 100%; }
  .search-conditions .filter-sort-box > div { margin-bottom: 10px; }
  .search-conditions .filter-sort-box .toggle-switch { line-height: 24px; margin-right: 30px; }
  .search-conditions .filter-sort-box .toggle-switch label { margin-right: 10px; }
  .search-conditions .filter-sort-box .toggle-switch .toggleButton { width: 48px; height: 26px; border: 1px solid #fff; }
  .search-conditions .filter-sort-box .toggle-switch .toggleButton .toggleButton__checkbox { left: 2px; width: 24px; height: 24px; border: 1px solid #0a0606; }
  .search-conditions .filter-sort-box .toggle-switch .toggleButton .toggleButton__checkbox:checked { left: calc( 100% - 24px ); }
  .search-conditions .filter-sort-box .select_wrapper { margin-right: 30px; }
  .search-conditions .filter-sort-box .select_wrapper select { padding: 3px 30px 3px 12px; border-radius: 2px; }
  .search-conditions .filter-sort-box .select_wrapper::after { content: ""; top: calc(50% - 8px); right: 10px; width: 10px; height: 10px; border-right: 2px solid #00a34a; border-bottom: 2px solid #00a34a; }
  .search-conditions .search { margin-bottom: 8px; width: 280px; }
  .search-conditions .search form { width: 100%; padding: 0 10px; }
  .search-conditions .search form input { display: block; padding: 0 10px !important; }
  .search-conditions .search form button { width: 36px; height: 36px; } }
.banner-wrap.newStyle02 ul { width: 100%; max-width: 1300px; display: flex; flex-wrap: wrap; margin-left: auto; margin-right: auto; align-items: center; justify-content: space-between; }
.banner-wrap.newStyle02 ul li { width: 49%; margin-bottom: 2.1vw; height: 9.33vw; }
.banner-wrap.newStyle02 ul li a { display: block; width: 100%; height: 100%; background: white; display: flex; align-items: center; justify-content: center; }
.banner-wrap.newStyle02 ul li a img { height: 4.5vw; width: auto; filter: invert(31%) sepia(93%) saturate(2207%) hue-rotate(134deg) brightness(99%) contrast(103%); }
.banner-wrap.newStyle02 ul li a:hover { background: #00a34a; }
.banner-wrap.newStyle02 ul li a:hover img { transition: all 0.5s ease; filter: none; filter: invert(100%) sepia(0%) saturate(100%) hue-rotate(0deg) brightness(100%) contrast(100%); }

.news-area { opacity: 0; width: calc(100% - 36px) !important; max-width: 1300px; margin: 0 auto 44px; background: white; color: #111; padding: 4vw 4.6vw 2.4vw; }
.news-area.viewed { opacity: 1; }
.news-area h2 { text-align: center; margin: 0 auto 4.5vw; padding-bottom: 1.9vw; border-bottom: #111 1px solid; width: 100%; max-width: 900px; }
.news-area h2 img { width: 15.5vw; max-width: 145px; margin: 0 auto; }
.news-area div { padding-bottom: 1.2vw; }
.news-area div dl { display: flex; flex-wrap: wrap; align-items: center; width: 100%; max-width: 900px; margin: 0 auto 6vw; transition: .3s all; }
.news-area div dl:nth-child(n+3) { display: none; }
.news-area div dl.sd { display: flex; }
.news-area div dl dt { width: 100%; display: flex; align-items: center; justify-content: flex-start; margin-bottom: .3em; }
.news-area div dl dt date { font-weight: bold; margin: 0 1em; }
.news-area div dl dt span { font-weight: normal; background: #00a34a; color: white; padding: 0 1em; letter-spacing: .06em; line-height: 1.26; }
.news-area div dl dd { width: 100%; }
.news-area div dl dd p.acoSW { display: inline-block; color: #00a34a; text-decoration: underline; cursor: pointer; }
.news-area div dl dd p.acoSW:hover { text-decoration: none; }
.news-area div dl dd p.acoSW + p { display: none; margin-top: .5em; }
.news-area div dl dd p strong { display: block; font-weight: bold; font-size: 110%; margin-bottom: .25em; }
.news-area div dl dd p a { color: #00a34a; text-decoration: underline; }
.news-area div dl dd p a:hover { text-decoration: none; }
.news-area div p.readMore { text-align: right; cursor: pointer; }
.news-area div p.readMore img { width: 18vw; margin: 0 0 0 auto; }
.news-area div p.readMore img:hover { filter: invert(31%) sepia(93%) saturate(2207%) hue-rotate(134deg) brightness(99%) contrast(103%); }

.concept-area { opacity: 0; width: calc(100% - 36px) !important; max-width: 1300px; margin: 0 auto 44px; }
.concept-area.viewed { opacity: 1; }
.concept-area div > h2 { height: 36vw; background: url("../img/img_concept_01_sp.png") no-repeat 0 0; background-size: auto 36vw; display: flex; align-items: center; justify-content: flex-end; }
.concept-area div > h2 span { width: 59.6vw; margin-right: 1vw; }
.concept-area div > h2 span img { width: 59.6vw; }
.concept-area div > p { padding: 5.3vw; font-size: 130%; }
.concept-area div > p small { font-size: 77%; }
.concept-area div > a { display: inline-flex; width: auto; align-items: center; justify-content: flex-start; padding: 0 5.3vw; }
.concept-area div > a img { width: 9.3vw; margin-right: 5vw; }

@media screen and (min-width: 768px) { .news-area { width: calc(100% - 44px) !important; margin: 0 auto 44px; padding: 46px 33px 50px; }
  .news-area h2 { margin: 0 auto 50px; padding-bottom: 18px; border-bottom: #111 2px solid; }
  .news-area div { padding-bottom: 0; }
  .news-area div dl { display: flex; flex-wrap: nowrap; margin: 0 auto 40px; }
  .news-area div dl dt { width: 33%; margin-bottom: 0; }
  .news-area div dl dd { width: 67%; }
  .news-area div p.readMore img { width: 160px; }
  .concept-area { width: calc(100% - 44px) !important; margin: 0 auto 44px; } }
@media screen and (min-width: 992px) { .banner-wrap.newStyle02 ul { flex-wrap: nowrap; }
  .banner-wrap.newStyle02 ul li { width: 24%; margin-bottom: 0; height: 160px; }
  .banner-wrap.newStyle02 ul li a img { height: 3vw; }
  .news-area { width: calc(100% - 52px) !important; }
  .news-area div dl dt { width: 33%; margin-bottom: 0; padding-left: 58px; }
  .news-area div dl dd { width: 67%; padding-right: 58px; }
  .concept-area { width: calc(100% - 52px) !important; }
  .concept-area div { background: url("../img/img_concept_01_pc.png") no-repeat 0 50%; background-size: 59vw auto; }
  .concept-area div > h2 { height: auto; background: none; padding-top: 2.4vw; }
  .concept-area div > h2 span { width: 46vw; margin-right: -1vw; }
  .concept-area div > h2 span img { width: 46vw; }
  .concept-area div > p { padding: 3.3vw 0 5.3vw 50vw; font-size: 130%; }
  .concept-area div > p small { font-size: 77%; }
  .concept-area div > a { padding: 0 0 2.3vw 50vw; }
  .concept-area div > a img { width: 4.1vw; margin-right: 2.5vw; } }
@media screen and (min-width: 1200px) { .banner-wrap.newStyle02 ul li a img { height: 48px; }
  .news-area { width: calc(100% - 96px) !important; }
  .concept-area { width: calc(100% - 96px) !important; }
  .concept-area div { background: url("../img/img_concept_01_pc.png") no-repeat 0 50%; background-size: 592px auto; }
  .concept-area div > h2 { padding-top: 24px; }
  .concept-area div > h2 span { width: 690px; margin-right: -7px; }
  .concept-area div > h2 span img { width: 690px; }
  .concept-area div > p { padding: 42px 0 33px 660px; font-size: 130%; }
  .concept-area div > p small { font-size: 77%; }
  .concept-area div > a { padding: 0 0 20px 660px; }
  .concept-area div > a img { width: 70px; margin-right: 38px; } }
