@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol&family=Kiwi+Maru&family=Kosugi+Maru&family=Noto+Sans+JP:wght@100..900&family=Sawarabi+Mincho&family=Vollkorn:ital,wght@0,400..900;1,400..900&display=swap');
/* CSS Document */
/*** The new CSS Reset - version 1.3.1 (last updated 28.10.2021) ***/
*:where(:not(span,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}ol,ul{list-style:none}img{max-width:100%}table{border-collapse:collapse}textarea{white-space:revert}

:root {
--color-twitter: #1DA1F2;
--color-x-twitter: #000000;
--color-facebook: #4267B2;
--color-youtube: #FF0000;
--color-line: #06C755;
/* https://angel-rs.github.io/css-color-filter-generator/ */
--filter-white : brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(1%) hue-rotate(343deg) brightness(103%) contrast(101%);
}

/* font ******************************/
.noto-sans {
	font-family: "Noto Sans JP", sans-serif !important;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-display: block; /* 代替フォントで表示しない → フォントが読み込まれるまで非表示 */
}
.sawarabi {
	font-family: "Sawarabi Mincho", serif !important;
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
.kaisei-decol {
	font-family: "Kaisei Decol", serif !important;
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
.kiwi-maru {
	font-family: "Kiwi Maru", serif !important;
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
.kosugi-maru {
	font-family: "Kosugi Maru", sans-serif !important;
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
.vollkorn {
	font-family: "Vollkorn", serif !important;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-display: block;
}
/* ************************************/


*{
	margin:0;
	padding:0;
}
article,section{
	overflow: hidden;
}
html{
	font-size:62.5%;
}
body{
	/* min-width:1000px; */
	min-width:750px;
	margin:0;
	padding:0;
	/* background-color:#f9f3e5; */
	background-color:#FFFFFF;
	font-weight: 400;
	font-size: 2rem;
	font-size-adjust: 100%;
	line-height: 160%;
	vertical-align: baseline;
}
body > article{
	min-height:100vh;
	position:relative;

}
body.pc{
	font-family:'Kosugi Maru','Noto Sans JP', sans-serif;
	font-size:  2rem;
	font-size-adjust: 100%;
	line-height: 160%;
}
body.mb{
	font-size:3.2rem;
	line-height: 130%;
	margin:0 auto;
	max-height:999999px;
	line-height: 130%;
	-webkit-text-size-adjust: 100%;
}

body.pc .mb,body.pc .mb_view{display: none;}
body.mb .pc,body.mb .pc_view{display: none;}

body.en .lang_ja{display: none;}
body.ja .lang_en{display: none;}
body.pc .view_type_mb{display: none;}
body.mb .view_type_pc{display: none;}
body.cm .unit_in{display: none;}
body.in .unit_cm{display: none;}

.page_width{
	display: block;
	width: 750px;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
body.pc .page_width{
	width: 1000px;
}
.page_width .page_width-inner{
	padding: 0 10px;
}

i{
	font-size: inherit;
	padding-right: 10px;
}

p{
	text-align: justify;
	text-justify: inter-ideograph;
}

a{
	cursor: pointer;
	color:inherit;
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}

a img{
	cursor: pointer;
}
a img:hover{
	opacity: 0.8;
}
table{
	border-spacing : 0;
	border-collapse : collapse;
}

.smaller{
	font-size: 0.8em;
	vertical-align: baseline;
}

hr.clearfix{
	border: none;
	clear: both;
	height:1px;
	margin:0;
	padding: 0;
}

h1,h2,h3,strong{
	font-weight: bold;
}

/* form content ******************************/
label:has(input){
	cursor: pointer;
}
input,select{
	font-size:1em;
	padding:5px;
}
input{
	appearance: auto;
}
select {
    appearance: auto;
	border:1px solid #666666;
	border-radius:8px;
	padding: 4px 1em 4px 0.5em;
	margin: 4px auto;
	cursor: pointer;
}
body.mb input{
	font-size:1em;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="url"],
textarea{
	display: block;
	border:1px solid #666666;
	border-radius:8px;
	margin:4px ;
	padding:10px;
	font-size: 1em;
}

input[type="checkbox"] {
	appearance: none;
	position: relative;
	width: 1em;
	height: 1em;
	border: 1px solid #666666;
	vertical-align: text-bottom;
	border-radius:4px;
	margin-right: 0.5em;
	cursor: pointer;
}
input[type="checkbox"]:checked {
	background-color:#333333;
}
input[type="checkbox"]:checked:before {
	position: absolute;
	top: -1px;
	left: 5px;
	transform: rotate(45deg);
	width: 0.5em;
	height: 0.7em;
	border-right: 3px solid white;
	border-bottom: 3px solid white;
	content: '';
}

/* clearfix ***************************************/
.clearfix { display: inline-table; }  
.clearfix:after {  
  content: ".";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden;  
}  
/* Hides from IE-mac */
* html .clearfix { height: 1%; }  
.clearfix { display: block; }  
/* End hide from IE-mac */

/* clearfix hr ***************************************************/
hr.clear{
	height:0;
	width:100%;
	clear:both;
	position: static;
}
.clear{
	height:0px;
	clear:both;
	border:none;
	position: static;
}









