/*
Theme Name: Twenty Twenty child
Template: twentytwenty
*/

@charset "utf-8";

/*------ カスタマイズ用CSS （触らない） ------*/

body,input,textarea,button,.button,.faux-button,.wp-block-button__link,.wp-block-file__button,.has-drop-cap:not(:focus)::first-letter,.has-drop-cap:not(:focus)::first-letter,.entry-content .wp-block-archives,.entry-content .wp-block-categories,.entry-content .wp-block-cover-image,.entry-content .wp-block-latest-comments,.entry-content .wp-block-latest-posts,.entry-content .wp-block-pullquote,.entry-content .wp-block-quote.is-large,.entry-content .wp-block-quote.is-style-large,.entry-content .wp-block-archives *,.entry-content .wp-block-categories *,.entry-content .wp-block-latest-posts *,.entry-content .wp-block-latest-comments *,.entry-content p,.entry-content ol,.entry-content ul,.entry-content dl,.entry-content dt,.entry-content cite,.entry-content figcaption,.entry-content .wp-caption-text,.comment-content p,.comment-content ol,.comment-content ul,.comment-content dl,.comment-content dt,.comment-content cite,.comment-content figcaption,.comment-content .wp-caption-text,.widget_text p,.widget_text ol,.widget_text ul,.widget_text dl,.widget_text dt,.widget-content .rssSummary,.widget-content cite,.widget-content figcaption,.widget-content .wp-caption-text,th,td {
	font-size:medium;https://rinx.materiart.net/wp-admin/theme-editor.php?file=style.css&theme=twentytwenty-child
}
:not(.alignwide):not(.alignfull).wp-block-archives, :not(.alignwide):not(.alignfull).wp-block-categories, .wp-block-code, :not(.alignwide):not(.alignfull).wp-block-columns, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-cover, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-embed, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-gallery, :not(.has-background):not(.alignfull):not(.alignwide).wp-block-group, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-image, :not(.aligncenter):not(.alignright):not(.alignleft).wp-block-latest-comments, :not(.aligncenter):not(.alignright):not(.alignleft).wp-block-latest-posts, :not(.alignwide):not(.alignfull).wp-block-media-text, .wp-block-preformatted, :not(.alignwide):not(.alignright):not(.alignleft):not(.alignfull).wp-block-pullquote, .wp-block-quote, .wp-block-quote.is-large, .wp-block-quote.is-style-large, .wp-block-verse, :not(.alignwide):not(.alignfull).wp-block-video{
	margin-top:0;
}

html,body{
	height:100%
}
body{
  margin:0;
}
p {
	line-height:1.7;
}

/* デフォルトでキャレット非表示（選択は可） */
html, body, * {
  caret-color: transparent;
}

/* 入力欄や本物の編集領域だけはキャレット表示 */
input, textarea, [contenteditable="true"] {
  caret-color: auto; /* ここだけ縦線を表示 */
}
h4, .heading-size-4, h5, .heading-size-5, h6, .heading-size-6 {
 margin:2rem auto 2.5rem	
}

ul,ol,li {
	list-style:none;
	margin:0;
	padding:0;
}


a {
	color:var(--link_blue);
	text-decoration: none;	
} 
a:hover {
	text-decoration:underline;
}

html {
   -webkit-text-size-adjust: 100%; /* iOS Safari の自動拡大を防ぐ */
}
section {
	padding:8rem 0 6rem 0;
}
section > .inner,
#top_main .inner,
#under_title .inner,
.pankuzu > .inner{
	width:calc(100% - 60px);
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}


.m0 {	margin:0;}
.mt5 {	margin-top:5px;}
.mt10 {	margin-top:10px;}
.mt20 {	margin-top:20px;}
.mt30 {	margin-top:30px;}
.mr5 {	margin-right:5px;}
.mr10 {	margin-right:10px;}
.mr20 {	margin-right:20px;}
.mr30 {	margin-right:30px;}
.mb5 {	margin-bottom:5px;}
.mb10 {	margin-bottom:10px;}
.mb20 {	margin-bottom:20px;}
.mb30 {	margin-bottom:30px;}
.ml5 {	margin-left:5px;}
.ml10 {	margin-left:10px;}
.ml20 {	margin-left:20px;}
.ml30 {	margin-left:30px;}

.font-gray {
	color:#D4D4D8;
}
.font-darkgray {
	color:#A1A1AA
}


/* ボタン・ナビ */
#contact_btn,
#menu_btn {
	margin-bottom:0 !important;
}
#contact_btn a {
  height: 56px;
	position:fixed;
	top:30px;
	right:100px;
	z-index:10001;
	cursor:pointer;
	color:white;
	line-height:56px;
	border:1px solid white;
	border-radius:28px 28px 28px 28px;
	padding:0 15px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	transition:all 0.3s;

}
#contact_btn a i.pc {
	display:inline-block;
	background:#DC2626;
	padding:10px 12px;
	border-radius:50%;
	margin-left:10px;
}
#contact_btn a svg .st0{
	fill:#FFFFFF;
}
#contact_btn a svg.pc {
	display:inline-block;
	padding:5px;
	border-radius:50%;
	margin-left:10px;
	height:70%;
	background:#DC2626;
	transition:all 0.3s;
}
_:lang(x)+_:-webkit-full-screen-document, #contact_btn a svg.pc {
	padding:0 !important;
}
#contact_btn a:hover {
	text-decoration:none;
	background:#DC2626;
}
#contact_btn a:hover svg.pc {
	background:white;

}
#contact_btn a:hover svg .st0{
	fill:#DC2626;
}


#contact_btn a i.sp {
	display:none;
}
@media screen and (max-width:999px) {
#contact_btn a svg.pc,
#contact_btn a i.pc{
	display:none;
}
}
@media screen and (max-width:599px) {
#contact_btn a i.sp {
	display:inline-block;
}
}


