/*
Theme Name: Themify Basic Child
Description: A child theme of Themify Basic
Template: basic
Author: ditroot (webservice@dolce-it.co.jp)
*/

/* Woohoo! Let's customize! */


/*******************************
Common Setting
*******************************/
html{
	font-size: 62.5%;
}

body {
	color:#333;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "メイリオ", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.05em;
}
body.home {
    background: url(../../uploads/2025/05/bg-scaled.png)no-repeat;
    background-size: contain;
	background-size: cover;
	background-position: center top 85rem;
}
#header{
	border-bottom: none;
}
.module.font-en{
	font-family: "Open Sans", sans-serif;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.page-title{
	display: none;
}
input[type=date], input[type=datetime-local], input[type=datetime], 
input[type=email], input[type=month], input[type=number], input[type=password], 
input[type=search], input[type=tel], input[type=text], input[type=time], 
input[type=url], input[type=week], textarea {
	background: #fff;
	border-radius: 0;
	margin-bottom: 2rem;
    width: 100%;
}
.wpcf7-list-item {
    margin-bottom: 2rem;
}
.wp-block-quote{
	padding:0;
}
#pagewrap .menu-icon-inner, #pagewrap .menu-icon-inner:after, #pagewrap .menu-icon-inner:before{
	border-bottom: none;
}
#pagewrap .menu-icon-inner:before, #pagewrap .menu-icon-inner:after {
    top: auto;
}
#pagewrap .menu-icon-inner {
    border-bottom: none;
    margin: 0 auto;
    height: 32px;
    overflow: unset;
    position: relative;
    width: 32px;
}
#pagewrap .menu-icon-inner span, .menu-icon-inner:before, .menu-icon-inner:after {
    position: absolute;
    display: block;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 28px;
    height: 2px;
    background-color: #111;
    border: none;
    border-radius: 1px;
}
.menu-icon-inner:after {
    animation: menu-bar03 .75s forwards;
    bottom: 6px;
}
.menu-icon-inner:before {
    animation: menu-bar01 .75s forwards;
    bottom: 24px;
    top: auto;
}
#pagewrap .menu-icon-inner span {
    bottom: 15px;
    transition: all .25s .25s;
    opacity: 1;
}
#pagewrap .mobile-button.active .menu-icon-inner span {
    opacity: 0;
}
.mobile-button.active .menu-icon-inner:before {
    animation: active-menu-bar01 .5s forwards;
}
.mobile-button.active .menu-icon-inner:after {
    animation: active-menu-bar03 .5s forwards;
}
@keyframes menu-bar01 {
	0% {
		transform: translateY(9px) rotate(45deg);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes menu-bar03 {
	0% {
		transform: translateY(-9px) rotate(-45deg);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes active-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(9px) rotate(45deg);
	}
}
@keyframes active-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(-9px) rotate(-45deg);
	}
}





@media (
	max-width: 680px) {
    html {
        font-size: 35.1562%;
    }
	body {
	    font-size: 2.4889rem;
}
/* 	body.home .pagewidth,
	body.home .row_inner{
		width:100%;
} */
}



/* pagewidth body */

#layout {
    width: 100%;
}
body .pagewidth, .row_inner {
	width: min(90vw, 160rem);
}
/* -----End pagewrap pagewidth----- */

