@charset "utf-8";

/***** RESET｜ブラウザが勝手に調整するスタイルを初期化する *****/
*,::after,::before{box-sizing:border-box;border-style:solid;border-width:0}*:visited,*:active,*:hover{text-decoration:none;outline:0;}html{font-size:62.5%;line-height:1.3;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}header,main,footer,nav,section,article,aside,figure,figcaption{display:block}address,blockquote,dl,figure,form,iframe,p,pre,table{margin:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;margin:0}ol,ul{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}embed,iframe,img,object,svg{vertical-align:bottom}img{width:100%;height:auto;image-rendering:-webkit-optimize-contrast;}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:0 0;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit;letter-spacing:inherit;}input{font-size:16px;}[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox}[type=radio]{-webkit-appearance:radio;appearance:radio}[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled,button:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}input:focus{outline:none}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}i{line-height:inherit;font-style:normal;vertical-align:bottom;}input:-webkit-autofill{-webkit-box-shadow: 0 0 0px 1000px white inset;}
/***** /RESET｜ブラウザが勝手に調整するスタイルを初期化する *****/
/***** CSS変数｜呼び出しは var( --変数名 ) で行う （ 例: var( --color_main ) など ） *****/
:root {
	--color_main: #d2aa50; /* var( --color_main ) */
	--color_main_rgb: 210, 170, 80; /* var( --color_main_rgb ) */
/*
	--color_main: #7d8f9f;
	--color_main_rgb: 125, 143, 159;
	--color_bg: rgb(235, 215, 215);
	--color_bg: #ebd7d7;
	--color_bg: #fdf5f3;
	--color_bg: #fdf8f3;
*/
	--color_bg: #ebf2fa; /* var( --color_bg ) */
	--color_text: #232337; /* var( --color_text ) */
	
	--color_white: #fff;
	--color_black: #333;
	--color_gray: #8c96aa;
	--color_lightgray: #e4e4e4;
/*	--color_lightgray: #d9dceb;*/
	
	--color_yellow: #fadc5a;
	--color_lightyellow: #f0dc96;
	--color_orange: #f58c45;
	--color_lightorange: #fabe96;
	--color_green: #379b64;
	--color_lightgreen: #96dcb4;
	--color_blue: #284182;
	--color_lightblue: #b4c8e6;
	--color_deepblue: #141432;
	--color_red: #a0140f;
	--color_lightred: #f08c8c;
	--color_pink: #dc3278;
	--color_lightpink: #f5b9d2;
	--color_purple: #5f1eaa;
	--color_lightpurple: #c8aff0;
/*
	--color_yellow: #ffe54c;
	--color_blue: #266DB6;
	--color_lightblue: #D5EDF6;
	--color_deepblue: #1e324b;#202055
	--color_pink: #fee6e3;
	--color_purple: #d2aaff;
*/
	
	--padding_content: 2em; /* var( --padding_content ) */
	--section_border_width: 40px; /* var( --section_border_width ) */
}
@media only screen and (min-width: 1300px){
	:root {
		--padding_content: 4em;
	}
}
@media only screen and (max-width: 519px){
}
@media only screen and (max-width: 450px) {
	:root {
		--padding_content: 1.5em;
	}
}
/***** /CSS変数｜呼び出しは var( --変数名 ) で行う （ 例: var( --color_main ) など ） *****/

/***** common *****/
body {
	font-family: 'Shippori Mincho', "Times New Roman", "游明朝体", "YuMincho", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS PMincho", serif;
/*	font-family: 'Bodoni Moda', 'Shippori Mincho', "Times New Roman", "游明朝体", "YuMincho", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS PMincho", serif;
	font-family: 'Jost', 'Zen Kaku Gothic New', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Arial", "Helvetica Neue", "Helvetica", "メイリオ", Meiryo, sans-serif;
	  font-size: 16px;
	font-size: min((1rem + 0.4vw), 16px);
	font-size: clamp(12px, (1rem + 0.4vw), 16px);*/
	  font-size: 16px;
	font-size: min(3.3vw, 16px);
	font-weight: 500;
	background: var( --color_bg );
	color: var( --color_text );
	letter-spacing: 0.1em;
	line-height: 1.7;
	　　-moz-osx-font-smoothing: grayscale;
}
/* 'M PLUS 1p' の表示調整用 （参考 ... https://irokoto.co.jp/blog/20200911/post-16） */
/*
section > div, section > p {
	transform: rotate(0.03deg);
}
*/
body > svg {
	display: none;
}
input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px var( --color_bg ) inset;
	-webkit-text-fill-color: var( --color_text );
}
/*a { color: inherit; transition: .3s; }*/
a { color: var( --color_main ); font-weight: 700; transition: .3s; }
a:hover { opacity: 0.7; }
main { margin: 0 auto; /* position: relative; max-width: 1519px; */ }
header, main, footer { width: 100%; }

body.fixed_effect { overflow: hidden; height: 100vh; }
.fixed_effect header, .fixed_effect main, .fixed_effect footer { width: 100vw; }

/*** grid を使って コンテンツの高さが小さい時でも footer が上がってくるのを防ぐ ***/
body {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: auto 1fr auto;
	-ms-grid-columns: 100%;
	grid-template: "header" auto "contents" 1fr "footer" auto/100%;
	min-height: 100vh;
}
body > header {
	z-index: 30;
	position: relative;
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: header;
}
body > main {
	z-index: 20;
	position: relative;
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	grid-area: contents;
}
body > footer {
	z-index: 10;
	position: relative;
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	grid-area: footer;
}
body > nav.nav_bottom {
	z-index: 25;
}
/*** /grid を使って コンテンツの高さが小さい時でも footer が上がってくるのを防ぐ ***/

@media (min-width: 520px) { /* Split View / タブレット small */
	body {
/*		  font-size: 14px;
		font-size: min(2.15vw, 14px);*/
	}
}
@media (min-width: 640px) { /* Split View / タブレット / SP 横向き large */
/*	body {
		  font-size: 12px;
		font-size: min(1.5vw, 12px);
	}*/
}
@media (min-width: 960px) { /* PC（汎用） */
	
}
@media (min-width: 1280px) { /* PC（大画面） */
	
}
/***** /common *****/

/*** animation ***/
	@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.fadeIn { animation-name: fadeIn; }

	@keyframes fadeInUp { 0%{transform:translateY(30px);opacity:0;} 80%{opacity:1;} 100%{opacity:1;transform:translateY(0);} }
.fadeInUp { animation-name: fadeInUp; animation-timing-function: cubic-bezier(0.42, 0.2, 0.16, 1); }

	@keyframes fadeInLeft { 0%{opacity:0;margin-left:-20px;} 100%{opacity:1;margin-left:0;} }
.fadeInLeft { animation-name: fadeInLeft; animation-timing-function: cubic-bezier(0.42, 0.2, 0.16, 1); }

	@keyframes zoomInUp { 0%{opacity:0;transform:translateY(10px) scale(0.7);} 100%{opacity:1;transform:translateY(0) scale(1);} }
.zoomInUp { animation-name: zoomInUp; }

	@keyframes blurIn { 0%{filter:blur(10px);opacity:0;} 100%{opacity:1;filter:blur(0);} }
.blurIn { animation-name: blurIn; }
/*** /animation ***/