#menu_btn a {
  width: 56px;
  height: 56px;
	position:fixed;
	top:22px;
	right:30px;
	z-index:10001;
	cursor:pointer;
	border-radius:28px;
	background:white;
}
#menu_btn a span{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 3px;
  margin: -2px 0 0 -10px;
  transition: .2s;
	background-color:#111827;
}
#menu_btn a span:before,
#menu_btn a span:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 3px;
  transition: .3s;
	background-color:#111827;
}
#menu_btn a span:before{
  margin-top: -10px;
}
#menu_btn a span:after{
  margin-top: 7px;
}
#menu_btn a.close span {
  background: transparent;
}
#menu_btn a.close span:before,
#menu_btn a.close span:after{
  margin-top: 0;
}
#menu_btn a.close span:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#menu_btn a.close span:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

@media screen and (min-width:1000px) {
	#menu_btn {
		display:none;
	}	
}
@media screen and (max-width:999px) {
#contact_btn a {
  height: 50px;
	top:15px;
	right:77px;
	line-height:50px;
	padding:0 20px;
}
#menu_btn a {
  width: 50px;
  height: 50px;
	top:15px;
	right:15px;
}
}
@media screen and (max-width:599px) {
#contact_btn a {
	width:44px;
  height: 44px;
	padding:0;
	font-size:160%;
	display:flex;
	align-items:center;
	justify-content:center;
	right:70px;
}
#menu_btn a {
  width: 44px;
  height: 44px;
	top:8px;
	right:15px;
}
#contact_btn a i {
	display:inherit;
}
#contact_btn a span {
	display:none;
}
}

#menu_modal {
	background:rgba(0,0,0,0.45);
	backdrop-filter: blur(12px);
	width:100%;
	position:fixed;
	top:0;
	right:0;
	z-index:10000;
	overflow-y:auto;
	display:none;
	height:100vh;
	padding:55px 10px 20px 20px;
}
#menu_modal > div {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	max-width:1000px;
	background:#18181B;
	display:flex;
	padding:80px;
	width:75%;
}
#menu_modal > div img {
	width:356px;
	max-width:356px;
}
.menu-main_menu-container{
	width:100%;
}
#menu_modal ul {
	width:100% !important;
	border-top:1px solid #333333;
}
#menu_modal ul li{
	border-bottom:1px solid #333333;
	white-space:nowrap;
}
#menu_modal ul li a {
	display:block;
	color:white;
	text-decoration:none;
	padding:15px 0 10px 0;
	font-size:150%;
}
#menu_modal ul li a h2 {
	margin:0 0 15px 0;
	font-size:200%;
}
@media screen and (max-width:1280px) {
#menu_modal > div {
	padding:70px;
	width:calc(100% - 100px);
}
}
@media screen and (max-width:999px) {
#menu_modal > div {
	padding:50px;
	width:calc(100% - 80px);
}
}
@media screen and (max-width:900px) {
#menu_modal > div img {
	width:100%;
}
}
@media screen and (max-width:599px) {
#menu_modal > div {
	padding:30px;
	flex-wrap:wrap;
	width:calc(100% - 60px);
}
#menu_modal > div > div {
		width:100%;
	}
#menu_modal ul li a {
	font-size:4vw;
}
}
.label-above .nf-field-element,
.label-below .nf-field-element {
	text-align:center;
}



.pankuzu {
	padding-top:20px;
	font-size:80%;
	color:gray;
}
.pankuzu a {
	color:inherit;
}


#page-top {
	position: fixed;
	bottom: 3px;
	right: 31px;
	display: block;
	z-index: 100;
}
#page-top a {
display: inline-block;
padding: 0 0 0 16px;
color: #000;
vertical-align: middle;
text-decoration: none;
}
#page-top a:before,
#page-top a:after {
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}

#page-top a:before{
width: 38px;
height: 38px;
}
#page-top a:after{
left: 9px;
top:-12px;
box-sizing: border-box;
width: 10px;
height: 15px;
border: 10px solid transparent;
border-bottom: 8px solid #fff;
}



/* メニューモーダル */
html,
body {
	height:100vh !important;
}
.menu-modal.active {
	left:auto;
	width:80%;
	max-width:400px;
}
.menu-modal{
	background:none;
	transition:opacity 0 ease-out;
}
.modal-menu{
	width:100%;
	left:0;
}
.menu-modal ul{
	width:100%;
}
.menu-modal-inner{
	background:rgba(255,255,255,0.8)
}