/* -----header----- */
#site-logo{
	padding-top:20px;
}
#headerwrap {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
}
#main-nav-wrap #main-nav li a {
    color: #333;
	display: flex;
	align-items: center;
	flex-direction: column;
    font-family: "Open Sans", sans-serif;
	font-size: max(2.4rem, 18px);
    font-weight: bold;
	padding: 0.5rem 2rem;
    text-shadow: 3px 0px 4px #fff;
	transition: all .3s;
}
#header {
    display: flex;
	align-items: center;
    flex-wrap: nowrap;
	justify-content: space-between;
	max-width: 1600px;
	margin: 0 auto;
	padding-top:0;
	width: 100%;
}
#main-nav .current-menu-item a, #main-nav .current_page_item a{
	background: transparent;
	border-radius:0;
}
#main-nav{
	margin:0;
}
#headerwrap.active {
    background: #ffffff;
}
#main-nav-wrap #main-nav li.menu-item-has-children li a:after {
    content: attr(title);
	display: block;
    font-size: max(1rem, 10px);
	text-shadow: 3px 0px 4px #fff;
    transition: padding .3s ease-out;
}
#main-nav-wrap #main-nav li a span.ja, #main-nav-wrap #main-nav li a span.en {
    display: block;
	margin: 0 auto;
	text-align: center;
	transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    width: 100%;
}
#main-nav-wrap #main-nav li a span.ja {
	font-size: 1.8rem;
	opacity:0;
    position: absolute;
    top: 100%;
    left: 0%;
}
#main-nav > li {
    min-width: 150px;
    height: 3rem;
}
#main-nav-wrap #main-nav li:hover a span.ja{
	opacity:1;
}
#main-nav-wrap #main-nav li:hover a span.en {
    transform: translate(0%, -150%);
}
#main-nav-wrap #main-nav li a {
    overflow: hidden;
    padding: 10px 22px;
    position: relative;
}
#main-nav-wrap #main-nav li:hover a span.ja {
    top: 25%;
}
#main-nav-wrap #main-nav li.menu-item-has-children .sub-menu {
	background: url(../../uploads/2025/05/sub-menu.png) no-repeat left top, #fff;
	border-radius: 35px;
	padding: 5rem 0 4.5rem;
    width: 460px;
}
#main-nav-wrap #main-nav li.menu-item-has-children > a {
    padding-bottom: 3rem;
}
#main-nav-wrap #main-nav li.menu-item-has-children:hover .sub-menu {
    left: 50%;
    transform: translateX(-50%);
}
#main-nav-wrap #main-nav li.menu-item-has-children .sub-menu li {
	height: auto;
    margin: 0 0 0 auto;
    width: calc(100% - 200px);
}
#main-nav-wrap #main-nav li.menu-item-has-children li a {
    display: block;
}
#main-nav .current-menu-item ul a:hover, #main-nav .current_page_item ul a:hover, #main-nav ul .current-menu-item a:hover, #main-nav ul .current_page_item a:hover, #main-nav ul a:hover{
	background: transparent;
}
li#menu-item-47 {}

#main-nav-wrap #main-nav li.menu-item-has-children li a {
    background: url(../../uploads/2025/05/btn01.png)no-repeat right 3rem top 1rem;
    background-size: 30px;
    padding-right: 8rem;
	transition: .5s ease;
    width: 100%;
}
#main-nav-wrap #main-nav li.menu-item-has-children li a:hover {
    background: url(../../uploads/2025/05/Btn.png)no-repeat right 3rem top 1rem;
    background-size: 30px;
	transition: .5s ease;
}
#main-nav a:focus{
	outline: none;
}
#main-nav-wrap #main-nav li.menu-item-has-children .sub-menu {
    background: #fff;
    padding: 2rem 1rem 1rem;
    width: 300px;
}

#main-nav-wrap #main-nav li.menu-item-has-children .sub-menu li {
    width: auto;
}
#pagewrap .mobile-button{
	display: none;
}
















/* -----end header----- */



/* -----footer----- */
#footerwrap{
	border-top: solid 1px #498cc1;
}
#footer{
	border-top: none;
	padding: 0;
}
.footer-nav-list .module-menu-container li a {
    color: #040404;
	font-family: "Open Sans", sans-serif;
    font-size: max(1.8rem, 18px);
    font-weight: bold;
}
.footer-nav-bottom .module-menu-container li a {
    color: #b7b7b7;
	font-weight: bold;
    padding: 0 4rem 1.5rem 0;
}
.back-top{
	display: none;
}
.footer-text {
    background: #357ab5;
    color: #fff;
    padding: 3rem 0;
    text-align: center;
}
.copyright {
    font-size: 1.6rem;
}

/* -----end footer----- */

/* ----- main -----*/
.main-left-wrap{
	position: absolute;
	bottom: -10rem;
}
.module_subrow.main-txt-wrap {
    position: absolute;
    top: 50%;
    left: 16rem;
	transform: translateY(-50%);
}
.module.main-txt {
	font-size: clamp(18px, 5vw, 7rem);
	font-weight: bold;
    text-shadow: 4px 4px 4px #fff, -4px -4px 4px #fff,
				  -4px 4px 4px #fff,  4px -4px 4px #fff,
				  4px 0 4px #fff, -4px  0 4px #fff,
				  0 4px 4px #fff,  0 -4px 4px #fff;
}
.module.main-txt.font-ja {
    color: #fda248;
	font-size: clamp(14px, 3vw, 3.5rem);
    font-weight: bold;
    text-shadow: 4px 4px 4px #fff, -4px -4px 4px #fff,
				  -4px 4px 4px #fff,  4px -4px 4px #fff,
				  4px 0 4px #fff, -4px  0 4px #fff,
				  0 4px 4px #fff,  0 -4px 4px #fff;
}
.module.right02.img_rotate {
    position: absolute;
    top: -13rem;
    right: -9rem;
}
.module.left02.img_rotate {
    position: absolute;
    top: -8rem;
    left: -27rem;
}
.right01 .image-wrap {
    text-align: right;
}

.right01 {
	height: auto;
	margin:0 0 0 auto;
    max-width: 1050px;
	width: 100%;
}


