@charset "UTF-8"; 
/* CSS Document */

/*
Version: [UNIVERSAL 万能テーマ] 2025.12.4 
Theme Name: Orignal Theme by Hirotaka Fujioka
Theme URI: https://fujigaoka-d.com/
Author: Hirotaka Fujioka
Author URI: https://fujigaoka-d.com/
Description: Universal
*/

/***** reset *****/
* {	padding:0; margin:0; }
html { height:100%; }
h1,h2,h3,h4,h5,h6{ clear:both; }
h1,h2,h3,h4,h5,h6,section,main,div,header,aside,footer,article,nav,ul,li,p,input,textarea,ruby,rt,rb {
	display:block;
	height:auto;
	overflow:hidden;
	box-sizing: border-box; /* padding,borderをwidthに含める */	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
span {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;	
}
img {
	border-style:none;
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}
button, input, select, textarea {
	font-family : inherit; /* 親要素のスタイルを引き継ぐ */
	font-size : 100%;
}

/***** adjustment *****/
/* box */
.inline {display:inline;}

/* position */
.left {float:left;}
.right {float:right;}
.clear {clear:both;}
.center {margin-left:auto !important; margin-right:auto !important;}

.p-relative { position:relative; }
.p-absolute { position:absolute; top:0;left:0; }

/* width,height */
.width-18 {	width:18%;}
.width-28 {	width:28%;}
.width-38 {	width:38%;}
.width-48 {	width:48%;}
.width-58 {	width:58%;}
.width-65 {	width:65%;}
.width-68 {	width:68%;}
.width-78 {	width:78%;}
.width-100 { max-width:none !important; width:100% !important; }
.width-100-4rem { max-width:none !important; width:calc(100% - 4rem) !important; }
.height-100 { max-height:none !important; height:100% !important; }

.width-20rem {width:20rem;}
.width-30rem {width:30rem;}

.width-6rem { width:6rem; !important; }
.width-7rem { width:7rem; !important; }
.width-8rem { width:8rem !important; }
.width-9rem { width:9rem; !important; }
.width-10rem { width:10rem; !important; }

.max-width-20rem {width:100%;max-width:20rem;}
.max-width-25rem {width:100%;max-width:25rem;}
.max-width-30rem {width:100%;max-width:30rem;}
.max-width-35rem {width:100%;max-width:35rem;}
.max-width-40rem {width:100%;max-width:40rem;}
.max-width-45rem {width:100%;max-width:45rem;}
.max-width-50rem {width:100%;max-width:50rem;}

/* margin padding */
.mt-0 { margin-top:0 !important;}
.mt-1rem { margin-top:1rem !important;}
.mt-2rem { margin-top:2rem !important; }
.mt-3rem { margin-top:3rem !important; }

.mr-1rem { margin-right:1rem !important;}
.mr-2rem { margin-right:2rem !important; }
.mr-3rem { margin-right:3rem !important; }

.mb-0 { margin-bottom:0 !important;}
.mb-half-rem { margin-bottom:0.5rem !important;}
.mb-1rem { margin-bottom:1rem !important;}
.mb-1-half-rem { margin-bottom:1.5rem !important;}
.mb-2rem { margin-bottom:2rem !important; }
.mb-3rem { margin-bottom:3rem !important; }
.mb-4rem { margin-bottom:4rem !important; }
.mb-5rem { margin-bottom:5rem !important; }

.pr-1rem { padding-right:1rem !important;}
.pr-2rem { padding-right:2rem !important; }
.pr-3rem { padding-right:3rem !important; }

.pb-0 { padding-bottom:0rem !important;}
.pb-half-rem { padding-bottom:0.5rem !important;}
.pb-1rem { padding-bottom:1rem !important;}
.pb-1-half-rem { padding-bottom:1.5rem !important;}
.pb-2rem { padding-bottom:2rem !important; }

.p-0 { padding:0rem !important;}
.p-1rem { padding:1rem !important;}
.p-1-half-rem { padding:1.5rem !important;}
.p-2rem { padding:2rem !important; }
.p-3rem { padding:3rem !important; }

.p-set-small { padding:0.2rem 0.5rem !important;}
.p-half-rem-1rem { padding:0.5rem 1.0rem !important;}
.p-1rem-1-half-rem { padding:1rem 1.5rem !important;}

/* border-radius */
.round-half-rem {border-radius:0.5rem;}	
.round-half-rem img {border-radius:0.5rem;}	
.round-1rem {border-radius:1rem;}	
.round-1rem img {border-radius:1rem;}	
.round-2rem {border-radius:2rem;}	
.round-2rem img {border-radius:2rem;}	
.round-3rem {border-radius:3rem;}	
.round-3rem img {border-radius:3rem;}	

/* background */
.bg-none { background:none !important;}
.bg-white { background:white !important;}
.bg-blue { background-color:blue;}
.bg-green { background-color:green;}
.bg-red { background-color:red;}
.bg-gray { background-color:#ccc;}
.bg-lightgray { background-color:#eee;}
.bg-purple { background-color:#F9F7FF;}
.bg-navy { background-color:#402a74;}
.bg-aqua { background-color:#edf6ff;}
.bg-cyan { background-color:#0089b0;}
.bg-darken { background-color:rgba(0, 0, 0, 0.7); background-blend-mode:darken; } /* 背景画像を暗く落とす */

/* border */
.border-none { border:none !important; }
.border-lightgray { border:thin solid #eee !important;}
.border-l-lightgray { border-left:thin solid #eee !important;}
.border-r-lightgray { border-right:thin solid #eee !important;}
.border-b-t-d-ccc { border-bottom:thin dotted #ccc !important;}

/* grid */
.grid { display: grid;}
.place-c-center { place-content: center; }
.place-i-center { place-items: center; }

.gap-1-half-rem { gap:1.5rem; }
.gap-2-rem { gap:2.0rem; }
.grid-1x1 { grid-template-columns: 1fr; }
.grid-1x2 { grid-template-columns: repeat(2, 1fr); }
.grid-1x3 { grid-template-columns: repeat(3, 1fr); }
.grid-1x4 { grid-template-columns: repeat(4, 1fr); }
.grid-1x5 { grid-template-columns: repeat(5, 1fr); }
.grid-1x6 { grid-template-columns: repeat(6, 1fr); }
.grid-1-2 { grid-template-columns:1fr 2fr;}
.grid-1-3 { grid-template-columns:1fr 3fr; }
.grid-2-1 { grid-template-columns:2fr 1fr;}
.grid-3-1 { grid-template-columns:3fr 1fr;}
.grid-3-2 { grid-template-columns:3fr 2fr;}
.grid-2-3 { grid-template-columns:2fr 3fr;}
.grid-10rem-1fr { grid-template-columns:10rem 1fr;}
.grid-12rem-1fr { grid-template-columns:12rem 1fr;}
.grid-4rem-6rem-1fr { grid-template-columns:4rem 6rem 1fr;}
.grid-6rem-6rem-1fr { grid-template-columns:6rem 6rem 1fr;}
.grid-8rem-6rem-1fr { grid-template-columns:8rem 6rem 1fr;}
.grid-8rem-8rem-1fr { grid-template-columns:8rem 8rem 1fr;}
/* 800px以下 */
@media screen and (max-width: 800px) {
	.grid-1x2,.grid-1x3,.grid-1x4,.grid-1x5 { grid-template-columns:1fr; }
	.grid-1-2,.grid-1-3,.grid-2-1,.grid-3-1 { grid-template-columns:1fr; }
	.grid-3-2,.grid-2-3 { grid-template-columns:1fr; }
	.to-grid-1x1 { grid-template-columns:1fr; }
	.to-grid-1x2 { grid-template-columns:1fr 1fr; }
	.to-grid-1x3 { grid-template-columns:1fr 1fr 1fr; }
}

/* flexbox */
.flex { display:flex; }
.jc-sb { justify-content:space-between; }
.jc-ct { justify-content: center; }
.ai-ct { align-items: center; }
.flex-center-center { /* 要素を真ん中に配置 */
	display:flex;
	width:100%;
	align-items: center;
	justify-content: center;
}

/* text */
.font-size-50 {	font-size:50% !important;line-height:1.8em;}
.font-size-60 {	font-size:60% !important;line-height:1.8em;}
.font-size-70 {	font-size:70% !important;line-height:1.8em;}
.font-size-80 {	font-size:80% !important;line-height:1.8em;}
.font-size-90 {	font-size:90% !important;line-height:1.8em;}
.font-size-110 { font-size:110% !important;line-height:1.8em;}
.font-size-120 { font-size:120% !important;line-height:1.8em;}
.font-size-150 { font-size:150% !important;line-height:1.8em;}
.font-size-200 { font-size:200% !important;line-height:1.8em;}

.text-center {text-align:center;}
.text-right {text-align:right;}

.text-normal {font-weight:normal !important;}
.text-bold {font-weight:bold !important;}

.text-white { color:#fff !important; }
.text-black { color:#333 !important; }
.text-green {color:#2D9331; !important; }
.text-navy {color:#402a74; !important; }
.text-cyan {color:#0089b0; !important; }

.text-mincho {
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.text-gothic {
	font-family:'Roboto Condensed', 'Open Sans' , 'Helvetica Neue' , Helvetica , Arial , Verdana , Roboto , '游ゴシック' , 'Yu Gothic' , '游ゴシック体' , 'ヒラギノ角ゴ Pro W3' , 'Hiragino Kaku Gothic Pro' ,  'Meiryo UI' , 'メイリオ' , Meiryo , 'ＭＳ Ｐゴシック' , 'MS PGothic' , sans-serif;
}

.text_auto {word-break: auto-phrase;hanging-punctuation: allow-end;}/* 文章（段落）自動調整 */
span.keep-together { display: inline-block;white-space: nowrap;}/* 文頭、文末単語 確定用 */

/***** tag *****/
/* a */
a {
	text-decoration: none;
	color:#333;
}
a.underline {
	color:#044da7;
	text-decoration:underline dotted currentColor;
}
p.underline a  { /* wordpress投稿用 */
	color:#044da7;
	text-decoration:underline dotted currentColor;
}

/* span */
span.small {font-size:0.8em;}

/* p */
p {	margin:0 0 1em 0; }
p.left {margin-left:0;}
p.right {margin-right:0;}

/* input */
input {
	font-family:inherit; letter-spacing:inherit; /* 親要素を引き継ぐ */
}

/* hr */
hr.clear {
	clear:both;
	border:none;
}

/* ruby */
ruby rt {
	font-size:0.35em;
	margin:0 0 0.1em 0;
}

/* ul */
ul.disc {
	list-style-type: disc;
}
ul.disc li {
	display:list-item;
	line-height:1.5em;
	margin:0 0.5rem 0.5rem 1.5rem;
	overflow:visible;
	list-style-type: disc;
}

/* ol number */
ol {
	margin:0 0 1em 0;
}
ol li {
	display:list-item;
	margin:0 0.5em 0 1.5em;
	line-height:2.0em;
	overflow:visible;
	list-style-type: decimal
}

/* table */
table.td-text-right td { text-align:right;}
table { 
	display:table;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	word-break: break-all;
	word-wrap: break-all;
	width:100%;
	margin:0 0 1em 0;
}
table th {
	text-align:left;
	padding:0.4em 1em;
}
table td {
	padding:0.4em 1em;
	margin-bottom:0.1em;
}
table.th-6rem th,figure.wp-block-table.th-6rem table th { width:6rem; !important; }
table.th-7rem th,figure.wp-block-table.th-7rem table th { width:7rem; !important; }
table.th-8rem th,figure.wp-block-table.th-8rem table th { width:8rem !important; }
table.th-9rem th,figure.wp-block-table.th-9rem table th { width:9rem; !important; }
table.th-10rem th,figure.wp-block-table.th-10rem table th { width:10rem; !important; }

/*** 比率固定画像用ボックス ***/
.aspect-box {
}
.aspect-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* 比率3:2 */
.aspect-box.ratio-3-2 {
	aspect-ratio: 3 / 2;	
}
/* 比率3:4 */
.aspect-box.ratio-3-4 {
	aspect-ratio: 4 / 3;
}
/* 比率1:2 */
.aspect-box.ratio-1-2 {
	aspect-ratio: 2 / 1;
}
/* 比率1:1 */
.aspect-box.ratio-1-1 {
	aspect-ratio: 1 / 1;
}
/***** PC・スマホ表示切り替え *****/
.desktop { display:block; }
.mobile { display:none; }
@media screen and (max-width: 640px) {
	.desktop { display:none; }
	.mobile { display:block; }
	/* adjustment */
	.left,.right {clear:both;}
	.left {clear:left;}
	.width-18,.width-28,.width-38,.width-48,.width-58,.width-65,.width-68,.width-78 {
		width:100%;
	}
	img.right,img.left {
		margin:0 0 1em 0;	
	}
}