/* フェード */
.fadein {
    opacity : 0;
    transform : translate(0, 30px);
    transition : all 500ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

@media screen and (max-width:599px) {
.fadein {
    transform : translate(0, 20px);
}	
}

/* Flex */
ul.flex2,
ul.flex3,
ul.flex3-2,
ul.flex4,
.cat_blog_flex,
.under_flex{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.under_flex{ 
	margin-bottom:30px;
	}
ul.flex2 img,
ul.flex3 img,
ul.flex3-2 img,
ul.flex4 img{
	height:auto;
}
ul.flex2 li {
	width:calc(50% - 10px);
	margin-bottom:30px;
}
ul.flex2::after{
	content:"";
	display: block;
	width:calc(50% - 10px);
}
ul.flex3 li,
ul.flex3-2 li{
	width:calc(33% - 20px);
	margin-bottom:30px;
}
ul.flex3::after,
ul.flex3-2::after{
	content:"";
	display: block;
	width:calc(33% - 20px);
}

ul.flex4 li {
	width:calc(25% - 15px);
	margin-bottom:30px;
}
ul.flex4::before{
	content:"";
	display: block;
	width:calc(25% - 15px);
	order:1;
}
ul.flex4::after{
	display: block;
	width:calc(25% - 15px);
}

.under_flex > div:first-child {
	width:calc(45% - 40px);
}
.under_flex > div:last-child {
	width:55%;
}

.pc {    display: inherit;}
.tab {    display: none;}
.sp{    display: none;}

@media screen and (min-width:999px) {

}	
	
@media screen and (max-width:999px) {
ul.flex4 li {
	width:calc(33% - 10px);
	margin-bottom:25px;
}
ul.flex4::before{
	width:calc(33% - 10px);
}
ul.flex4::after{
	width:calc(33% - 10px);
}
ul.flex3-2 li {
	width:calc(50% - 10px);
	margin-bottom:25px;
}
ul.flex3-2::after{
	width:calc(50% - 10px);
}
ul.single {
	width:100%;	
}
.pc {    display: none;}
.tab {    display: inherit;}
.sp{    display: none;}
}

@media screen and (max-width:599px) {
ul.flex3 li {
	width:calc(50% - 10px);
	margin-bottom:25px;
}
ul.flex3::after{
	width:calc(50% - 10px);
}
ul.flex4 li {
	width:calc(50% - 10px);
	margin-bottom:25px;
}
ul.flex2::after,
ul.flex3::after,
ul.flex3-2::after,
ul.flex4::after{
	content:none;
}
ul.flex2.single li,
ul.flex3.single li,
ul.flex3-2.single li,
ul.flex4.single li {
	width:100%;
	margin-bottom:25px;
}
}


/* =====================================
   flex
===================================== */

.flex_50_50,
.flex_60_40,
.flex_40_60,
.flex_70_30,
.flex_30_70{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
}
.flex_50_50 > div {
	width:calc(50% - 20px);
}
.flex_60_40 > div:first-child {
	width:calc(60% - 40px);
}
.flex_60_40 > div:nth-child(2) {
	width:40%;
}
.flex_40_60 > div:first-child {
	width:40%;
}
.flex_40_60 > div:nth-child(2) {
	width:calc(60% - 40px);
}
.flex_70_30 > div:first-child {
	width:calc(70% - 40px);
}
.flex_70_30 > div:nth-child(2) {
	width:30%;
}
.flex_30_70 > div:first-child {
	width:30%;
}
.flex_30_70 > div:nth-child(2)  {
	width:calc(70% - 40px);
}
.aliencenter {
	align-items:center;
}

@media screen and (max-width: 599px) {
.flex_50_50 > div,
.flex_40_60 > div:first-child,
.flex_40_60 > div:nth-child(2),
.flex_60_40 > div:first-child,
.flex_60_40 > div:nth-child(2),
.flex_30_70 > div:first-child,
.flex_30_70 > div:nth-child(2),
.flex_70_30 > div:first-child,
.flex_70_30 > div:nth-child(2) {
	width:100%;
	margin-bottom:30px;
}
.pc { display: none;}
.tab { display: none;}
.sp{ display: inherit;}
}
	
/* 画像拡大 */
.imgWrap {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	width:auto;
	height:auto;
	display:flex;
	justify-content:center;
	align-items:center;
}
a .imgWrap img {
	display: block;
	transform: scale(1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	height:auto;
	max-height:100%;
	width:100%;
}
ul a .imgWrap img {
	object-fit: cover;
}
a:hover .imgWrap img {
	transform: scale(1.02);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}

/* =====================================
   DESIGN SYSTEM（全体共通）
===================================== */

h3 {
  font-size:150%;
  margin: 40px 0 15px;
	font-weight:500;
}
h4 {
  font-size:125%;
  margin-bottom: 10px;
}


/* テーブル */
table {
  width: 100%;
  border-collapse: collapse;
}
th, td {
  padding: 16px;
  border-bottom: 1px solid var(--border);
}
th {
  width: 30%;
	font-weight:normal;
}

/* フォーム */
input, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid lightgray;
  border-radius: 6px;
}

input[type="submit"] {
  background: var(--color_blue);
  color: #fff;
  border: none;
  cursor: pointer;
	min-width:200px;
}
input[type="submit"]:hover {
	opacity:0.9;
	text-decoration:none;
}




/* =====================================
  header
===================================== */

header {
	position:fixed;
	width:100%;
	z-index:9999;
	top:0;
}
header > div {
	padding:0 30px ;
	height:80px;
	display:flex;
	align-items:center;
	justify-content:space-between;

}
header h1 {
	margin:0;
	color:white;
	font-size:100%;
	font-weight:normal;
	display:flex;
	align-items:center;
}
header h1 a:hover {
	opacity:0.8;
}
header h1 img{
	width:250px;
}
header ul#menu-main_menu {
	display:flex;
	justify-content:flex-end;
}
header ul li {
	text-align:center;
}
header > div > div > ul li {
	margin-left:30px;
}
header > div > div > ul li:nth-child(n+7) {
  display: none;
}
header ul a {
	color:white;
}
header ul a:hover {
	text-decoration:none;
	opacity:0.8;
}
.menu-desc {
  display: block;
  color: #999;
	font-size:115%;
}
.menu-title {
  display: block;
	font-size:86%;
}
header.scroll{
	background:rgba(255,255,255,1);
	border-bottom:1px solid lightgray;
}
header.scroll ul#menu-main_menu .menu-title {
	color:#000;
}

@media screen and (max-width:999px) {
header > div {
	padding:0 30px ;
	height:80px;
}
header ul#menu-main_menu {
		display:none;
	}
}
@media screen and (max-width:800px) {
	header h1 span{
		display:none;
	}
}
@media screen and (max-width:599px) {
header h1 img {
	width:200px;
	padding-right:0;
}
header > div {
	padding:0 20px ;
	height:60px;
}
}

/* =====================================
  footer
===================================== */

.footer-top-visible .footer-nav-widgets-wrapper,
.footer-top-hidden #site-footer {
	margin-top:0;

}
footer {
background: var(--color_darkblue);
}
footer .inner {
	width:calc(100% - 80px);
	padding-top:30px;
	margin-left:auto;
	margin-right:auto;
	display:flex;
	align-items:flex-start;
	justify-content: space-between;
}
footer .inner div.flex {
	display:flex;
	align-items:center;
}
footer .inner div.flex a {
	display:block;
	width:155px;
}
footer .inner div.flex div:last-child {
	margin-left:20px;
}
footer .inner div.flex div:last-child h2 {
	color:white;
	font-size:130%;
	margin:0;
}
footer .inner div.flex div:last-child p {
	color:white;
	margin:0;
	white-space:nowrap;
	font-size:90%;
}
footer a {
	color:white;
}