.right01 {
	height: auto;
	margin:0 0 0 auto;
    max-width: 1050px;
	width: 100%;
}

.module.right02.img_rotate .image-wrap{
	animation: rotationRight 25s linear infinite;
}
.module.left02.img_rotate .image-wrap{
	animation: rotationLeft 25s linear infinite;
}
.module.right02.img_rotate .image-wrap img,
.module.left02.img_rotate .image-wrap img {
    display: block;
	transform-origin: center center;
}
@keyframes rotationRight{
	0% {
    transform: rotate(0deg);
}
100% {
    transform: rotate(360deg);
}
}

@keyframes rotationLeft {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.module.right02,
.module.left02 {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
}
.top-main .module_column.tb-column.col-full.tb_njtv334.first {
	align-content: unset;
}
.module_column.logo-bg-blue {
    border-radius: 50px;
    background-color: #e5eff6;
    height: 170px;
    padding: 20px;
}
/* ----- end main -----*/


/* ----- sub main -----*/
.module.sub-title {
    font-size: 1.8rem;
	margin-bottom:0;
    text-align: center;
}
.sub-title .main-head {
    font-size: max(6rem, 36px);
}
/* .lead-letter {
    color: #498cc1;
} */
.module_row.sub-main {
    padding: 26rem 0 12rem;
}
.content-title:not(.color--white) .main-head:first-letter,
.sub-title .main-head:first-letter {
    color: #498cc1;
}
.content-title.color--or .main-head:first-letter{
	color: #fda248;
}

/* ----- end sub main -----*/


/* -------- post-------- */
.archive #layout {
    display: grid;
	column-gap: 50px;
    grid-template-columns: 23% 77%;
    grid-template-areas:
        "b a";
    width: min(90vw, 160rem);
}
.single #content{
	margin: 0 auto;
	padding: 15rem 0;
	width: min(90vw, 160rem)!important;
}
body.sidebar-left #sidebar {
    float: none;
	grid-area: b;
	padding:15rem 0;
    width: 100%;
}
body.sidebar-left #content {
	float: none;
    grid-area: a;
	padding:15rem 0;
    width: 100%;
}
.post-content .post-title a {
    color: #333;
    font-size: max(2.4rem, 20px);
    font-weight: bold;
}
.sub-title .sub-head {
    font-size: max(1.5rem, 14px);
}
.post-date {
    color: #bcc9da;
    font-family: "Open Sans", sans-serif;
    font-size: max(1.6rem, 14px);
    font-weight: bold;
}
.post-meta-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.post-category a {
    font-size: 1.6rem;
    margin-left: 10px;
}
.post-meta-wrap .post-meta .post-category {
    padding: 0;
}
.post-meta {
    margin: 0 25px 0 0;
}
.post-meta .post-author:after, .post-meta .post-category:after, .post-meta .post-tag:after {
    display: none;
}
.post-meta-wrap .post-meta .post-category{
	display: flex;
    align-items: center;
}
.post-meta-wrap .post-meta .post-category:before {
    content: "";
    background: #fda248;
    border-radius: 50%;
    display: block;
    height: 15px;
    width: 15px;
}
#pagewrap .post {
    margin-bottom: 6.5rem;
    padding-bottom: 4.5rem;
}
.single .entry-content{
	font-weight: bold;
	width: 100%;
}
.archive #pagewrap .post:after {
    content: "";
    background-image: -webkit-linear-gradient( -3deg, rgb(53,116,171) 50%, rgb(223,230,239) 55%);
    height: 2px;
    display: block;
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.widget ul ul li {
    padding: 0;
}
.widget ul li {
    padding: 0;
}
.widget ul {
    margin: 0;
}
.widget ul li a {
    background: #e0e5ec;
	border-radius: 50px;
	color:#333;
    display: block;
	font-weight: bold;
    max-width: 120px;
	margin-bottom: 2.5rem;
    padding: 2rem;
    text-align: center;
}
.widget ul li.current-menu-item > a{
	background: #fda248;
	color: #fff;
}
.single .entry-content{
	margin-top: 5rem;
	position: relative;
    padding-top: 5rem;
}
.single .entry-content:before {
    content: "";
    background-image: -webkit-linear-gradient( -3deg, rgb(53,116,171) 50%, rgb(223,230,239) 55%);
	display: block;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
	z-index: 0;
}
.rtb {
    text-align: center;
}
.rtb a {
    background: #fda248;
	border: solid 1x #fda248;
    border-radius: 50px;
    color: #fff;
    display: block;
    margin: 0 auto;
    max-width: 420px;
    padding: 3.5rem 0;
	text-decoration: none;
	transition: .3s linear;
}
.rtb a:hover {
    background: #fff;
    border: solid 1px #fda248;
    color: #fda248;
	transition: .3s linear;
}
.archive #pagewrap .post{
	position: relative;
}
.cat-7 #nav_menu-4, .category-7 #nav_menu-4 {
    display: none;
}
.cat-12 #nav_menu-2, .category-12 #nav_menu-2 {
    display: none;
}


