@charset "utf-8";
html {
	font-size: 62.5%;
}
body {
	padding:10px;
	color: #191919;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing:0.05em;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight:normal;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0
}
ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.3;
	font-size:1em;
}
address {
	font-style: inherit
}
a {
	text-decoration: underline;
	color: #191919;
}
a:hover {
	text-decoration: none;
    background-color: rgba(255, 255, 255, 0.205);
    transition: background-color 0.2s linear;
}
p,h2,h3 {
	margin-bottom: 1em;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
hr {
	border: none;
	height: 1px;
	background: #1c1c1c;
	margin-bottom: 1em;
}
strong{
	background:linear-gradient(transparent 60%, #ffff99 60%);
}
.wrapper{
	width:1200px;
	margin:auto;
}
.wrapper_m{
	width:1000px;
	margin:auto;
}
.wrapper_s{
	width:800px;
	margin:auto;
}
.center_comment{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.jp{
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.2em;
	display: block;
}
.en{
	font-family: 'Rubik', sans-serif;
	letter-spacing: 0.2em;
	display: block;
}
.bold{
	font-weight: bold;
}
.small{
	font-size: 75%;
}
.text_center{
	text-align: center;
}
.text_red{
	color: #fe3d2c;
}
.text_yellow{
	color: #ffb501;
}
.text_green{
	color: #1bb84d;
}
.flex_block{
	display: flex;
	justify-content: space-between;
	flex-grow: 1;
}
.sp_only{
	display: none;
}

/*---------------------------------------------------------*/
/* header */
.h1-text{
	font-size: 10px;
	color: #cccccc;
	margin-bottom: 10px;
}
.head_menu {
  display:flex;
  justify-content: space-between;
  margin-bottom:42px;
}
.head_menu_pc ul{
	display:flex;
}
.head_menu_pc a{
	color:#fff;
	display: block;
	text-decoration: none;
	padding: 0 15px;
}
.head_menu_pc span{
	display: block;
}
.head_menu_pc .en{
	font-family: 'Rubik', sans-serif;
	font-size: 16px;
	line-height: 1;
	letter-spacing:0.15em;
	padding-bottom: 8px;
}
.head_menu_pc .jp{
	font-size: 11px;
	letter-spacing:0.15em;
}

/*---------------------------------------------------------*/
/* sp amp hamburger */
.headerbar {
	position:fixed;
	top:15px;
	right:15px;
	width:37px;
	display: none;
}
#sidebar1 {
  background:#191919;
}
.sidebar {
	padding:0 20px;
}
.sidebar > ul li:first-child{
	border-top:1px solid #363636;
}
.sidebar > li {
	list-style: none;
}
.sidebar a {
	text-decoration: none;
	border-bottom:1px solid #363636;
	display: block;
	color:#fff;
	font-size: 12px;
	padding: 15px 10px;
}
.sidebar a::before{
	content: "-";
}
.sidebar ul a{
	font-size: 11px;
	padding: 7px 20px;
}
.close-sidebar {
	text-align: right;
	margin: 15px 15px 5px;
}
.close-sidebar img{
	width:37px;
}

/*---------------------------------------------------------*/
/* footer */
.p-footer {
	text-align: center;
	background-color: #191919;
	color:#fff;
}
.foot_menu{
	display:flex;
	justify-content: center;
	padding:75px 0;
	text-align: left;
	font-weight: bold;
	letter-spacing:0.1em;
}
.foot_menu a{
	color:#fff;
	display: block;
	text-decoration: none;
	padding: 5px 0;
}
.foot_menu a::before{
	content: "-";
	margin-right: 10px;
}
.foot_menu > ul{
	border-left:1px solid #363636;
	padding: 15px 50px;
	font-size: 14px;
	/*flex-grow: 1;*/
}
.foot_menu > ul:last-child{
	border-right:1px solid #363636;
}
.foot_menu > ul ul{
	font-size: 12px;
	padding-left:15px;
}
.copyright{
	padding-bottom: 100px;
	font-family: 'Rubik', sans-serif;
	font-size: 14px;
	letter-spacing:0.3em;
}

/*---------------------------------------------------------*/
/* pagetop */
.pagetop {
  position:fixed;
  width:50px;
  right:10px;
  bottom:10px;
  z-index: 120;
}

/*---------------------------------------------------------*/
/* detail_button */
.detail_button{
	display: flex;
	justify-content: flex-end;
}
.detail_button a{
	display: block;
	border:2px solid #191919;
	background: #fff url(../img/button_arrow.svg) no-repeat calc(100% - 20px) center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 14px;
	text-decoration: none;
	padding: 18px 70px 18px 20px;
}
.detail_button a:hover{
	background: #fffaf2 url(../img/button_arrow.svg) no-repeat calc(100% - 10px) center;
    transition: background-position 0.2s linear, background-color 0.2s linear;
}
.detail_button.big{
	width: 100%;
	justify-content: center;
}
.detail_button.big a{
	color: #fff;
	background-color: #191919;
	font-size: 18px;
	padding:33px 100px 33px 40px;
	background-position: calc(100% - 36px) center;
	background-size: 42px;
}
.detail_button.big a:hover{
	background-position: calc(100% - 20px) center;
}
/*---------------------------------------------------------*/
/* detail_button3 */
.detail_lp{
	width:100%;
	display: flex;
	justify-content: center;
}
.detail_lp a{
	display: block;
	/*border:2px solid #191919;*/
	padding: 5px 2px;
}

/*---------------------------------------------------------*/
/* blog_button（ブログ） */
.blog_button {
	display: flex;
	font-size: 14px;
	font-weight: bold;
}
.blog_button a{
	display: flex;
	/*justify-content: flex-end;*/
}
.blog_button a{
	display: block;
	border:1px solid #191919;
	/*background: #fff url(../img/button_arrow.svg) no-repeat calc(100% - 15px) center;*/
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 14px;
	text-decoration: none;
	padding: 8px 20px;
    margin-left: 10px;
}
.blog_button a:hover{
	/*background: #fffaf2 url(../img/button_arrow.svg) no-repeat calc(100% - 10px) center;*/
    transition: background-position 0.2s linear, background-color 0.2s linear;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* TOP */

/*---------------------------------------------------------*/
/* TOP contents_block */
.contents_block {
	margin-top: 140px;
	margin-bottom: 140px;
}
.contents_title .en{
	font-size: 76px;
	font-weight: bold;
}
.contents_title .jp{
	font-size: 20px;
	font-weight: bold;
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* lower */

/*---------------------------------------------------------*/
/* lower_contents_block */
.lower_contents_block {
	margin-top: 40px;
	margin-bottom: 100px;
}
.lower_contents_title{
	margin-bottom: 70px;
	padding-bottom: 50px;
	background: url(../img/lower_contents_title.svg) no-repeat left bottom;
}
.lower_contents_title .en{
	font-weight: 700;
	font-size: 51px;
	line-height: 1;
	margin-bottom: 15px;
}
.lower_contents_title .jp{
	font-weight: 700;
	font-size: 30px;
	line-height: 1;
}
.lower_contents_title_h3{
	font-weight: bold;
	font-size: 26px;
	margin:100px 0 41px;
	background: url(../img/lower_contents_title_h3.svg) no-repeat left center;
	padding-left: 30px;
}
.lower_contents_title + .lower_contents_title_h3{
	margin-top:0;
}

/*---------------------------------------------------------*/
/* lower-heading */
.lower-heading {
	padding:40px 50px 5px;
	background: url(/wp/wp-content/uploads/title_back_pc.jpg) no-repeat center center;
	background-size:cover;
	min-height:280px;
	box-sizing: border-box;
}
.lower-heading_title{
	padding-top: 14px;
}
.lower-heading_title .jp{
	font-size: 18px;
	color: #fff;
	line-height: 1;
	margin-bottom: 10px;
}
.lower-heading_title .en{
	font-weight: 700;
	font-size: 80px;
	color: #fff;
	line-height: 1;
	padding-bottom: 5px;
}

/*---------------------------------------------------------*/
/* topicpath */
.topicpath ul{
	margin: 30px 0 100px;
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
}
.topicpath a{
	text-decoration: none;
}
.topicpath a:hover{
	background-color: rgba(255, 153, 0, 0.05);
    transition: background-color 0.2s linear;
}
.topicpath li{
	white-space: nowrap;
}
.topicpath li::after{
	content: "　／　";
}
.topicpath li:last-child:after{
	content: "";
}

/*---------------------------------------------------------*/
/* anchorlink */
.anchorlink ul{
	display: flex;
}
.anchorlink li{
	flex-grow: 1;
}
.anchorlink a{
	display: block;
	text-align: center;
	text-decoration: none;
	color: #1b1b1b;
	border:1px solid #1b1b1b;
	border-right:none;
	padding: 15px;
}
.anchorlink a:hover{
	background-color: rgba(255, 153, 0, 0.05);
    transition: background-color 0.2s linear;
}
.anchorlink li:last-child a{
	border-right:1px solid #1b1b1b;
}
.anchorlink a::after{
	content: url(../img/button_arrow.svg);
	margin-left:10px;
}

/*---------------------------------------------------------*/
/* lowerlink */
.lowerlink ul{
	display: flex;
	margin: 140px 0;
}
.lowerlink li{
	flex-grow: 1;
    width: 100%;
}
.lowerlink a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-decoration: none;
	color: #1b1b1b;
	font-weight: bold;
	border:1px solid #1b1b1b;
	background: #f7f7f7;
	border-right:none;
	padding: 50px 10px;
}
.lowerlink a:hover{
	background-color: rgba(255, 153, 0, 0.05);
    transition: background-color 0.2s linear;
}
.lowerlink a.current{
	background:#666666;
	color: #fff;
}
.lowerlink li:last-child a{
	border-right:1px solid #1b1b1b;
}
.lowerlink a::after{
	content: url(../img/button_arrow.svg);
	margin-left:10px;
	margin-top: -5px;
}
.lowerlink a:hover::after{
	margin-left:20px;
	transition: margin 0.2s linear;
}

/*---------------------------------------------------------*/
/* basic_table */
.basic_table th, .basic_table td{
	text-align: left;
	padding:32px 40px;
	border-top:1px solid #1b1b1b;
	border-bottom:1px solid #1b1b1b;
}
.basic_table th{
	background: #666666;
	color: #fff;
	font-weight: normal;
	width:20%;
	vertical-align: top;
}

/*---------------------------------------------------------*/
/* list */
.list_disc,
.list_number{
	margin-left:2.5em;
}
.list_disc li{
	list-style-type: disc;
}
.list_number li{
	list-style-type:decimal;
}
.list_circleimg li{
	padding-left: 30px;
	background: url(../img/ico_circle.svg) no-repeat top 0.3em left;
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* ブログ */
.changeCard ul {
    padding: 0;
    list-style: none;
    border: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0;
    margin-top: 20px;
}
.changeItemTxt {
    width: 62%;
}
.changeItemTxt p.itemTitle {
    font-size: 1.1rem;
    line-height: 1.56;
    margin: 0;
    font-weight: bold;
    color: #313131;
    margin-bottom: 10px;
}
.changeItemTxt ul.itemTag {
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.changeItemTxt ul.itemTag li {
    background: #f1f1f1;
    color: #707070;
    font-size: 0.7rem;
    padding: 2px 10px;
    position: relative;
}
.changeItemTxt ul.itemTag li:before {
    padding-right: 3px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1em;
    content: "\f02b";
    vertical-align: baseline;
    color: #aaa;
}
p.itemCat {
    position: absolute;
    left: 22px;
    top: 22px;
    background: #6bb6ff;
    color: #FFF;
    border-radius: 9999px;
    font-size: 0.7rem;
    display: inline-block;
    padding: 1px 12px 0px;
    z-index: 2;
}

/*カテゴリーページの並び*/
.category-page {
    padding: 25px 0px;
}

.post-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
   justify-content: start;
}

.post-item {
    width: calc(33.333% - 20px); /* 3列配置、隙間を考慮 */
    box-sizing: border-box;
    transition: transform 0.3s;
}
.post-item a {
    text-decoration: none; /* リンクのアンダーラインを消す */
}
.post-item:hover {
    transform: scale(1.05);
}

.post-thumbnail img {
    width: 100%;
    height: auto;
}

.post-content {
    padding: 10px 0 0;
}

.post-title {
    /*font-size: 1.2em;*/
    margin-bottom: 10px;
    font-weight:600;
}

.post-excerpt {
    font-size: 1em;
    margin: 0 0 10px;
}

.post-meta .post-date, .post-meta .post-category {
    display: inline-block;
    margin-right: 10px;
}

/* 共通ここまで */

/* Grid */
li.changeItem.grid {
    width: 30%;
    margin-bottom: 5px;
}
li.changeItem.grid a {
    padding-bottom: 20px;
    padding-top: 20px;
    height: 100%;
    flex-direction: column;
    text-decoration: none;
    border-top: solid 1px #eee;
}
li.changeItem.grid a p.itemCat {
    display: none;
}
li.changeItem.grid a img, li.changeItem.grid a .changeItemTxt {
    width: 100%;
     margin: 0;
}
li.changeItem.grid a img {
    margin-bottom: 15px;
    transition: 0.2s ease-in-out;
    box-shadow: 0 2px 4px rgb(0 0 0 / 30%);
}
li.changeItem.grid a:hover {
    background: none;
}
li.changeItem.grid a:hover > img {
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 25%);
    transform: translateY(-4px);
}
@media screen and (max-width: 767px) {
/* （ここにモバイル用スタイルを記述） */
.category-page {
    padding: 25px 5px;
}
.post-item {
   width: calc(50% - 20px); /* 2列配置、隙間を考慮 */
}

li.changeItem.grid {
    width: 100%;
    margin: 0;
    padding: 0;
}
li.changeItem.grid a {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}
li.changeItem.grid:last-child a {
    border-bottom: solid 1px #eee;
}
li.changeItem.grid a img {
    width: 145px;
    margin-right: 10px;
    height: max-content;
    margin-bottom: 0;
}
li.changeItem.grid a .changeItemTxt {
    width: calc(100% - 155px);
}
li.changeItem.grid a .changeItemTxt time {
    display: none;
}
li.changeItem.grid a .changeItemTxt .itemTitle {
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}
li.changeItem.grid a .changeItemTxt ul.itemTag {
    display: none;
}
}

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* Goobleマップ */
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* Breakpoint */

/*---------------------------------------------------------*/
/* 1220px */
@media screen and (max-width: 1220px) {
	.wrapper,.p-company{
		width:90%;
		padding: 0 5%;
	}
}

/*---------------------------------------------------------*/
/* 1020px */
@media screen and (max-width: 1020px) {
	.wrapper_m{
		width:90%;
		padding: 0 5%;
	}
}

/*---------------------------------------------------------*/
/* 820px for SP */
@media screen and (max-width: 820px) {
	body{
		padding:0;
		font-size: 14px;
	}
	.wrapper_s{
		width:90%;
		padding: 0 5%;
	}
	.center_comment{
		font-size: 17px;
	}
	.flex_block{
		display: block;
	}
	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}
	/* menu */
	.head_menu_pc{
		display: none;
	}
	.headerbar {
		display: block;
	}
	/* footer */
	.p-footer .wrapper{
		padding:0;
		width: 100%;
	}
	.foot_menu{
		display: block;
		padding:0;
	}
	.foot_menu a{
		padding: 18px 10px;
	}
	.foot_menu > ul{
		display: flex;
		border: none;
		padding: 0;
		border-bottom: 1px solid #363636;
		font-size: 11px;
		justify-content: center;
	}
	.foot_menu > ul ul{
		background:#232323;
		padding-left:0;
		font-size: 10px;
	}
	.foot_menu > ul ul li{
		padding-left:15px;
		border-top: 1px solid #191919;
	}
	.foot_menu > ul ul a{
		padding: 10px 10px;
	}
	.foot_menu > ul:last-child{
		display: flex;
		flex-direction:row-reverse;
		margin-top: 20px;
		justify-content: center;
		border-bottom: none;
		font-size: 10px;
	}
	.copyright{
		padding: 50px 0;
		font-size: 10px;
	}
	/* pagetop */
	.pagetop {
		width: 37px;
	}

	/* detail_button */
	.detail_button a{
		font-size: 12px;
		padding: 13px 65px 13px 15px;
		background-size: 30px;
	}
	.detail_button.big a{
		box-sizing: border-box;
		width: 100%;
		font-size: 14px;
		padding:25px 75px 25px 28px;
		background-position: calc(100% - 20px) center;
		background-size: 36px;
		text-align: center;
	}
	.detail_button.big a:hover{
		background-position: calc(100% - 10px) center;
	}
	
		/* blog_button */
	.blog_button a{
		font-size: 12px;
		padding: 7px 15px;
		background-size: 30px;
	}
	.blog_button.big a{
		box-sizing: border-box;
		width: 100%;
		padding:25px 75px 25px 28px;
		background-position: calc(100% - 15px) center;
		background-size: 36px;
		text-align: center;
	}
	.blog_button.big a:hover{
		background-position: calc(100% - 10px) center;
	}
	
	/*---------------------------------------------------------*/
	/* TOP contents_block */
	.contents_block {
		margin-top: 50px;
		margin-bottom: 50px;
	}
	.contents_title .en{
		font-size: 43px;
	}
	.contents_title .jp{
		font-size: 16px;
	}

	/*---------------------------------------------------------*/
	/* lower_contents_block */
	.lower_contents_block {
		margin-top: 26px;
		margin-bottom: 50px;
	}
	.lower_contents_title{
		margin-bottom: 35px;
		padding-bottom: 25px;
		background-size: 50px;
	}
	.lower_contents_title .en{
		font-size: 28px;
		margin-bottom: 15px;
	}
	.lower_contents_title .jp{
		font-size: 17px;
	}
	.lower_contents_title_h3{
		font-size: 15px;
		background-size: 13px;
		margin:50px 0 20px;
		padding-left: 20px;
	}
	/* lower-heading */
	.h1-text{
		font-size: 10px;
	}
	.lower-heading {
		padding:calc(40 / 750 * 100vw);
		padding-bottom: 0;
		min-height: auto;
	}
	.lower-heading .head_logo img{
		width: 110px;
	}
	.lower-heading_title{
		padding-top: 14px;
	}
	.lower-heading_title.wrapper{
		padding: 0;
		width: 100%;
	}
	.lower-heading_title .jp{
		font-size: 14px;
		margin-bottom: 10px;
	}
	.lower-heading_title .en{
		font-size: 30px;
		padding-bottom: 5px;
	}
	/* topicpath */
	.topicpath ul{
		margin: 15px 0 50px;
		font-size: 12px;
	}
	/* anchorlink */
	.anchorlink ul{
	flex-wrap: wrap;
	}
	.anchorlink li{
	width: 50%;
	}
	.anchorlink ul a{
		padding: 4px;
	}
	.anchorlink li a{
	border:1px solid #1b1b1b;
	}
	/* lowerlink */
	.lowerlink ul{
		display: block;
		margin: 50px 0;
	}
	.lowerlink a{
		padding: 30px 15px;
	}
	.lowerlink li a{
		border:1px solid #1b1b1b;
		border-bottom: none;
	}
	.lowerlink li:last-child a{
		border-bottom:1px solid #1b1b1b;
	}
	
	/* basic_table */
	.basic_table th, .basic_table td{
		padding:16px 15px;
	}
	.basic_table th{
		width:25%;
	}

}