footer .inner ul {
	display:flex;
	justify-content:flex-end;
}
footer .inner ul li {
	line-height:1;
	margin-left:20px;
}

footer .copyright {
	text-align:center;
	color:white;
	font-size:86%;
	padding:30px 0 15px 0;
}

@media screen and (max-width:1280px) {
footer .inner {
	flex-wrap:wrap;
	flex-direction:column-reverse;
	 align-items: center; 
}
footer .inner ul {
	justify-content:center;
	margin-bottom:4rem;
}
}
@media screen and (max-width:999px) {
}
@media screen and (max-width:799px) {
footer .inner {
	flex-wrap:wrap;
	justify-content:space-around;
}
footer .inner ul {
	display:none;
	margin:0
}	
}
@media screen and (max-width:599px) {
footer .inner ul:nth-child(n+2) {
	display:none;
}
footer .copyright {
	padding-top:0px;
}
footer .copyright ul{
	display:none !important;
}
footer .copyright > div {
	margin-right:auto;
}
}
	
	





/* under */
#under_post {
	padding-top:0;
}

#under_main,
#under_post #under_title {
	height:25vh;
	max-height:250px;
    display: flex;
    flex-direction: column; /* 縦方向に配置 */
    justify-content: center; /* 垂直方向に中央寄せ */
	background-position:center center;
	background-size:cover;
	margin-top:80px;
}
#under_main h1,
#under_post #under_title h1 {
	font-weight:500;
	letter-spacing:0.15em;
	display:inline-block;
	padding:20px;
	margin:0;
	color:white;
}
#under_main h1,
#under_post #under_title h1 {
	font-size:130%;
}
#under_main h1 span,
#under_post #under_title span{
	font-size:250%;
	display:block;
	margin-bottom:10px;
	text-shadow: 3px 3px 2px rgba(0,0,0,0.6);
}

#under_post #under_title {
	background-image:url("/wp-content/themes/twentytwenty-child/images/pict/001.jpg")
}

@media screen and (max-width:999px) {
#under_main,
#under_post #under_title {
	margin-top:80px;
}
#under_main .inner,
#under_title .inner {
	margin-left:0;
}
#under_main h1,
#under_post #under_title h1 {
	padding-left:50px;
}
}
@media screen and (max-width:599px) {
#under_main,
#under_post #under_title {
	margin-top:60px;
}
#under_post #under_title {
	height:200px;
	min-height:auto;
}
#under_main h1,
#under_post #under_title h1 {
	font-size:5vw;
}
}


#under_post .flex_menu{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	padding-bottom:5em;
	margin-top:5em;
}
#under_post .flex_menu > div:first-child {
	width:272px;
	margin-right:2em;
}
#under_post .flex_menu > div:first-child ul {
	background:#18181B;
	padding:1em;
}
#under_post .flex_menu > div:first-child ul li {
	margin-bottom:1em;
}
#under_post .flex_menu > div:first-child ul li:last-child {
	margin-bottom:0;
}
#under_post .flex_menu > div:first-child ul li a {
	display:block;
	background:#27272A;
	padding:1em;
	color:white;
}
#under_post .flex_menu > div:first-child ul li a:hover {
	text-decoration:none;
}
#under_post .flex_menu > div:nth-child(2){
	width:100%;
	max-width:964px;
}
#under_post .flex_menu > div:nth-child(2) ul{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
#under_post .flex_menu > div:nth-child(2) ul li{
	width:calc(50% - 15px);
	margin-bottom:20px;
	border:var(--border01);
}
#under_post .flex_menu > div:nth-child(2) ul li .box {
	padding:0 20px 20px 20px;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
}
#under_post .flex_menu > div:nth-child(2) ul li a {
	color:inherit;
	text-decoration:none;
}
#under_post .flex_menu > div:nth-child(2) ul li h3 {
	margin:0 0 10px 0;
	font-weight:500;
	font-size:150%;
	line-height:1.5;
}
#under_post .flex_menu > div:nth-child(2) ul li .date{
	margin-top:13px;
	margin-bottom:0;
	line-height:1.2;
}
#under_post .flex_menu > div:nth-child(2) ul li p.read {
	font-size:90%;
	font-feature-settings:"palt";
}
#under_post .flex_menu > div:nth-child(2) ul li a p.link {
	border:var(--border01);
	text-align:center;
	margin:auto auto 0 auto;
	width:100%;
}
#under_post .flex_menu > div:nth-child(2) ul li a:hover p.link {
	background: var(--bgcolor01);
	transition:all 0.3s;
}
@media screen and (max-width:999px) {
#under_post .flex_menu{
	flex-wrap:wrap;
}
#under_post .flex_menu > div:first-child {
	width:100%;
	margin-right:0;
	margin-bottom:20px;
}
#under_post .flex_menu > div:first-child ul {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
#under_post .flex_menu > div:first-child ul li:nth-child(3),
#under_post .flex_menu > div:first-child ul li:last-child {
	margin-bottom:0;
}
#under_post .flex_menu > div:first-child ul li {
	width:calc(50% - 7.5px);
}
#under_post .flex_menu > div:nth-child(2) ul li{
	margin-bottom:30px;
}
}
@media screen and (max-width:599px) {
#under_post .flex_menu > div:nth-child(2) ul li{
	width:100%;
}

#under_post .flex_menu > div:first-child ul {
	padding:1em;
}
#under_post .flex_menu > div:first-child ul li {
	margin-bottom:1em
	text-align:center;
}
#under_post .flex_menu > div:first-child ul li a {
	padding:1em 0;
	text-align:center;
}
#under_post .flex_menu > div:nth-child(2) ul li h2 {
	font-size:125%;
}	
}


