@charset "utf-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);


/* -------------------------------------------------- UTILITY  -------------------------------------------------- */

.mt-40	{ margin-top:-40px !important; }
.mt-35	{ margin-top:-35px !important; }
.mt-30	{ margin-top:-30px !important; }
.mt-25	{ margin-top:-25px !important; }
.mt-10	{ margin-top:-10px !important; }
.mt-5	{ margin-top:-5px !important; }
.mt0	{ margin-top:0px !important; }
.mt5	{ margin-top:5px !important; }
.mt10	{ margin-top:10px !important; }
.mt15	{ margin-top:15px !important; }
.mt20	{ margin-top:20px !important; }
.mt25	{ margin-top:25px !important; }
.mt30	{ margin-top:30px !important; }
.mt40	{ margin-top:40px !important; }
.mt50	{ margin-top:50px !important; }
.mt100	{ margin-top:100px !important; }

.mr0	{ margin-right:0px !important; }
.mr5	{ margin-right:5px !important; }
.mr10	{ margin-right:10px !important; }
.mr15	{ margin-right:15px !important; }
.mr20	{ margin-right:20px !important; }
.mr25	{ margin-right:25px !important; }
.mr30	{ margin-right:30px !important; }
.mr40	{ margin-right:40px !important; }
.mr50	{ margin-right:50px !important; }
.mr100	{ margin-right:100px !important; }

.mb0		{ margin-bottom:0px !important; }
.mb5		{ margin-bottom:5px !important; }
.mb10	{ margin-bottom:10px !important; }
.mb15	{ margin-bottom:15px !important; }
.mb20	{ margin-bottom:20px !important; }
.mb25	{ margin-bottom:25px !important; }
.mb30	{ margin-bottom:30px !important; }
.mb40	{ margin-bottom:40px !important; }
.mb50	{ margin-bottom:50px !important; }
.mb100	{ margin-bottom:100px !important; }

.ml0		{ margin-left:0px !important; }
.ml2		{ margin-left:2px !important; }
.ml5		{ margin-left:5px !important; }
.ml10	{ margin-left:10px !important; }
.ml15	{ margin-left:15px !important; }
.ml20	{ margin-left:20px !important; }
.ml25	{ margin-left:25px !important; }
.ml30	{ margin-left:30px !important; }
.ml40	{ margin-left:40px !important; }
.ml50	{ margin-left:50px !important; }
.ml100	{ margin-left:100px !important; }


/* -------------------------------------------------- FONT -------------------------------------------------- */

/* defalt font-size */
.f09 { font-size:65%; }
.f10 { font-size:77%; }
.f11 { font-size:85%; }
.f12 { font-size:93%; }
.f13 { font-size:100%; }
.f14 { font-size:108%; }
.f15 { font-size:116%; }
.f16 { font-size:123.1%; }
.f17 { font-size:131%; }
.f18 { font-size:138.5%; }
.f19 { font-size:146.5%; }
.f20 { font-size:153.9%; }
.f21 { font-size:161.6%; }
.f22 { font-size:167%; }
.f23 { font-size:174%; }
.f24 { font-size:182%; }
.f25 { font-size:189%; }
.f26 { font-size:197%; }

