body {
	width: 100%;
	height: 100%;
	font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	color: black;
	background-color: white;
	/*main bg color*/
	-webkit-text-size-adjust: 100%;
	font-size: 16px;
}

.mid-bg {
	background-color: #f0ea39;
}

a:focus,
*:focus {
	outline: none;
}

.whats-opera {
	background-color: #1d2d4c;
}

.whats-opera p {
	color: #bdc2d2;
}

.attention1-2,
.attention2-2,
.attention3-2 {
	color: #12336a;
	margin: 25px 0 20px;
}

.attention1-3,
.attention2-3,
.attention3-3,
.outro-text {
	color: #000;
}

.navbar-custom {
	margin-bottom: 0;
	/*border-bottom: 1px solid rgba(255, 255, 255, 0.3);*/
	text-transform: uppercase;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	background-color: #000;
}

.navbar-custom .navbar-toggle {
	color: #fff;
	/*background-color: rgba(204, 204, 204, 0.2);*/
	font-size: 12px;
}

.navbar-custom .navbar-toggle:focus,
.navbar-custom .navbar-toggle:active {
	outline: none;
}

.navbar-custom a {
	color: #fff;
}

.navbar-custom .nav li a:hover {
	color: #f0ea39;
	outline: none;
	background-color: transparent;
}

/*a:hover {
	opacity:0.6;
}*/

.navbar-custom .nav li a:focus,
.navbar-custom .nav li a:active {
	outline: none;
	background-color: transparent;
}

.navbar-custom .nav li.active {
	outline: none;
}

.navbar-custom .nav li.active a {
	background-color: rgba(255, 255, 255, 0.3);
}

.navbar-custom .nav li.active a:hover {
	color: white;
}

.parent {
	display: table;
	width: 100%;
	height: 100%;
}

.child {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

@media (min-width: 768px) {
	.navbar-custom {
		padding: 10px 0;
		border-bottom: none;
		letter-spacing: 1px;
		background: transparent;
		-webkit-transition: background 0.5s ease-in-out, padding 0.5s ease-in-out;
		-moz-transition: background 0.5s ease-in-out, padding 0.5s ease-in-out;
		transition: background 0.5s ease-in-out, padding 0.5s ease-in-out;
		background: #000;
	}
	.navbar-custom.top-nav-collapse {
		padding: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		background-color: rgba(0, 0, 0, 1);
	}
}

::-moz-selection {
	text-shadow: none;
	background: #ccc;
	background: #ccc;
}

::selection {
	text-shadow: none;
	background: #ccc;
	background: #ccc;
}

img::selection {
	background: transparent;
}

img::-moz-selection {
	background: transparent;
}

body {
	webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
}

/*add*/

.button {
	width: 80％;
	height: 40px;
	/*border: 2px solid black;*/
	color: #000;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	transition: all 0.25s ease;
	cursor: pointer;
	line-height: 175%;
	font-size: 1.2em;
	background-color: #18336a;
	text-decoration: none;
}

.button a {
	color: white;
	text-decoration: none;
}

.button:hover {
	opacity: 0.8;
}

.attention1-pic div {
	padding: 5px;
}

.inline {
	display: inline;
}

th {
	width: 20%;
	text-align: center;
	border-right: thin;
}

.following-head-space {
	padding-bottom: 5px;
}

.navbar-nav {
	padding-top: 0px;
	font-size: 12px;
	margin-top: 10px;
}

.navbar-brand {
	padding-top: 8px;
	padding-right: 0px;
	padding-bottom: 8px;
	padding-left: 15px;
}

.nav > li > a {
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
	padding: 0 10px;
	margin-top: 10px;
	margin-bottom: 10px;
	transition: 0.3s;
}

.tag_01 {
	position: fixed;
	z-index: 10;
	top: 110px;
	right: 0px;
	border-right-style: none;
	border-top: 1px solid rgba(255, 255, 255, 1);
	border-bottom: 1px solid rgba(255, 255, 255, 1);
	border-left: 1px solid rgba(255, 255, 255, 1);
	background-color: #000;
}

.tag_02 {
	position: fixed;
	z-index: 10;
	top: 216px;
	right: 0px;
	border-right-style: none;
	border-top: 1px solid rgba(255, 255, 255, 1);
	border-bottom: 1px solid rgba(255, 255, 255, 1);
	border-left: 1px solid rgba(255, 255, 255, 1);
	background-color: #000;
}

.tag_03 {
	position: fixed;
	z-index: 10;
	top: 265px;
	right: 0px;
	border-right-style: none;
	border-top: 1px solid rgba(255, 255, 255, 1);
	border-bottom: 1px solid rgba(255, 255, 255, 1);
	border-left: 1px solid rgba(255, 255, 255, 1);
	background-color: #000;
}

.tag_04 {
	position: fixed;
	z-index: 10;
	bottom: 80px;
	right: 0px;
	border-right-style: none;
	border-top: 1px solid rgba(255, 255, 255, 1);
	border-bottom: 1px solid rgba(255, 255, 255, 1);
	border-left: 1px solid rgba(255, 255, 255, 1);
	background-color: #000;
}

.relative {
	position: relative;
}

.brand-heading {
	position: absolute;
	left: 20%;
	top: 20%;
}

.intro-text1 {
	position: absolute;
	left: 20%;
	top: 85%;
}

.intro-text2 {
	position: absolute;
	right: 20%;
	top: 70%;
}

.intro .intro-body {
	/*display: table-cell;
	vertical-align: middle;*/
}

.intro .intro-body .brand-heading {
	font-size: 40px;
}

.intro .intro-body .intro-text {
	font-size: 18px;
}

.shadow {
	-webkit-box-shadow: 0 10px 6px -6px #777;
	-moz-box-shadow: 0 10px 6px -6px #777;
	box-shadow: 0 2px 6px -6px #777;
}

.outro-area div p {
	font-size: 20px;
}

.whats-opera h2 img {
	margin: 0 auto;
}

.center2 {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
}

.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.attention-area div h3 {
	margin-top: 0px;
	margin-bottom: 45px;
}

.attention-area div h3 img {
	height: 33px;
}

.attention-area p {
	margin-bottom: 0;
}

.attention-area .attention3 p {
	margin-bottom: 150px;
}

#overview h3 {
	padding-bottom: 30px;
}