/* -------- end post-------- */


/* -----general----- */
.module.btn-contact a:hover {
    background: #fda248;
    color: #fff;
}
body .module.module-layout-part{
	margin-bottom:0px;
}
#pagewrap .module .module-title{
	font-weight: 600;
}
.module-image:hover a img{
	opacity:0.7;
}
.module-text p{
	margin-bottom:36px;
}
.module-text p:last-child{
	margin:0;
}
table{
	width:100%;
	border-collapse:collapse;
}
.module.module-buttons *{
	display:block;
}
.module.module-buttons span{
	margin:0;
}
#content{
	padding:0;
}
.module{
	margin-bottom:30px;
}
.module p:last-child{
	margin:0;
}
body .module_row > .row_inner {
    max-width:100%;
}
.content-title .main-head {
    font-size: max(4rem, 30px);
}
.content-title .sub-head {
    font-size: max(1.8rem, 14px);
    padding-top: 15px;
}
.tab-info table tr th,.tab-info table tr td {
    padding: 5rem 0;
    text-align: left;
    vertical-align: baseline;
}
.tab-info .separator-row td {
	background-image: -webkit-linear-gradient(-3deg, rgb(53, 116, 171) 45%, rgb(223, 230, 239) 50%);
	background-size: 100% 100%;
	border: none;
	height: 2px;
	padding: 0;
}
.tab-info table tr td {width: 40%;}
.tab-info table tr th {
    width: 10%;
}
.policy .tb_text_wrap {
    height: 650px;
    overflow: auto;
	padding-right: 5rem;
}
.timeline {
/* 	display: flex;
	justify-content: space-between;
	align-items: flex-start; */
	margin: 0 auto;
	width: min(90vw, 160rem);
}
.timeline {
	display: grid;
    grid-template-columns: 10% 22% 20% 26% 12%;
	column-gap: 15px;
}
.timeline-item {
	position: relative;
/* 	width: 16%; */
	width: auto;
}
.timeline-item .year {
	font-family: "Open Sans", sans-serif;
	font-weight: bold;
	font-size: max(2.4rem, 20px);
	margin-bottom: 2.5rem;
}
.timeline-item .dot {
	background-color: orange;
	border-radius: 50%;
	display: block;
	margin-bottom: 10px;
	height: 15px;
	width: 15px;
}
.timeline-item .date {
	font-size: max(1.8rem, 16px);
	font-weight: bold;
}
.tab-info table tr td div:before {
    content: "";
    background: #d5e1ed;
    border-radius: 50%;
    display: block;
    margin-right: 15px;
    height: 15px;
    width: 15px;
}
.tab-info table tr td div {
    display: flex;
    align-items: center;
}
.timeline-line span {
    background: #b7c5d3;
    display: block;
    height: 100%;
    width: 100%;
}
.timeline-line {
    height: 1px;
    position: absolute;
    left: 0;
    top: 63px;
    width: 100%;
}
.tab-info table tr td.pc-none{
		display: none;
}
.recruit-heading .main-head {
    color: #498cc1;
    font-size: max(4.8rem, 30px);
    margin-bottom: 4rem;
}
.recruit-heading .sub-head {
    font-size: max(2.4rem, 18px);
}
.module.btn-link .module-buttons-item {
    place-items: unset;
}
.module.btn-link a {
    background: url("../../uploads/2025/05/btn01.png")no-repeat right center;
    background-size: 40px;
    font-size: max(1.8rem, 16px);
	font-weight: bold;
	font-family: "Open Sans", sans-serif;
    padding: 1rem 0;
	transition: .5s ease;
}
.module.btn-link a:hover{
	background: url("../../uploads/2025/05/Btn.png")no-repeat right center;
    background-size: 40px;
	transition: .5s ease;
}
.module_subrow.max-600 {
    max-width: 600px;
    margin: 0 auto 10rem;
}
.translated-ltr .module_subrow.max-600 {
    max-width: 780px;
}
.module_subrow.max-470{
    grid-column-gap: 6rem;
	max-width: 470px;
    margin: 0 auto 10rem 0;
}
.module.module-buttons.bg a {
	background-position: right 30px center;
    background-size: auto;
    padding: 2.2rem 0;
}
.title-set.service .fancy-heading{
	margin-bottom: 3.5rem;
}
.title-set.service .main-head {
    margin-bottom: 0;
}
.title-set.service .sub-head{
	line-height: 1.8;
}
.title-set .sub-head {
    font-size: max(2.4rem, 20px);
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "メイリオ", Meiryo, sans-serif;
    padding-top: 0;
}
.title-set .main-head {
    color: #498cc1;
    font-size: max(1.8rem, 14px);
    margin-bottom: 2.5rem;
}
.module.title-set {
	margin-bottom:0;
}
.module.content-title.title--center{
	text-align: center;
}
.title-set.title-set--large .sub-head {
    font-size: max(3.2rem, 28px);
}
.title-set.title-set--large .main-head {
    font-size: max(2.4rem, 18px);
    margin-bottom: 2rem;
}
.module.title-set.title-set--large {
    margin-bottom: 6.5rem;
}
.module.title-set.title-set--large .fancy-heading {
    margin-bottom: 0;
}
.module.content-title.color--white {
    color: #fff;
}
.module.content-title.color--white .main-head {
    font-size: max(6.4rem, 30px);
}
.module.content-title.color--white .sub-head {
    font-size: max(1.8rem, 14px);
}
.module_column.btn-viewmore {
    background-size: cover;
	border-radius: 50px;
    padding: 20rem 4rem 5rem;
}
.module.btn-link.btn-right a {
	background: url("../../uploads/2025/05/btn-w.png")no-repeat right center;
    margin-top: 10rem;
    padding-right: 7rem;
	text-align: right;
}
.module.btn-link.color--white a{
	color: #fff;
}
.module.btn-link.btn-link--fit a {
    padding-right: 7rem;
    width: fit-content;
}
.module.btn-link.arrow-or a{
	background: url(../../uploads/2025/05/btn01.png)no-repeat right center;
	background-size: 60px;
	padding: 2.5rem 10rem 2.5rem 0;
	transition: .5s ease;
}
.module.btn-link.arrow-or a:hover {
    background: url(../../uploads/2025/05/Btn.png)no-repeat right center;
    background-size: 60px;
	transition: .5s ease;
}
.module_subrow.max-470 .btn-link a{
	background-position: right center;
}
.translated-ltr .module.module-buttons.bg a {
    display: flex;
}
.module.btn-link.btn-right a {
    margin: 0 0 0 auto;
	width: fit-content;
}
.top-post_news .post-meta .post-category:before {
    display: none;
}
.top-post_news .post-content {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.top-post_news .post-category a {
    background: #fda248;
    border-radius: 50px;
    color: #fff;
    display: block;
    font-weight: bold;
    margin: 0 40px 0 0;
    padding: 4px 0 1px;
    text-align: center;
    width: 120px;
}
.top-post_news .post-date {
    color: #060606;
    margin-right: 45px;
}
.top-post_news .post-content .post-title a {
    font-size: max(1.6rem, 16px);
    font-weight: 400;
}
#pagewrap .top-post_news .post {
    margin-bottom: 8rem;
    padding-bottom: 0;
}
#pagewrap .top-post_news .post:last-child{
	margin-bottom:0;
}
.top-post_news .category-news-recruit .post-category a {
    background: #498cc1;
}
.module.btn-contact a {
    background: #fff;
    border-radius: 50px;
    color: #fda248;
    font-size: 1.8rem;
    font-weight: bold;
    max-width: 425px;
    padding: 30px 0;
    text-align: center;
    width: 100%;
}
.module.right02.img_rotate.img_rotate_about {
	max-width: 740px;
	margin:0;
    top: -6rem;
    left: 0;
}

