@charset "UTF-8";
/* ==============================
リセットcss
============================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  text-align: left;
}

/*
//日本語
@font-face {
	font-family: 'notosans_jp';
	font-weight: 400;
	src: url(../font/NotoSansJP-Regular.otf) format('opentype');
	display: swap;
}
@font-face {
	font-family: 'notosans_jp';
	font-weight: 500;
	src: url(../font/NotoSansJP-Medium.otf) format('opentype');
	display: swap;
}

//韓国語
@font-face {
	font-family: 'notosans_kr';
	font-weight: 500;
	src: url(../font/NotoSansKR-Medium.otf) format('opentype');
	display: swap;
}

//中国語（簡体字）
@font-face {
	font-family: 'notosans_sc';
	font-weight: 500;
	src: url(../font/NotoSansSC-Medium.otf) format('opentype');
	display: swap;
}

//中国語（繁体字） 
@font-face {
	font-family: 'notosans_tc';
	font-weight: 500;
	src: url(../font/NotoSansTC-Medium.otf) format('opentype');
	display: swap;
}
*/
.kr {
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 500;
}

.zh-cn {
  font-family: 'Noto Sans SC', sans-serif;
  font-weight: 500;
}

.zh-tw {
  font-family: 'Noto Sans TC', sans-serif;
  font-weight: 500;
}

main {
  display: block;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul, ol, dl {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

table {
  text-align: left;
  border-collapse: separate;
  border-spacing: 0;
}

input, select {
  vertical-align: middle;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* 大枠 */
html {
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
}

body {
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
  line-height: 1.8;
  word-wrap: break-word;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-style: normal;
  overflow: hidden;
}

body.active {
  overflow: hidden;
}

#wrapper {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

body > #wrapper {
  height: auto;
}

.clearfix:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0;
}

@media print {
  html {
    overflow: visible !important;
  }
  html body {
    overflow: visible !important;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  vertical-align: bottom;
  box-shadow: #000 0 0 0;
  /* ロールオーバー対応 */
  box-shadow: #000 0 0 0;
}

/* レスポンシブ対応 */
x:-moz-any-link, x:default {
  box-shadow: #000 0 0 0;
  /* IE7対応 */
}

#main {
  width: 1920px;
  height: 1080px;
  position: relative;
}

#main .main_wrap {
  width: 1555px;
  margin-left: 365px;
  padding: 50px 0;
}

#main .main_wrap .insta_logo {
  text-align: right;
  margin: 0 58px 0 0;
  position: relative;
  z-index: 10;
}

#main .main_wrap .article_list {
  width: 1256px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 30px 0 0 80px;
}

#main .main_wrap .article_list.official {
  position: relative;
  padding: 0 0 30px;
  border-bottom: 1px solid #D96C00;
}

#main .main_wrap .article_list.official::before {
  position: absolute;
  left: -9px;
  top: -65px;
  content: " ";
  display: inline-block;
  width: 281px;
  height: 40px;
  background: url(../img/logo_account.svg) no-repeat;
  background-size: contain;
}

#main .main_wrap .article_list.official .article {
  position: relative;
  /*
					&:nth-child(n+6) {
						margin-bottom:0; 
					}
					*/
}

#main .main_wrap .article_list.official .article::after {
  content: " ";
  position: absolute;
  left: -9px;
  top: -9px;
  width: 200px;
  height: 200px;
  border: 9px solid #D96C00;
}

#main .main_wrap .article_list.official .article:nth-last-of-type(-n+5) {
  margin-bottom: 0;
}

#main .main_wrap .article_list .article {
  width: 200px;
  height: 200px;
  background-color: #ccc;
  margin: 0 64px 64px 0;
}

#main .main_wrap .article_list .article:nth-child(5n) {
  margin-right: 0;
}

#main .main_wrap .article_list .article img {
  width: 200px;
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

#left_menu {
  width: 365px;
  height: 1080px;
  position: fixed;
  left: 0;
  top: 0;
  background: url(../img/left_bg.jpg) no-repeat scroll left top;
  background-size: cover;
  z-index: 10;
}