#overview {
	background-color: #f0ea39;
	color: #000;
}

.discription {
	color: #000;
	background: black;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 15px;
	margin-top: 25px;
	text-align: center;
}

.attention-area h2 {
	line-height: 1.2;
	margin-bottom: 45px;
	letter-spacing: 0.25rem;
	font-weight: 500;
	color: #000;
}

.intro {
	background-size: 145%;
	height: calc(100vh - 135px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.intro .intro-body h1 img {
	/*max-height: 70vh;*/
	margin-inline: auto;
	/*height: 100%;*/
	width: 100%;
	height: auto;
}

@media (max-width: 2400px) {
	.intro .intro-body h1 img {
		max-height: 75vh;
		margin-inline: auto;
		height: auto;
		width: auto;
	}
}

@media (max-width: 1100px) {
	.intro .intro-body h1 img {
		max-height: 75vh;
		margin-inline: auto;
		height: auto;
		width: 90%;
	}
}

@media (min-width: 768px) {
	body {
		padding-top: 70px;
	}
	.navbar-brand img {
		width: 307px;
		height: auto;
	}
	.whats-opera h2 {
		text-align: center;
		margin-bottom: 35px;
	}
	.whats-opera p {
		text-align: center;
		margin-bottom: 60px;
	}
	.logo {
		padding-bottom: 60px;
	}
	.intro {
		/*display: table;*/
		width: 100%;
		height: cacl(100vh - 135px);
		/*padding: 100px 0;*/
		text-align: center;
		color: black;
		background: url(../img/top.webp) no-repeat top center scroll;
		background-color: white;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		-o-background-size: cover;
	}
	.intro {
		/*height: 100%;
		padding: 0;*/
	}

	.intro .intro-body .brand-heading {
		font-size: 100px;
	}
	.intro .intro-body .intro-text {
		font-size: 26px;
	}
	.attention-area {
		width: 100%;
		text-align: center;
		padding-top: 100px;
		padding-bottom: 100px;
	}
	#attention3_img.attention-area {
		padding-bottom: 0;
	}
	.intro2-section {
		width: 100%;
		height: auto;
		padding-top: 50px;
		padding-bottom: 450px;
		color: white;
		background: url(../img/02.jpg) no-repeat center center scroll;
		background-color: white;
		/*background-position: 50% 100%;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	-o-background-size: cover;
	text-align:center*/
	}
	.intro2 h2 {
		padding-top: 20px;
	}
	.outro-area {
		padding-top: 100px;
		padding-bottom: 100px;
		width: 100%;
		text-align: center;
	}
	.intro2-section {
		width: 100vw;
		height: 100vh;
		position: relative;
	}
	.intro2-section .col-lg-12 {
		max-width: 1100px;
		width: 90%;
		margin-top: calc(100vh - 400px);
		text-align: right;
	}
	.footer {
		margin-top: 100px;
	}
	.footer.container-fluid {
		background-color: #000;
		padding-top: 50px;
		padding-bottom: 40px;
	}
	.footer.container-fluid p {
		float: right;
		font-size: 8px;
		color: #fff;
		margin-bottom: 0;
	}
	.footer.container-fluid p span {
		font-size: 11px;
		margin-top: 20px;
		display: block;
	}
	.top-logo {
		width: 250px;
		height: auto;
	}
}

@media (max-width: 768px) {
	.tag_04 {
		bottom: 40px;
	}
	.intro-body h1 {
		margin: 33px 0 0;
	}
	.navbar-brand img {
		margin-top: 5px;
	}
	body {
		padding-top: 26px;
	}
	.attention1-area,
	.attention2,
	.attention3-area {
		width: 100%;
		text-align: center;
		padding-top: 10vw;
		padding-bottom: 10vw;
		text-align: center;
	}
	.whats-opera h2 {
		width: 280px;
		display: block;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		margin-bottom: 2rem;
	}
	.whats-opera p {
		margin-top: 30px;
	}
	.intro2_img {
		z-index: 1;
	}
	.intro2-section {
		width: 100%;
		height: auto;
		padding-top: 0px;
		padding-bottom: 350px;
		color: white;
		background: url(../img/02_s.jpg) no-repeat;
		background-color: white;
		background-position: 50% 100%;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		background-size: cover;
		-o-background-size: cover;
		text-align: center;
	}
	.intro2-section div div h2 {
		padding-top: 0px;
	}
	.intro2-section div div p {
		text-shadow: 2px 2px 2px rgba(150, 150, 150, 0.8);
		font-size: 14px;
	}
	.button {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	p {
		font-size: 14px;
	}
	h2 {
		font-size: 23px;
	}
	.outro-area div p {
		font-size: 15px;
		text-align: center;
	}
	.outro-area {
		width: 100%;
		text-align: center;
		padding-top: 10vw;
		padding-bottom: 10vw;
	}
	.logo div img {
		margin-bottom: 30px;
	}
	table {
		font-size: 14px;
	}
	th {
		width: 30%;
		text-align: center;
	}
	.table > thead > tr > th,
	.table > tbody > tr > th,
	.table > tfoot > tr > th,
	.table > thead > tr > td,
	.table > tbody > tr > td,
	.table > tfoot > tr > td {
		padding: 10px;
	}
	.footer {
		margin-top: 40px;
	}
	.top-logo,
	.top-logo-b {
		width: 200px;
		height: auto;
	}
	.intro2-section h2 img {
		width: 130px;
		height: auto;
	}
	.attention-area h3 img {
		width: 180px;
		height: auto;
	}
	.footer.container-fluid {
		background-color: #000;
	}
	.navbar.navbar-custom.navbar-fixed-top.top-nav-collapse .navbar-brand img.top-logo-b {
		margin-top: 9px;
	}
	.navbar-custom.top-nav-collapse {
		padding: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		background-color: rgba(0, 0, 0, 1);
	}
	.navbar-custom.top-nav-collapse .navbar-toggle {
		color: #fff;
		/*background-color: rgba(204, 204, 204, 0.2);*/
		font-size: 12px;
	}
}

.navbar-nav > li:last-child a {
	border-left: solid 1px #fff;
}

.navbar-nav > li > a {
	line-height: 1;
}

.navbar.navbar-custom.navbar-fixed-top.top-nav-collapse a {
	/*color: #000;*/
}

.navbar.navbar-custom .navbar-brand img.top-logo-b {
	display: none;
}

.navbar.navbar-custom.navbar-fixed-top.top-nav-collapse .navbar-brand img.top-logo {
	/*display: none;*/
}

.navbar.navbar-custom.navbar-fixed-top.top-nav-collapse .navbar-brand img.top-logo-b {
	display: none;
}