.B	{ font-weight:bold; }
.blue	{ color:#2c8ed2; }
.gray	{ color:#777; }
.red	{ color:#d81618 !important; }
.black	{ color:#000000; }



.pc { display: block !important; }
.sp { display: none !important; }

@media only screen and (max-width: 767px) {
.pc { display: none !important; }
.sp { display: block !important; }
}


.main{
	color:#333;
	font-size: 108%;
}
h1 {
	margin-top: 0;
}
h3{
	font-size: 153.9% !important;
	margin-bottom: 25px !important;
	font-weight: bold;
	color:#333 !important;
}

a {
	color: #333;
	text-decoration: underline;
}

.txt-none{
	font-weight: normal;
	text-decoration: none;	
}

.h4-txt{
	font-size:123.1%;
	font-weight: bold;
	padding-bottom: 2px;
	border-left-width: 6px;
	border-left-style: solid;
	border-left-color: #b02322;
	margin-bottom: 10px;
	padding-top: 0px;
	padding-left: 8px;
}


.page-header{
	background-image: url(../../images/mainvisual.jpg);
	background-repeat: no-repeat;
	background-position: 60% center;
    background-color: #fff;
    min-height: 100vh;
    max-height: 999px;
}
@media only screen and (max-width: 767px) {
	.page-header{
		background-position: 65% 35%;
	}
}
.navbar.navbar-transparent .navbar-toggler .navbar-toggler-bar {
    background: #222!important
}
.navbar-nav a {
    color: #333333 !important;
    font-size: 108% !important;
    font-weight: normal !important;
	font-weight: 500;
	text-decoration: none;
}
.navbar .navbar-brand {
	padding: 10px 0;
}
@media only screen and (max-width: 767px) {
	.navbar .navbar-brand {
		padding: 10px 15px;
	}
}


.nav-link:hover {
  color: #999 !important;
}

.moving-clouds-s {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
	padding-top: 75px;
	background: rgba(0,0,0,0.1);
    margin-top: auto;
    margin-bottom: auto;
    vertical-align: middle;
    display: flex;
    align-items: center;
}
@media only screen and (max-width: 767px) {
	.moving-clouds-s {
		padding-top: 40%;
	}
}

.presentation-subtitle {
    font-size: 1.7em;
    color: #222222;
	margin-top: 67vh;
}

.top-comment-box {
	width: 100%;	
	max-width: 1200px;
}
.top-comment {
	font-size: min(6rem, 56px) !important;
	color: #fff !important;
	text-align: center;
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	white-space: pre-wrap;
  	word-break: keep-all;
	text-shadow: 0 0 10px #000;
	letter-spacing: 0.3rem;
	margin-left: 0.15rem;
}
.sub-copy {
	display: block;
	text-align: center;
	font-family: "Shippori Mincho", serif;
	color: #fff;
	font-weight: 300;
	font-size: min(3rem, 24px) !important;
	white-space: pre-wrap;
  	word-break: keep-all;
	text-shadow: 0 0 10px #000;
}

.navbar .navbar-collapse:after {
    background-color: #3b3b3b;
}

.navbar.contents-head {
    transition: all .0s;
    -webkit-transition: all .0s;
}

.contents-block {
	margin-top: 74px;
}

@media only screen and (max-width: 767px) {
.main{
	color:#333;
	font-size: 123.1%;
}
h3{
	font-size: 131% !important;
}
.page-header {
    min-height: 100vh;
    max-height: 999px;
}
.logo {
    max-width: 300px;
	width: 100%;
}
.top-comment {
	font-size: 360% !important;
	line-height: 1.3;
	white-space: pre-wrap;
  	word-break: keep-all;
}
.sub-copy {
	font-size: 150% !important;
	white-space: pre-wrap;
  	word-break: keep-all;
	line-height: 1.6;
}
.contents-block {
	margin-top: 67px;
}

}

/* -------------------------------------------------- navi -------------------------------------------------- */


.navi-block {
	display: none;
	background-color: #b02322;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
	font-size:93%;
}

ul.topnav {
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style-type: none;
	background-color: #b02322;
    max-width: 1120px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}
ul.topnav li {
	float: left;
	width: 25%;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #722928;
}
ul.topnav li a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: white;
	font-size:108% !important;
	height: 70px;
    margin-top: auto;
    margin-bottom: auto;
    vertical-align: middle;
    display: flex;
    align-items: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}
ul.topnav .last {
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #722928;
}

ul.topnav li a:hover:not(.active) {
	background-color: #d81618;
}
ul.topnav li a.active {
	background-color: #d81618;
}
ul.topnav li.right {
	float: right;
}
@media screen and (max-width: 767px) {
ul.topnav li.right, ul.topnav li {
	float: none;
	border-left-style: solid;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #722928;
}
ul.topnav li {
    float: left;
    width: 50%;
}
ul.topnav li a {
	height: 45px;
	font-size:93% !important;
}
ul.topnav img {
	width: 25px;
}
}

/* -------------------------------------------------- contents -------------------------------------------------- */

.section {
    padding: 80px 0;
    position: relative;
    background-color: #fff;
}

.section-image:before {
    background-color: rgba(0,0,0,.3);
}

.rgba10.section-image:before {
    background-color: rgba(0,0,0,.1);
}

.rgba20.section-image:before {
    background-color: rgba(0,0,0,.2);
}

.rgba40.section-image:before {
    background-color: rgba(0,0,0,.3);
}
.rgba10.section-image:before {
    background-color: rgba(0,0,0,.4);
}

.rgba50.section-image:before {
    background-color: rgba(0,0,0,.5);
}

.rgba60.section-image:before {
    background-color: rgba(0,0,0,.6);
}


.title {
	font-size:220% !important;
	font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
	font-weight: bold;
}

.s-title {
	font-size:45% !important;
	margin-left: 10px;
	font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-weight: normal;
}

.s-title-eng {
	font-size:100% !important;
	color: #FFF;
	margin-top: -15px;
}

.description {
    color: #fff !important;
}

.btn-danger {
	background-color: #b02322;
	border-color: #b02322;
	color: #fff;
	opacity: 1;
	filter: alpha(opacity=100);
	width: 200px;
	font-size:93% !important;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	font-weight: normal !important;
	text-decoration: none;
}

.btn-danger:hover {
    background-color: #d81618;
	border-color: #d81618;
    color: #fff;
    opacity: 1;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
    filter: alpha(opacity=100);
}

.pankuzu {
	font-size:93% !important;
	color: #FFF;
	margin-top: -30px;
	margin-bottom: 80px;
}
.pankuzu a {
	color: #FFF;
	text-decoration: underline;
}
.pankuzu a:hover {
	color: #ddd;
	text-decoration: none;
}


.whiteblock {
    padding: 40px 0;
    position: relative;
    background-color: #fff;
}


.grayblock {
    padding: 40px 0;
    position: relative;
    background-color: #edf0f0;
}

@media screen and (max-width: 767px) {

.title {
	font-size:180% !important;
}
}

/* -------------------------------------------------- contents -------------------------------------------------- */

.contactblock {
    padding: 60px 0;
    position: relative;
    background-color: #d3d2d0;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
}
.contact-text span {
	color: #333;
	font-size:146.5% !important;
	padding-right: 10px;
	line-height: 300%;
}

.btn-contact {
	background-color: #d3d2d0 !important;
	color: #333 !important;
	opacity: 1;
	filter: alpha(opacity=100);
	width: 200px;
	font-size:93% !important;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: #333 !important;
	border-right-color: #333 !important;
	border-bottom-color: #333 !important;
	border-left-color: #333 !important;
	font-weight: normal !important;
	text-decoration: none;
}

.btn-contact:hover {
    background-color: #d81618 !important;
    border-color: #d81618 !important;
    color: #fff !important;
    opacity: 1;
    filter: alpha(opacity=100)
}


.notes-text{
	font-size: 0.85em;
  padding-left: 1.3em;
  text-indent: -1.3em;
	margin-top: 5px;
}
 


@media screen and (max-width: 767px) {
.contact-text span {
	font-size:123.1% !important;
	padding-right: 0px;
}
}

/* -------------------------------------------------- profile -------------------------------------------------- */

*, *:before, *:after {
	box-sizing: border-box;
}
.col_contents {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #ddd;
	margin-bottom: 40px;
	margin-top: 15px;
}
.col_contents > div {
	width: 25%;
	padding: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #ddd;
	padding-top: 25px;
	padding-right: 50px;
	padding-bottom: 25px;
	padding-left: 50px;
}
.col_contents .tr {
	width: 27%;
	font-weight: bold;
	padding-right: 0px;
}
.col_contents .td {
	width: 73%;
}

@media screen and (max-width: 767px) {
.col_contents {
	margin-bottom: 25px;
}
 .col_contents > div {
	padding-top: 15px;
	padding-right: 25px;
	padding-bottom: 15px;
	padding-left: 25px;
}
.col_contents .tr {
	width: 100%;
	border-bottom-style: none;
	padding-bottom: 0px;
}
.col_contents .td {
	width: 100%;
	padding-top: 10px;
}

}

/* -------------------------------------------------- product -------------------------------------------------- */


*, *:before, *:after {
	box-sizing: border-box;
}
.col_product {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_product > div {
	width: 50%;
	margin-bottom: 30px;
}
.col_product .block-left {
	padding-right: 15px;
}

.col_product .block-right {
	padding-left: 15px;
}

.col_product img {
	width: 100%;
}

@media screen and (max-width: 767px) {
 .col_product > div {
 width: 100%;
}
.col_product .block-left {
	padding-right: 0px;
}

.col_product .block-right {
	padding-left: 0px;
}
}

.col_product2 {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_product2 > div {
	width: 50%;
}

.col_product2 .block-left {
	padding-right: 15px;
}

.col_product2 .block-right {
	padding-left: 15px;
}

@media screen and (max-width: 767px) {
 .col_product2 > div {
 width: 50%;
}
}

/* -------------------------------------------------- inquiry -------------------------------------------------- */

.max-width7 {
	max-width: 700px;
}

iframe {
    width: 100%;
}


.container-privacy {
	width: 100%;
	padding: 15px;
}

.contact-tel {
	font-size:197%;
	line-height: 150%;
	font-weight: bold;
	color: #d81618;
	margin-right: 20px;
}

.oNum {
 margin:1.3em;
padding:0px;
}

.jigyou {
	padding:0px;
	margin-right: 1.3em;
	margin-bottom: 1.3em;
	margin-left: 1.3em;
}

.mail-submit {
	width: 100%;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
	padding-top: 15px;
	padding-bottom: 30px;
}

.btn-square-little-rich {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #FFF;
	background: #025895;
	border: solid 1px #025895;
	border-radius: 4px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
	text-shadow: 0 1px 0 rgba(0,0,0,0.2);
	margin-left: 5px !important;
	padding-top: 0.25em;
	padding-right: 0.5em;
	padding-bottom: 0.25em;
	padding-left: 0.5em;
}

.btn-square-little-rich:hover {
  background: #03A9F4;
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
}

.btn-square-little-rich:hover {
  background: #03A9F4;
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
}


@media screen and (max-width: 767px) {
.mail-submit {
	padding-top: 10px;
	margin-bottom: 20px;
}
.btn-square-little-rich {
	margin-left: 0px;
}
}

@media screen and (min-width: 501px) {
.size-input-name { width: 16em !important; }
.size-input-nameS { width: 8em !important; }
.size-input-company { width: 17em !important; }
.size-input-division { width: 17em !important; }
.size-input-quantity { width: 5em !important; }
.size-input-zip { width: 7em !important; }
.size-input-pref { width: 6em !important; }
.size-input-address { width: 80% !important; }
.size-input-tel { width: 12.5em !important; }
.size-input-telS { width: 5em !important; }
.size-input-homepage { width: 35em !important; }
.size-input-email { width: 20em !important; }
.size-input-message { width: 100% !important; height: 10em !important;}
}


@media screen and (max-width: 500px) {
input[type="text"],
textarea {
    width: 100% !important;
	margin-bottom:8px !important;
}
}	

/* -------------------------------------------------- footer -------------------------------------------------- */


.footer-block {
    background-color: #3b3b3b;
    padding: 30px 0;
}

.footer-nav a {
	color: #fff !important;
	font-size:100% !important;
	font-weight: normal !important;
	text-decoration: none;
}
.footer-nav a:hover {
	color: #999 !important;
	text-decoration: none;
}

.ml-auto {
    margin-top: auto;
    margin-bottom: auto;
    vertical-align: middle;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
.ml-auto {
	margin-top: -30px !important;
}
}


/*----------------------------------------------------
	ページトップへもどる
----------------------------------------------------*/
.toTop {
	position: fixed;
	bottom: 20px;
	right: 15px;
	z-index: 11;
	height: 0;
	opacity: 0;
	overflow: hidden;
	animation-duration: 1s;
	margin-top: -47px;
	padding-top: 47px;
}
.toTop a {
	display: block;
	background-color: #999;
	text-align: center;
	color: #fff;
	font-size: 0;
	text-decoration: none;
	padding: 10px 18px;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

.toTop a:hover {
	display: block;
	background-color: #777;
	text-align: center;
	color: #fff;
	font-size: 0;
	text-decoration: none;
	padding: 10px 18px;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

@media (max-width: 767px) {

.toTop {
margin-top: -59px;
padding-top: 59px;
}
.toTop a {
font-size: 0;
padding: 7px 10px;
}

.toTop a:hover {
font-size: 0;
padding: 7px 10px;
}
}
.toTop.show {
height: auto;
opacity: 1;
animation-name: fadein;
}
.toTop.hide {
height: 0;
opacity: 0;
animation-name: fadeout;
}
.toTop.static {
position: absolute;
bottom: auto;
margin: -100px 0 0;
}
@keyframes fadein {
0% {
height: 0;
opacity: 0;
}
1% {
height: auto;
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes fadeout {
0% {
height: auto;
opacity: 1;
}
99% {
height: auto;
opacity: 0;
}
100% {
height: 0;
}
}