/* single*/

body.single #under_post .flex_menu,
#under_content{
}
body.single #under_post .flex_menu h2,
#under_content h2{
	font-size:180%;
	font-weight:500;
	margin:10px 0;
	line-height:1.6;
}
#under_content h2{
	font-size:400%;
}
body.single #under_post .flex_menu h3 {
	font-size:100%;
	font-weight:500;
	margin:10px 0;
}
body.single .single_box,
#under_content .box{
	margin-top:13px;
	padding:20px;
	background: var(--bgcolor01);
	border: var(--border01);
}
body.single .single_box img {
	margin-bottom:20px;
}
body.single .date,
body.single .single_box p {
	margin-bottom:0;
}

body.single #single_about h4 {
	font-size:100%;
	margin:30px 0 15px 0;
}
body.single #single_about p{
	font-size:80%;
	margin:0;
}
#single_sns{
	display:flex;
	justify-content:center;
	align-items:center;
}
#single_sns div{
	display:inline-block;
	color:white;
	cursor:pointer;
	margin-left:20px;
	font-size:250%;
}
#single_sns p {
	margin:0 30px 0 0;
}



/* contact */

#contact_content {
		margin-top:7em;
}
#contact_content h1 {
	font-size:250%;
	font-weight:500;
	margin:0 0 1em 0;
}
#contact_content > div > div:nth-child(1) ul li{
	margin-top:20px;
}
#contact_content > div > div:nth-child(2) {
	background:#18181B;
	padding:3em;
	text-align:left;
}
#contact_content > div > div:nth-child(2) input[type="text"],
#contact_content > div > div:nth-child(2) input[type="email"] {
	width:100%;
	color:black;
	font-size:125%;
	margin:10px 0 20px 0;
}
#contact_content > div > div:nth-child(2) input[type="submit"]{
	width:100%;
	background:#DC2626;
}
#contact_content .required{
	background:#DC2626;
	padding:0 10px;
}



@media screen and (max-width:999px) {
#contact_content > div > div:nth-child(2) {
	padding:1.5em;
}
#contact_content > div > div:nth-child(2) input[type="text"],
#contact_content > div > div:nth-child(2) input[type="email"] {
	font-size:110%;
	padding:12px;
}
}
@media screen and (max-width:599px) {
#contact_content > div > div:nth-child(2) {
	padding:1em;
}
#contact_content > div > div:nth-child(2) input[type="text"],
#contact_content > div > div:nth-child(2) input[type="email"] {
	padding:10px;
}
}


.shadow {
	 text-shadow: -1px -1px 2px rgba(0,0,0,0.6), 3px 3px 1px rgba(0,0,0,0.6)
}

/* =====================================
  btn
===================================== */


.btn01 {
	text-align:center;
	margin-top:2em;
	position:relative;
	z-index:999;
	width:100%;
}
.btn01 a {
	border:var(--border02);
	display:inline-block;
	color:inherit;
	padding:13px 20px;
	min-width:50%;
	font-size:120%;
	font-weight:500;
	line-height:1;
	align-items:center;
	justify-content:center;
}
.btn01 a:hover {
	background:var(--bgcolor01);
	transition:all 0.3s;
	text-decoration:none;
	opacity:0.9;
}

@media screen and (max-width:999px) {
.btn01 a {
	min-width:70%;
}
}
@media screen and (max-width:599px) {
.btn01 a {
	min-width:80%;
}
}






/* =====================================
   home
===================================== */

#top_main  {
	padding:0;
}
#top_main .outer {
	min-height:100vh;
	/*background-image:url("/wp-content/themes/twentytwenty-child/images/top/back_A.jpg");*/
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;
	display:flex;
	align-items:center;
	position:relative;
}
#top_main .mv-catch{
	position:absolute;
	left:100px;
	bottom:100px;
	display:block;
}

.home h2 {
	font-size:280%;
	font-weight:300;
	line-height:1.4;
	letter-spacing:0;
}
#top_main .mv-catch h2 {
	color:white;
	font-size:400%;
	font-weight:300;
	line-height:1.4;
	text-shadow:5px 5px 3px rgba(0,0,0,0.6);
	letter-spacing:0.1px;
}
#top_main .mv-catch p {
	color:white;
	font-size:130%;
	line-height:2;		
	text-shadow:2px 2px 3px rgba(0,0,0,0.4);
}
#top_main h2 > div {
	width:100%;
	text-align:center;
}
#top_business{
	background: url("/wp-content/themes/twentytwenty-child/images/top/pict03.jpg");
	background-size:cover;
	min-height:500px;
	display:flex;
	align-items:center;
}
#top_business .inner > div {
	background:white;
	max-width:40vw;
	padding:40px;
}
#top_about h2,
#top_company h2,
#top_business h2 {
	margin:0 0 30px 0;
}

#top_about img,
#top_company img{
	box-shadow:18px 18px 0 #e0f0f0;
}

#top_about .inner,
#top_company .inner{
	width:calc(100% - 100px);
	max-width:1200px;
}
#top_business .inner{
	width:calc(100% - 100px);
	max-width:1280px;
}

#top_about .flex,
#top_company .flex{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#top_company .flex{
	flex-direction:row-reverse;
}
#top_about .flex > div:first-child {
	padding-right:40px;
}
#top_company .flex > div:last-child  {
	padding-right:80px;
}

#top_company a,
#top_business a,
#top_news > div > a {
	display:block;
	background:var(--color_blue);
	color:white;
	margin:4rem auto 0;
	text-align:center;
	max-width:300px;
	padding:15px 0;
	border-radius:100px 100px 100px 100px;
	font-weight:400;
	font-size:110%;
} 
#top_company a:hover,
#top_business a:hover {
	text-decoration:none;
	opacity:0.8;
}

