@charset "utf-8";
/* CSS Document */
html {
	/*height:100%;*/
    -ms-overflow-style: none;
    scrollbar-width: none;
}

html::-webkit-scrollbar {
    display: none;
}
body {
    text-align: center;
	margin: 0;
	width: 100%;
	background: #f4f1e7;
	position: relative;
	-webkit-text-size-adjust: 100%;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳＰゴシック", "MS PGothic", sans-serif;
	/*
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Noto Serif JP', serif;
  	font-family: "Noto Sans SC", sans-serif;
	font-family: "Noto Sans TC", sans-serif;
	*/
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.clearfix:after {
    visibility: hidden;
    display: block;
    content: " ";
    clear: both;
    height: 0;
}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

.nofloat{
	overflow:hidden;
	zoom:1;
}

img {
    border-style:none;
}

a {
	text-decoration: none;
}

a:link {
	color: #000000;
}

a:visited {
	color: #000000;
}

ruby {
	ruby-align: distribute-space;
	ruby-overhang: auto;
	ruby-position: above;
}

input[type="submit"] {
   -webkit-appearance: none;
   /*border-radius: 0;*/
}

/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
    color:#CCC;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    color:#CCC;
}

/* Firefox 18- */
:-moz-placeholder {
    color:#CCC;
	opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
    color:#CCC;
	opacity: 1;
}

/* IE 10+ */
:-ms-input-placeholder {
    color:#CCC;
}

.a_block {
	display:block;
}

.img_block {
	display:block;
	margin: 0px auto;
}

.max_img {
	max-width:100%;
	height:auto;
}

.red_span {
	color:#F09100;
}

.bold_span {
	font-weight:bold;
}

.under_span {
	text-decoration:underline;
}

.inbl_span {
	display:inline-block;
	text-indent:0;
}

.br_1024 {
	display:none;
}

.br_768 {
	display:none;
}

.br_480 {
	display:none;
}

#wrapper {
	overflow-x:hidden;
	position: relative;
	z-index: 2;
}

#main {
	position: relative;
	z-index: 1;
}

.font_ch {
  	font-family: "Noto Sans TC", sans-serif;
}

/*ヘッダー */

#header {
	background: #f4f1e7;
	position:relative;
	z-index:6;
}

.header_wrap {
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.header_in {
	margin: 0 auto;
	font-size: 0;
	position: relative;
}

.header_box01 {
	max-width: 100%;
	width: max-content;
	margin: 0 auto 25px;
	position: relative;
}

.header_logo01 {
	margin: 0;
	padding: 0;
	position: absolute;
	top: 15px;
	left: 80px;
}

.header_logo01_img01 {
	display: block;
	max-width: 200px;
}

.header_logo01_img01_sp {
	display: none;
	max-width: 130px;
}

.header_lang_select {
	width: 150px;
	padding: 5px 15px;
	background: rgba(255,255,255,1);
	border: #EFEFEF 1px solid;
	border-radius: 5px;
	font-size: 16px;
	color: #111;
	line-height: 1.3;
	text-align: left;
	position: absolute;
	top: 15px;
	left: 300px;
	z-index: 1;
	appearance: base-select;
}

.header_lang_select::picker(select) {
	border: #EFEFEF 1px solid;
	border-radius: 5px;
	margin: 8px 0 0;
	line-height: 2.3;
	box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.3);
	appearance: base-select;
}

.header_ul {
	display: none;
	list-style: none;
	width: 100%;
	height: calc(100vh - 90px);
	margin: auto;
	padding: 60px 0 30px;
	background: rgba(255,255,255,0.95);
	position:absolute;
	top:100%;
	left:0;
	z-index: 2;
}

.header_ul_logo {
	max-width: 400px;
	margin: 0 auto 50px;
}

.header_ul_logo_img01 {
	display: block;
}

.header_ul_li {
	max-width: 300px;
	margin: 0 auto 50px;
	position: relative;
}

.header_ul .header_ul_li:last-child {
	margin-bottom: 0px;
}