.br-sp{
	display: none;
}
.module_column.btn-viewmore:hover {
    transform: translateY(-15px);
    transition: .5s ease;
}
.module_column.btn-viewmore {
    transition: .5s ease;
}
.single .web-works .entry-content:before {
    display: none;
}
.web-works .post-title a {
    color: #333;
}
.web-works .post-title {
    font-size: 4rem;
    margin-bottom: 9rem;
    text-align: center;
}
.web-works .post-title a:hover {
    text-decoration: none;
}
.single .web-works .entry-content {
    margin-top: 2rem;
}
.web-works .content-title .sub-head {
    margin-top: 0;
}
.web-works .content-title .main-head {
    font-family: "Open Sans", sans-serif;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
}
.list-works {
    list-style: none;
    margin: 0;
}
.mr-bottom {
    margin-bottom: 70px;
}
.c-black a{
	color: #333;
	font-size: 18px;
}
.single .meta-item{
	display: none;
}
.archive .single-post-title {
    display: none;
}
.archive .meta-item h2.post-title {
    margin-bottom: 0rem;
}
.cat-12 #loops-wrapper, .category-12 #loops-wrapper {
    display: flex;
    flex-wrap: wrap;
    column-gap: 50px;
}
.cat-12 #loops-wrapper .post, .category-12 #loops-wrapper .post {
	padding-bottom: 40px;
    width: calc(100% / 3 - 50px);
}
.archive .meta-item h2.post-title {
    line-height: 1;
    text-align: left;
}
.archive .meta-item h2.post-title a {
    font-size: 1.8rem;
}
.item-wrap {
    display: flex;
    flex-wrap: wrap;
}
.item-wrap {
    display: flex;
	align-items: center;
    flex-wrap: wrap;
}
.archive .web-works img {
    height: 250px;
    object-fit: cover;
}
body .pagenav > * {
    background: #dfe6ef;
    border-radius: 50px;
    color: #357ab5;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    min-height: auto;
    min-width: auto;
    padding: 0;
    width: 44px;
}
body .pagenav {
    display: flex;
    justify-content: flex-end;
}
body .pagenav a:hover {
    background: #357ab5;
    color: #fff;
}
body .pagenav .number.current {
    background: #357ab5;
    color: #fff;
}
.translated-ltr .widget ul li a {
    max-width: 200px;
}