@media screen and (max-width:1280px) {
#top_main .mv-catch{
	left:8vw;
	bottom:8vw;
}
}
@media screen and (max-width:999px) {
#top_main h2 {
	font-size:4.5vw;
}
#top_main .inner {
	margin-left:0;
}
#top_main .mv-catch h2 {
	font-size:7vw;
}
#top_main .mv-catch p {
	font-size:2.2vw;
}
}
@media screen and (max-width:800px) {
#top_about .flex,
#top_company .flex{
	flex-wrap:wrap;
}
#top_about .flex > div:first-child  {
	padding:0;
	margin-bottom:4rem;
}
#top_company .flex > div:last-child  {
	padding:0;
	margin-top:4rem;
}
#top_business .inner > div {
	max-width:100%;
}
}
@media screen and (max-width:599px) {
#top_main h2 {
	font-size:6vw;
}
#top_main .mv-catch h2 {
	font-size:9vw;
}
#top_main .mv-catch p {
	font-size:2.5vw;
}
}





#top_catch,
#top_news {
	background: var(--bgcolor01);
	border-top: var(--border01);
	border-bottom: var(--border01);
}
#top_news h2,
#under_newslist h2{
	margin-top:0;
	text-align:center;
}
#top_news .inner {
	max-width:800px;
}
#top_news ul,
#under_newslist {
	border-top:1px solid gray;
}
#under_newslist {
	margin-top:5rem;
}
#top_news ul li,
#under_newslist li{
	border-bottom:1px solid gray;
}
#top_news ul li a,
#under_newslist li a{
	color:inherit;
	display:block;
	padding:13px 0;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}
#top_news ul li a span:first-child,
#under_newslist li a span:first-child {
	width:7em;
	display:inline-block;
}
#top_news ul li a:hover,
#under_newslist li a:hover {
	text-decoration:none;
}
#top_news ul li a span:last-child,
#under_newslist li a span:last-child {
	width:calc(100% - 9em) ;
	display:inline-block;
}
#top_news ul li a:hover span:last-child,
#under_newslist li a:hover span:last-child {
	text-decoration:underline !important;
}

@media screen and (max-width:999px) {
}
@media screen and (max-width:599px) {
}




/* =====================================
   news
===================================== */

.news_main {
	background-image:url("/wp-content/uploads/2026/04/main_news-1.jpg");
}
.flex_news {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.flex_news > main {
	width:calc(100% - 320px);
}
.flex_news > aside {
	width:270px;
}

.flex_news > aside a {
	color:var(--link_blue);
	font-size:95%;
} 


.widget {
	margin-top:5rem !important;
}
.widget h3{
	font-size:110%;
	font-weight:normal;
	border-bottom:var(--border02);
	padding-bottom:5px;
	margin-top:0;
}
#news_single {
	margin-top:5rem;	
}

#news_single h2 {
	margin-top:0;
	font-size:200%;
	font-weight:400;
	display:block;
	padding-bottom:3rem;
	border-bottom:var(--border02);
}
#news_single p.date {
	
}
/* ページネーション */
.pagination {
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width:999px) {
}
@media screen and (max-width:800px) {
.flex_news > main,
.flex_news > aside {
	width:100%;
}
}

/* =====================================
   business
===================================== */

#business section h2,
#company section  h2{
	font-size:250%;
	font-weight:500;
	line-height:1.4;
	letter-spacing:0;
	text-align:center;
	margin-top:0;
}
#company section  h2{
	font-size:280%;
	font-weight:400;
}
#business section  h2 span {
	display:block;
	font-size:65%;
	color:#999;
}


/* =====================================
   recruit / contact
===================================== */

#recruit03 h2,
#contact02 h2 {
	margin-top:0;
	font-weight:400;
	text-align:center;
}

/* =====================================
   to_residents
===================================== */
#toresidents01 h2,
#toresidents02 h2 {
	font-size:250%;
	font-weight:500;
	line-height:1.4;
	margin-top:0;
}
#to_residents h3 {
	margin-top:0;
}
#to_residents h3 span {
	font-weight:normal;
	font-size:70%;
}
#to_residents .tel {
	margin:0;
	font-size:120%;
	display:inline;
}

/* =====================================
   背景の色
===================================== */

#top_about,
#top_company { 
	background:white;
}

#business01 { background: var(--bgcolor01); }
#company02 { background: var(--bgcolor01); }
#recruit02 { background: var(--bgcolor01); }
#toresidents02 { background: var(--bgcolor01); }
#toresidents03 { background: var(--bg-light); }



/* =====================================
   PRIVACY
===================================== */

#privacy p {
  margin-bottom: 15px;
}
#privacy h4 {
  margin-top: 30px;
}

/* =====================================
   TO RESIDENTS
===================================== */

#toresidents01 li,
#toresidents02 li,
#toresidents03 li {
  background: #fff;
  padding: 30px;
  border-radius: 13px;
  margin-bottom: 20px;
  border: 1px solid lightgray;
	box-shadow:4px 4px 4px rgba(0,0,0,0.1);
	width:calc(50% - 15px);
}
#toresidents01 ul,
#toresidents02 ul,
#toresidents03 ul {
	display:flex;
	justify-content:space-between;
}



/* =====================================
   company
===================================== */

#company table {
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}

#company > div.flex_30_70 > div:nth-child(2) {
	width:calc(70% - 60px);
	margin:0 0 0 auto;
}
#company img.label {
	max-width:100px;
	margin:0 0 0 auto;
}

#company h2 {
	margin-top:0px;
}
#company table {
	border:none;
	border-top:1px solid #333333;
	width:100%;
}
#company table th,
#company table td {
	border:none;
	border-bottom:1px solid #333333;
	padding:20px 0;
}
#company table tr {
	border-bottom:1px solid #333333;
}
#company table th {
	width:160px;
}
#company table td {
	width:calc(100% - 160px);
}
@media screen and (max-width:999px) {
#company table th {
	width:auto;
	padding-right:30px;
}
}
@media screen and (max-width:599px) {
#company > div.flex_30_70 > div:nth-child(2) {
	width:100%;
}	
#company img.label {
	margin:-100px 0 -50px auto;
}