#left_menu .logo {
  width: 202px;
  position: absolute;
  left: 81px;
  top: 73px;
}

#left_menu .left_text {
  font-size: 15px;
  width: 300px;
  height: 330px;
  overflow: hidden;
  position: absolute;
  top: 348px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  line-height: 1.7;
  color: #604C3F;
}

#left_menu .qr_list {
  width: 285px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  position: absolute;
  left: 40px;
  top: 682px;
}

#left_menu .qr_list .qr_item {
  width: 136px;
  position: relative;
  padding: 0 12px 12px 12px;
  margin: 0 0 15px;
}

#left_menu .qr_list .qr_item::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  border-radius: 5px;
  content: " ";
  display: inline-block;
  background-color: #b48c75;
  mix-blend-mode: multiply;
}

#left_menu .qr_list .qr_item .title {
  height: 24px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}

#left_menu .qr_list .qr_item .qr {
  position: relative;
  z-index: 1;
}

#left_menu .qr_list .qr_item .qr img {
  width: 100%;
}

#right_menu {
  position: fixed;
  right: 0;
  top: 0;
  width: 219px;
  height: 1080px;
  padding: 50px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-flex-direction: column;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}

#right_menu .arrow_wrap {
  margin: 0 auto 75px;
}

#right_menu .arrow_wrap .arrow:not(:last-child) {
  margin-bottom: 60px;
}

#right_menu .menu_list li {
  width: 118px;
  height: 44px;
  border-radius: 17px;
  background-color: #808080;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

#right_menu .menu_list li.current {
  background-color: #D96C00;
}

#right_menu .menu_list li:not(:last-child) {
  margin-bottom: 40px;
}

/* ====================
言語の切り替え
==================== */
.lang {
  display: none;
}

.lang.active {
  display: block;
}

/* ====================
モーダルウィンドウ
==================== */
.over-lay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.7;
  z-index: 20;
  overscroll-behavior: none;
}

.over-lay.active {
  display: block;
}

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 1920px;
  height: 1080px;
  z-index: 30;
}

.modal.active {
  display: block;
}

.modal .article_inner {
  width: 1350px;
  height: 900px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.modal .article_inner .image {
  width: 900px;
  height: 900px;
  background-color: #eee;
}

.modal .article_inner .image img {
  width: 900px;
  height: 900px;
  -o-object-fit: contain;
  object-fit: contain;
  font-family: 'object-fit: contain;';
}

.modal .article_inner .article_wrap {
  width: 450px;
  height: 900px;
  position: relative;
}

.modal .article_inner .article_wrap .account {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  align-items: center;
  padding: 0 30px;
  height: 84px;
}

.modal .article_inner .article_wrap .account .account_inner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  align-items: center;
  font-weight: 400;
}

.modal .article_inner .article_wrap .account .account_inner .icon {
  width: 41px;
  height: 41px;
  border-radius: 50%;
  background-color: #ccc;
  margin: 0 10px 0 0;
  overflow: hidden;
}

.modal .article_inner .article_wrap .account .account_inner .account_name {
  line-height: 1.4;
}

.modal .article_inner .article_wrap .account .account_inner .account_name .name_en {
  font-size: 17px;
}

.modal .article_inner .article_wrap .account .account_inner .account_name .name {
  font-size: 14px;
}

.modal .article_inner .article_wrap .article_text {
  width: 30em;
  font-size: 12px;
  height: 665px;
  overflow-y: scroll;
  overflow-x: hidden;
  position: absolute;
  top: 128px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  overscroll-behavior: none;
  /*
				.lang {
					overflow-x: hidden;
				}
*/
}

.modal .article_inner .article_wrap .favorite {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 450px;
  height: 60px;
  padding: 0 45px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 14px;
}

.modal .prev {
  width: 89px;
  height: 89px;
  position: absolute;
  left: 90px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.modal .next {
  width: 89px;
  height: 89px;
  position: absolute;
  right: 90px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.modal .close {
  position: absolute;
  right: 62px;
  bottom: 52px;
  width: 78px;
  height: 78px;
}

.modal .close img {
  width: 100%;
}