/* -----end general----- */

/* ------contact ------ */
.wpcf7-form table tr th {
    text-align: left;
	width: 20%;
}
.wpcf7-form table tr th span {
    color: #ff3a3a;
    font-size: 12px;
}
input[type=submit] {
    background: #fda248;
    border-radius: 50px;
	border: solid 1px #fda248;
    margin-top: 4rem;
	max-width: 300px;
    padding: 2.5rem 0;
	transition: .3s linear;
    width: 300px;
}
.wpcf7 .fa.submit_btn {
	display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
    text-align: center;
}
#pagewrap #policy .module-title {
    background: #498cc1;
	border: solid 2px #ecf3f9;
	border-bottom:0;
    color: #fff;
    font-weight: 500;
	margin-bottom:0;
    padding: 2rem 3.5rem;
}
#policy .tb_text_wrap {
    border: solid 2px #ecf3f9;
    height: 480px;
    overflow: auto;
    padding: 4rem;
}
button:hover, input[type=reset]:hover, input[type=submit]:hover {
    background: #fff;
    border: solid 1px;
    color: #fda248;
    font-weight: bold;
}

/* ------end contact ------ */

/* works */

.separator {
	height: 2px;
	background-image: linear-gradient(135deg, #3574ab 45%, #dfe6ef 50%);
	background-size: 100% 100%;
	border: none;
    margin: 2rem 0 5rem;
}
.a.work-title {
    font-size: 2.4rem;
    font-weight: bold;
    grid-area: a;
	line-height: 1.2;
	padding: 2rem 0;
}
.work-item {
    display: grid;
    grid-template-areas:
        "a b"
        "a c";
	grid-template-columns: 25% auto;
}
span.text-blue {
    color: #498cc1;
	display: block;
    font-weight: bold;
	width: 205px;
}
.b.meta-pair {
	display: flex;
    flex-wrap: wrap;
    grid-area: b;
}
.c.work-summary {
	display: flex;
    grid-area: c;
	padding: 2rem 0;
}
span.meta {
	display: flex;
	line-height: 1.2;
	padding: 2rem 0;
    width: 50%;
}
.meta.second span.text-blue {
    width: 140px;
}
.tab-work {
    padding-top: 2rem;
}






/* -------english ------- */
.text-en{
	display: none;
}
.translated-ltr .text-en {
    display: block;
}
.translated-ltr .text-ja {
    display: none;
}



@media screen and (max-width: 1600px) {
	#header{
		max-width: 1400px;
	}
	.module.right02.img_rotate.img_rotate_about {
		top: -4rem;
		left: -6rem;
	}
	#main-nav-wrap #main-nav li a{
		padding: 0.5rem 1rem;
	}
	.module.right02.img_rotate{
		max-width: 870px;
		top: -6rem;
		right: -5rem;
	}
	.module_row.bg-none {
		background-position: left 30% center!important;
	}
}
@media screen and (max-width: 1180px) {
	
.right01,.module.right02.img_rotate {
		max-width: 480px;
	}
	.module.right02.img_rotate {
		top: -3rem;
		right: 0;
	}
	.module.left01 {
		max-width: 250px;
	}
	.module.left02.img_rotate {max-width: 400px;left: -12rem;top: -4rem;}

	body .pagewidth{
		max-width:100%;
	}
	.tab-info table tr th,.tab-info table tr td {
		display: block;
		padding: 20px 0px;
		width: auto;
	}
	.tab-info table tr td {
		padding-top: 0;
	}
	.tab-info table tr th {
		padding-bottom: 5px;
	}
	.tab-info table tr td.pc-none {
		background-image: -webkit-linear-gradient(-3deg, rgb(53, 116, 171) 45%, rgb(223, 230, 239) 50%);
		background-size: 100% 100%;
		border: none;
		display: block;
		height: 2px;
		padding: 0;
	}
	.module.right02.img_rotate.img_rotate_about {
		max-width: 550px;
		margin: 0 auto;
		top: -50px;
	}
	.right01.img_about {
		margin: 0 auto;
	}
	.module_subrow.main-txt-wrap {
		bottom: auto;
		top: 25%;
	}
	.module_row.fullheight.top-main {
		min-height: 77vh;
		margin-bottom: 50px;
	}
	.tab-info.tab-work table tr td{
		width: auto;
	}
	.tab-info.tab-work table tr th.sp-none{
		padding:0;
	}
	
}
@media screen and (max-width: 1024px) {
	#pagewrap .mobile-button{
		display: block;
	}
	#headerwrap.active{
		background: transparent;
	}
	#pagewrap .mobile-button {
		background: transparent;
		height: 18px;
		position: fixed;
		right: 15px;
		top: 15px;
		z-index: 9999;
	}
	#pagewrap .menu-icon-inner {
		width: 30px;
	}
	#pagewrap #main-nav {
		height: 100vh;
		left: 0;
		max-height: unset;
		padding-top: 120px;
		position: fixed;
		top: 0;
		width: 100vw;
	}
	#pagewrap #main-nav-wrap #main-nav li#menu-item-45{
		display: none;
	}
	#site-logo {
		width: 200px;
		position: relative;
		left: 20px;
		top: 30px;
		z-index: 9999;
	}
	#pagewrap #header {
		display: flex;
		flex-direction: column;
		max-width: 100%;
		margin: 0;
		align-items: flex-start;
	}
	#main-nav-wrap #main-nav li a {
		display: flex;
		flex-direction: row;
	}
	#main-nav-wrap #main-nav li a span.ja, #main-nav-wrap #main-nav li a span.en {
		display: inline-block;
		margin: 0;
		opacity: 1;
		position: static;
		width: auto;
	}
	#main-nav-wrap #main-nav li a {
		font-size: max(2.2rem, 22px);
		flex-direction: row;
		line-height: 1.6;
		padding: 1.5rem;
	}
	#main-nav-wrap #main-nav li a:after, #main-nav-wrap #main-nav li a span.ja {
		color: #498cc1;
		font-size: max(1rem, 10px);
		margin-left: 2.5rem;
	}
	#main-nav-wrap #main-nav li.menu-item-has-children .sub-menu {
		background: transparent;
		padding: unset;
		width: auto;
	}
	#main-nav-wrap #main-nav li.menu-item-has-children li a:after {
		display: inline-block;
	}
	#main-nav-wrap #main-nav li.menu-item-has-children > a {
		display: none;
	}
	#pagewrap #main-nav-wrap #main-nav li {
		border-bottom: solid 1px #dde3ea;
		max-width: 94%;
		margin: 0 auto;
	}
	#pagewrap #main-nav-wrap #main-nav li.menu-item-has-children {
		border-bottom: none;
	}
	#main-nav-wrap #main-nav li a,#main-nav-wrap #main-nav li.menu-item-has-children li a {
		background: none;
		display: flex;
		padding: 1.5rem;
		flex-direction: row;
	}
	#pagewrap #main-nav-wrap #main-nav li.menu-item-has-children .sub-menu li {
		max-width: 100%;
		width: auto;
	}
	.module.module-text span a{
		color: #333!important;
	}
	#main-nav-wrap #main-nav li:hover a span.en,
	#main-nav-wrap #main-nav li.menu-item-has-children:hover .sub-menu{
		transform: unset;
	}
	#site-logo {
		opacity: 0;
		transition: opacity .5s;
	}
	#site-logo.show {
		opacity: 1;
		padding-top:0;
		transition: opacity .5s;
	}
	#main-nav-wrap #main-nav li.menu-item-has-children li a:hover{
		background: none;
	}
	.translated-ltr #main-nav-wrap #main-nav li li a:after, .translated-ltr #main-nav-wrap #main-nav li a:after, .translated-ltr #main-nav-wrap #main-nav li a span.ja{
		display: none;
	}
	#main-nav > li{
		height: auto;
		min-width: auto;
	}


}/*1024*/