#company table {
	margin-top:30px;
}
#company table th ,
#company table td {
	padding:13px 0;
	font-size:90%;
}
#company table th {
	padding-right:30px;
	white-space:nowrap;
}
}




#contact02 .inner,
#recruit02 .inner,
#recruit03 .inner,
#privacy .inner{
	max-width:800px;
}
#privacy h3 {
	font-size:160%;
	font-weight:500;
	margin:1.5em 0 0.5em 0;
	padding-bottom:10px;
	border-bottom:1px solid gray;
}

#contact_form ul li {
	text-align:left;
}

#recruit01 {
	padding-top:2rem;
}
#business01 h3,
#business02 h3,
#company01 h3,
#recruit01 h3 {
	font-size:200%;
	margin-bottom:1.5em;
	color:var(--color_darkblue);
}
#business01 h3,
#business02 h3 {
	font-size:160%;
	margin-bottom:0.3em;
}
#company01 h3 {
	margin-bottom:0.8em;
}

@media screen and (max-width:999px) {
}
@media screen and (max-width:599px) {
}






/* next_prev */
#next_prev {
	margin-top:30px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#next_prev li {
	margin-bottom:10px;
}
#next_prev li:last-child {
	display:block;
	margin-left:auto;
	margin-right:0;
}
#next_prev li {
	font-size:86%;
}
#next_prev li a {
	text-decoration:none;
}
#next_prev li a:hover {
	text-decoration:underline;
}
@media screen and (max-width:999px) {
}
@media screen and (max-width:599px) {
}


.vegas-slide img {
  object-fit: cover;
  object-position: center center;
}

#recruit01 p,
#recruit02 p,
#contact01 p,
#contact02 p {
	margin-bottom:0;
}








/* ROISフォーム */

/* =====================================================
   contact / contact02 / recruit02 共通
   ===================================================== */

/* 必須説明 */
#contact .nf-before-form-content,
#contact02 .nf-before-form-content,
#recruit02 .nf-before-form-content {
  margin-bottom: 25px;
}

/* 左タイトル + 右入力 */
#contact #nf-field-22-wrap,
#contact #nf-field-24-wrap,
#contact #nf-field-1-wrap,
#contact #nf-field-5-wrap,
#contact #nf-field-2-wrap,
#contact #nf-field-3-wrap,
#contact02 #nf-field-22-wrap,
#contact02 #nf-field-24-wrap,
#contact02 #nf-field-1-wrap,
#contact02 #nf-field-5-wrap,
#contact02 #nf-field-2-wrap,
#contact02 #nf-field-3-wrap,
#recruit02 #nf-field-32-wrap,
#recruit02 #nf-field-36-wrap,
#recruit02 #nf-field-33-wrap,
#recruit02 #nf-field-34-wrap {
  display: grid !important;
  grid-template-columns: 180px 1fr;
  column-gap: 20px;
  align-items: start;
}

/* ラベル */
#contact .field-wrap > .nf-field-label,
#contact02 .field-wrap > .nf-field-label,
#recruit02 .field-wrap > .nf-field-label {
  margin: 0 !important;
  padding-top: 10px;
  text-align: left !important;
}

/* お問い合わせ内容：チェックボックス2列 */
#contact #nf-field-22-wrap .nf-field-element ul,
#contact02 #nf-field-22-wrap .nf-field-element ul {
  display: grid !important;
  grid-template-columns: repeat(2, max-content);
  gap: 12px 45px;
  padding: 0 !important;
  margin: 0 !important;
}

#contact #nf-field-22-wrap li,
#contact02 #nf-field-22-wrap li {
  display: flex !important;
  align-items: center;
  margin: 0 !important;
}

#contact #nf-field-22-wrap input[type="checkbox"],
#contact02 #nf-field-22-wrap input[type="checkbox"] {
  float: none !important;
  margin: 0 8px 0 0 !important;
  width: auto !important;
  height: auto !important;
  position: static !important;
}

/* その他（内容）はお問い合わせ内容の補足 */
#contact #nf-field-23-container,
#contact02 #nf-field-23-container {
  margin-left: 200px;
  margin-top: -10px;
}

#contact #nf-field-23-container .nf-field-label,
#contact02 #nf-field-23-container .nf-field-label {
  display: none !important;
}

/* ご住所 */
#contact #nf-field-12-container,
#contact02 #nf-field-12-container,
#recruit02 #nf-field-37-container {
  display: grid !important;
  grid-template-columns: 180px 1fr;
  column-gap: 20px;
}

#contact #nf-field-12-container::before,
#contact02 #nf-field-12-container::before,
#recruit02 #nf-field-37-container::before {
  content: "住所";
  grid-column: 1;
  grid-row: 1;
  font-weight: bold;
  padding-top: 10px;
}

#contact #nf-field-12-container .nf-field,
#contact02 #nf-field-12-container .nf-field,
#recruit02 #nf-field-37-container .nf-field {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
}

/* 住所内：ラベル + 入力 */
#contact #nf-field-12-wrap,
#contact #nf-field-31-wrap,
#contact #nf-field-15-wrap,
#contact #nf-field-14-wrap,
#contact #nf-field-16-wrap,
#contact02 #nf-field-12-wrap,
#contact02 #nf-field-31-wrap,
#contact02 #nf-field-15-wrap,
#contact02 #nf-field-14-wrap,
#contact02 #nf-field-16-wrap,
#recruit02 #nf-field-37-wrap,
#recruit02 #nf-field-44-wrap,
#recruit02 #nf-field-39-wrap,
#recruit02 #nf-field-38-wrap,
#recruit02 #nf-field-40-wrap {
  display: grid !important;
  grid-template-columns: 120px 1fr;
  column-gap: 15px;
  align-items: center;
  width: 100%;
}