.header_ul_li_sp {
	display: none;
}

/*.header_ul_li.onmenu {
	padding:10px 30px 10px 10px;
	padding:10px 20px 10px 20px;
}

.header_ul_li.onmenu:after {
	display:none;
	content:"\f0dd";
	font-family:"Font Awesome 5 Free";
	font-size:20px;
	color:#535554;
	position:absolute;
	top:50%;
	right:10px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.header_ul_li.onmenu.active:after {
	content:"\f0de";
	font-family:"Font Awesome 5 Free";
}*/

.header_ul_li_o {
}

.header_ul_li_span01 {
	display: block;
	font-size: 20px;
	color: #231815;
	line-height: 1;
	text-align: center;
	position: relative;
	z-index: 2;
}

.header_ul_li_o .header_ul_li_span01 {
	color: #231815;
}

.header_ul_li_border01 {
	display: block;
	width: 0%;
	height: 2px;
	margin: auto;
	background: #231815;
	position: absolute;
	bottom: -7px;
	left: 0;
	right: 0;
	opacity: 0;
	z-index: 1;
}

.header_ul_li_o .header_ul_li_border01 {
	width:100%;
	opacity:1;
}

.header_ul_li_6_div {
	display: inline-block;
	width: 30px;
	height: 20px;
	margin: auto;
	padding: 10px;
	background: #FFF;
	border-radius: 5px;
	position: absolute;
	top: 10px;
	left: 15px;
	z-index: 2;
	cursor: pointer;
}

.header_ul_li_6_div_line {
	box-sizing: border-box;
	width: 30px;
	height:3px;
	margin:auto;
	background:#231815;
	border-radius: 4px;
	transition: all .4s;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
}

.header_ul_li_6_div_line_before {
	box-sizing: border-box;
	width: 30px;
	height:3px;
	margin:auto;
	background:#231815;
	border-radius: 4px;
	transition: all .4s;
	position:absolute;
	top: 10px;
	left:0;
	right:0;
}

.header_ul_li_6_div_line_after {
	box-sizing: border-box;
	width: 30px;
	height:3px;
	margin:auto;
	background:#231815;
	border-radius: 4px;
	transition: all .4s;
	position:absolute;
	bottom: 10px;
	left:0;
	right:0;
}

.header_ul_li_6_div_o {
}

.header_ul_li_6_div_o .header_ul_li_6_div_line_before {
	background:#CCC;
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}

.header_ul_li_6_div_o .header_ul_li_6_div_line {
	background:#CCC;
	opacity: 0;
}

.header_ul_li_6_div_o .header_ul_li_6_div_line_after {
	background:#CCC;
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}

/*ヘッダーここまで */

/*コンテンツ */

.wrapper_index01_big {
	position: relative;
	z-index: 1;
}

.wrapper_index01 {
	overflow: hidden;
	user-select: none;
	touch-action: none;
}