@media screen and (max-width: 820px) {
	.archive #layout {
    display: flex;
		flex-direction: column-reverse;
	}
	body.sidebar-left #sidebar {
		padding: 10rem 0 0;
	}
	body.sidebar-left #content {
		padding: 10rem 0;
	}
	.module_column.btn-viewmore {
		margin-bottom: 20px;
	}
	.module_subrow.main-txt-wrap {
/* 			bottom: 20rem; */
			left: 5rem;
	}
/* 	.right01 .image-wrap img {
		max-width: max-content;
		transform: translate(80px, -105px);
	} */
	body.home{
		background-position: center 30%;
		background-size: contain;
	}
	.right01.img_about .image-wrap img {
		max-width: 85%;
		transform: unset;
	}
	.translated-ltr .module.main-txt.font-ja{
		max-width: 300px;
	}
	.work-item {
		display: block;
	}
	.b.meta-pair {
		display: block;
	}
	.b.meta-pair br{
		display: none;
	}
	br.sp-none {
		display: none;
	}
	span.meta {
		width: auto;
	}
	span.text-blue,.meta.second span.text-blue {
		min-width: 150px;
		width: auto;
	}
	.c.work-summary {
		padding: 1rem 0;
	}
	.separator {
		margin: 1.5rem 0 3rem;
	}
	.a.work-title {
		font-size: 20px;
		padding-top: 6rem;
	}
	
}