/* 郵便番号の幅修正 */
#contact #nf-field-12,
#contact02 #nf-field-12,
#recruit02 #nf-field-37 {
  width: 100% !important;
  box-sizing: border-box;
}

/* 住所2行目以降 */
#contact #nf-field-31-container,
#contact #nf-field-15-container,
#contact #nf-field-14-container,
#contact #nf-field-16-container,
#contact02 #nf-field-31-container,
#contact02 #nf-field-15-container,
#contact02 #nf-field-14-container,
#contact02 #nf-field-16-container,
#recruit02 #nf-field-44-container,
#recruit02 #nf-field-39-container,
#recruit02 #nf-field-38-container,
#recruit02 #nf-field-40-container {
  margin-left: 200px;
  margin-bottom: 20px;
}

/* select */
#contact #nf-field-31,
#contact02 #nf-field-31,
#recruit02 #nf-field-44 {
  width: 100% !important;
  height: 60px !important;
  padding: 0 16px;
  box-sizing: border-box;
  border: 1px solid #d8d2c7 !important;
  background: #fff !important;
  box-shadow: none !important;
  outline: none !important;
}

/* recruit：生年月日 + 満年齢 */
#recruit02 #nf-field-45-container,
#recruit02 #nf-field-46-container {
  display: inline-block;
  vertical-align: top;
}

#recruit02 #nf-field-45-container {
  width: 55%;
  margin-right: 4%;
}

#recruit02 #nf-field-46-container {
  width: 40%;
}

#recruit02 #nf-field-45-wrap,
#recruit02 #nf-field-46-wrap {
  display: grid !important;
  grid-template-columns: 180px 1fr;
  column-gap: 20px;
  align-items: center;
}

/* recruit：性別・婚姻状況 */
#recruit02 #nf-field-47-wrap,
#recruit02 #nf-field-48-wrap {
  display: grid !important;
  grid-template-columns: 180px 1fr;
  column-gap: 20px;
  align-items: center;
}

#recruit02 #nf-field-47-wrap ul,
#recruit02 #nf-field-48-wrap ul {
  display: flex !important;
  gap: 25px;
  padding: 0 !important;
  margin: 0 !important;
}

#recruit02 #nf-field-47-wrap li,
#recruit02 #nf-field-48-wrap li {
  display: flex !important;
  align-items: center;
  margin: 0 !important;
}

#recruit02 #nf-field-47-wrap input,
#recruit02 #nf-field-48-wrap input {
  margin-right: 8px;
}

/* 送信ボタン */
#contact .submit-container,
#contact02 .submit-container,
#recruit02 .submit-container {
  text-align: center;
}

/* スマホ */
@media screen and (max-width: 768px) {
  #contact #nf-field-22-wrap,
  #contact #nf-field-24-wrap,
  #contact #nf-field-1-wrap,
  #contact #nf-field-5-wrap,
  #contact #nf-field-2-wrap,
  #contact #nf-field-3-wrap,
  #contact #nf-field-12-container,
  #contact02 #nf-field-22-wrap,
  #contact02 #nf-field-24-wrap,
  #contact02 #nf-field-1-wrap,
  #contact02 #nf-field-5-wrap,
  #contact02 #nf-field-2-wrap,
  #contact02 #nf-field-3-wrap,
  #contact02 #nf-field-12-container,
  #recruit02 #nf-field-32-wrap,
  #recruit02 #nf-field-36-wrap,
  #recruit02 #nf-field-33-wrap,
  #recruit02 #nf-field-34-wrap,
  #recruit02 #nf-field-37-container,
  #recruit02 #nf-field-45-wrap,
  #recruit02 #nf-field-46-wrap,
  #recruit02 #nf-field-47-wrap,
  #recruit02 #nf-field-48-wrap {
    display: block !important;
  }

  #contact #nf-field-23-container,
  #contact #nf-field-31-container,
  #contact #nf-field-15-container,
  #contact #nf-field-14-container,
  #contact #nf-field-16-container,
  #contact02 #nf-field-23-container,
  #contact02 #nf-field-31-container,
  #contact02 #nf-field-15-container,
  #contact02 #nf-field-14-container,
  #contact02 #nf-field-16-container,
  #recruit02 #nf-field-44-container,
  #recruit02 #nf-field-39-container,
  #recruit02 #nf-field-38-container,
  #recruit02 #nf-field-40-container {
    margin-left: 0;
  }

  #contact #nf-field-22-wrap .nf-field-element ul,
  #contact02 #nf-field-22-wrap .nf-field-element ul {
    grid-template-columns: 1fr;
  }

  #recruit02 #nf-field-45-container,
  #recruit02 #nf-field-46-container {
    width: 100%;
    margin-right: 0;
  }
}


/* =====================================================
   recruit01 募集要項
   ===================================================== */

#recruit01 {
  margin-bottom: 70px;
}

#recruit01 h2,
.recruit-info-title {
  font-weight: 600;
  text-align: center;
  margin-bottom: 40px;
}

#recruit01 dl,
#recruit01 .recruit-info-list {
  margin: 0;
}

#recruit01 dl > div,
#recruit01 .recruit-info-list > div {
  display: grid;
  grid-template-columns: 180px 1fr;
  column-gap: 20px;
  border-bottom: 1px solid #d8d2c7;
  padding: 22px 0;
}

#recruit01 dt {
  font-weight: bold;
  margin: 0;
}

#recruit01 dd {
  margin: 0;
  line-height: 1.9;
}

#recruit01 p {
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  #recruit01 dl > div,
  #recruit01 .recruit-info-list > div {
    grid-template-columns: 1fr;
    row-gap: 8px;
  }

  #recruit01 h2,
  #recruit01 .recruit-info-title {
    font-size: 28px;
  }
}