.index_map01 {
	width: calc(100% + 20px);
	white-space: nowrap;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.index_map01::-webkit-scrollbar {
    display: none;
}

.index_map01_in01 {
	width: 110vw;
	white-space: normal;
	position: relative;
}

.index_map01_in01_img01 {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}

.index_map01_in01_box01 {
	/*background: rgba(255,255,255,0.6);*/
	position: absolute;
	z-index: 2;
	cursor: pointer;
}

.index_map01_in01_box01_p01_jp {
	width: 11%;
	height: 12%;
	top: 30%;
	left: 6%;
}

.index_map01_in01_box01_p02_jp {
	width: 23.5%;
	height: 9.5%;
	top: 55%;
	left: 34.3%;
}

.index_map01_in01_box01_p03_jp {
	width: 18.5%;
	height: 10.5%;
	top: 70%;
	left: 36.3%;
}

.index_map01_in01_box01_p04_jp {
	width: 11%;
	height: 22.5%;
	top: 70.5%;
	left: 60.3%;
}

.index_map01_in01_box01_p05_jp {
	width: 9.8%;
	height: 21.5%;
	top: 11.5%;
	left: 71.3%;
}

.index_map01_in01_box01_p06_jp {
	width: 11.8%;
	height: 25.2%;
	top: 42%;
	left: 82.3%;
}

.index_modalbox_wrap {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	transition-duration: 0.35s;
	z-index: 5;
	pointer-events: none;
}

.index_modalbox_wrap.active {
	opacity: 1;
	transition-duration: 0.35s;
	pointer-events: auto;
}

.index_modalbox_back {
	display: none;
	width: 100%;
	height: 100%;
	background: rgba(255,245,245,0.9);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.index_modalbox {
	max-width: calc(100% - 60px - 40px);
	max-height: calc(100% - 60px - 40px);
	width: 600px;
	padding: 30px 30px;
	background: #FFF;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform:translate(-50%,-50%);
	-ms-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	opacity: 0;
	z-index: 2;
	transition-duration: 0.35s;
	pointer-events: none;
	overflow-x: auto;
	overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.index_modalbox::-webkit-scrollbar {
    display: none;
}

.index_modalbox.active {
	opacity: 1;
	transition-duration: 0.35s;
	pointer-events: auto;
}

.index_modalbox_button01_wrap {
	margin-bottom: 20px;
	text-align: right;
}

.index_modalbox_button01 {
	font-size: 30px;
	font-weight: bold;
	color: #111;
	line-height: 1;
	cursor: pointer;
}

.index_modalbox_img01 {
	display: block;
	width: 100%;
}

.index_modalbox_content01 {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	align-content: center;
	padding: 20px;
}

.index_modalbox_content01_textbox01 {
	flex: 1;
}

.index_modalbox_content01_textbox01_subtitle01 {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: 500;
	color: #c30d23;
	line-height: 20px;
	text-align: left;
}

.index_modalbox_content01_textbox01_title01 {
	margin: 0 auto 10px;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	color: #c30d23;
	line-height: 30px;
	text-align: left;
}

.index_modalbox_content01_textbox01_text01 {
	margin: 0 auto;
	font-size: 16px;
	color: #111;
	line-height: 32px;
	text-align: left;
}

.index_modalbox_content01_img01 {
	display: block;
	max-width: 120px;
	margin-left: 20px;
}

/*コンテンツここまで */

/*フッター */

/*フッターここまで */

.content {
    position: relative !important;
}
.header {
	z-index:15;
}

.fixed {
    position: fixed !important;
    top: 0px;
	-webkit-transform: translate3d(0,0,0);
	-webkit-overflow-scrolling:touch;
	z-index:15;
}

.content_a {
	height:0px;
	position:absolute;
	top:-92px;
}

#loading_big {
    width: 100%;
    height: 100%;
    margin: auto;
    background: #FFF;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 99999;
}

#loading {
    width: 40px;
    height: 40px;
    margin: auto;
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.spinner {
  margin: 0 auto;
  width: 40px;
  height: 40px;
  position: relative;
}

.cube1, .cube2 {
  background-color: #b60007;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  left: 0;
  
  -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
  animation: sk-cubemove 1.8s infinite ease-in-out;
}

.cube2 {
  background-color: #b7a487;
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

@-webkit-keyframes sk-cubemove {
  25% { -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5) }
  50% { -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg) }
  75% { -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5) }
  100% { -webkit-transform: rotate(-360deg) }
}

@keyframes sk-cubemove {
  25% { 
    transform: translateX(42px) rotate(-90deg) scale(0.5);
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
  } 50% { 
    transform: translateX(42px) translateY(42px) rotate(-179deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
  } 50.1% { 
    transform: translateX(42px) translateY(42px) rotate(-180deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
  } 75% { 
    transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
  } 100% { 
    transform: rotate(-360deg);
    -webkit-transform: rotate(-360deg);
  }
}

/*The MIT License (MIT)

Copyright (c) 2015 Tobias Ahlin

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/

/* ここまで1024px以上の幅の場合に適応される */