@media (max-width: 680px) {
	.policy .tb_text_wrap{
		height: 350px;
	}
	.timeline {
		grid-template-columns: 1fr;
        grid-template-rows: 15% 23% 20% 25% 10%;
        height: 730px;
	}
	.timeline-item {
		padding-left: 5rem;
		width: auto;
	}
	.timeline-item .dot {
		position: absolute;
		left: -7px;
		top: 5px;
	}
	.timeline-line {
		height: 100%;
		left: 5vw;
		top: 7px;
		width: 1px;
	}
	.wpcf7-list-item,
	.wpcf7-form table tr th,.wpcf7-form table tr td {
		display: block;
	}
	.module.module-buttons.bg a {
		background-size: contain;
		margin-bottom: 3rem;
	}
	.module_subrow.max-600 {
		margin-bottom: 3rem;
	}
	.module.btn-link a, .module.btn-link a:hover{
		background-size: contain;
	}
	.module.btn-link.arrow-or a {
		background-size: contain;
		padding-right: 80px;
	}
	#pagewrap .top-post_news .post {
		margin-bottom: 20px;
	}
	.module_column.btn-viewmore {
		border-radius: 30px;
		padding: 10rem 2rem 5rem;
	}
	.module.content-title.color--white .main-head {
		font-size: 22px;
	}
	.module.btn-link.btn-right a {
		background-size: contain;
	}
	.module_row.sub-main {
		background: url(../../uploads/2025/05/sp-sub-main.jpg)no-repeat left center!important;
		background-size: cover!important;
		padding: 118px 0;
	}
	.archive #pagewrap .post:after{
		bottom: 0;
	}
	.br-sp{
		display: block;
	}
	.widget ul {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 5px;
	}
	.widget ul li a{
		max-width: unset;
	}
	.mr-bottom {
		margin-bottom: 50px;
	}
	.top-post_news .post-content{
		flex-direction: column-reverse;
	}
	.top-post_news .post-category a{
		margin-right: 20px;
	}
	.right01 .image-wrap img {
        max-width: unset;
        transform: translate(0px, -35px);
    }
	.module.right02.img_rotate {
		top: -80px;
		right: -50px;
	}
/* 	.module.left02.img_rotate {
		top: 0;
		left: 0;
	} */
	.main-left-wrap {
		bottom: -590px;
	}
/* 	    .module_subrow.main-txt-wrap {
        bottom: 30rem;
	} */
	.module.main-txt {
		font-size: 24px;
		margin-bottom: 10px;
	}
	.module.main-txt.font-ja {
		font-size: 14px;
	}
	.module_subrow.main-txt-wrap {
        bottom: auto;
        left: 5rem;
        top: 50%;
        transform: translateY(-50%);
    }
	.module_row.bg-none {
		background: none!important;
	}
	.home .module.btn-link.btn-link--fit a {
		background-size: contain;
		padding: 2.5rem 12rem 2.5rem 0;
	}
	.module.right02.img_rotate.img_rotate_about {
		margin: 0;
		max-width: 480px;
		left: 50%;
		top: -20px;
		transform: translatex(-50%);
		width: 100%;
	}
	.br-pc{
		display: none;
	}
    .module.left02.img_rotate {
        max-width: 400px;
        left: -40px;
        top: 0;
	}
	.module_row.fullheight.top-main{
		min-height: 634px;
	}
	.module_column.logo-bg-blue {
		border-radius: 30px;
		height: 130px;
		margin-bottom: 10px;
	}
	.wpcf7-form table tr th{
		width: auto;
	}
	.tab-info.tab-work table tr th {
		font-size: 18px;
		width: auto;
	}
	.tab-info.tab-work table tr td .text-blue {
		display: block;
		width: auto;
	}
	.cat-12 #loops-wrapper .post, .category-12 #loops-wrapper .post{
		padding-bottom: 30px;
	}
	.translated-ltr .widget ul {
		grid-template-columns: 1fr 1fr;
	}

}

#site-description{
	display: none;
}
.error404 #sidebar {
    display: none;
}