@charset "UTF-8";

/* メインメニュー　PC用
----------------------------------------------------------------------------------------------------------*/

@media only screen and (min-width: 1025px) {
/*-------- メニュースクロール --------*/
.fixed {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
    z-index: 100 !important;
}
.is-show {
	top: 0;
    width: 100%;
    border-bottom: 3px solid var(--sub);
    background: rgba(255,255,255,0.9);
    transition: 1.5s;
}
.fixed .header-logo {
    width: auto;
    height: 40px;
}
.fixed #nav-box {
    height: auto;
    white-space: nowrap;
}
.fixed ul li a {
    font-size: 1.5rem !important;
	padding: 7px 10px !important;
}
.fixed ul li:hover:after {
    top: 35px !important;
}
.fixed .pullMain li span {
	display: none !important;
}
.fixed .has-sub ul li a {
    height: auto !important;
}
.fixed .has-sub > a:after {
    bottom: -4px !important;
}
}



/* メインメニュー　Mobile用
----------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
.mean-container .mean-bar {
	width: 100%;
    height: 46px;
	padding: 0;
    background: var(--main);
	z-index: 999999;
}
.mean-container .mean-bar:before {
	content: "MENU";
    float: right;
	font-size: 1.2rem;
	color: #fff;
	margin: 14px 45px -40px 15px !important;
}
.mean-container a.meanmenu-reveal {
    position: absolute;
    top: 0;
	right: 0;
    display: block;
    width: 22px;
	height: 22px;
    color: #fff;
	text-indent: -9999em;
	line-height: 22px;
	padding: 12px;
    background: var(--main);
    z-index: 1000;
	cursor: pointer;
}
.mean-container a.meanmenu-reveal.meanclose {
    width: 100% !important;
    text-align: right!important;
}
.mean-container a.meanmenu-reveal span {
	display: block;
    width: 23px;
	height: 3px;
	margin-top: 3px;
    background: #fff;
}
.mean-container .mean-nav {
    position: relative;
	display: block;
	width: 100%;
    max-height: 550px;
    overflow-y: auto;
    overflow-x: hidden;
	top: 46px;
    background: var(--main);
    z-index: 1000;
}
.mean-container .mean-nav ul {
    width: 100%;
    list-style-type: none;
	padding: 0;
	margin: 0;
}
.mean-container .mean-nav ul li span {
	display: none;
}
.mean-container .mean-nav ul li {
	position: relative;
	float: left;
	width: 100%;
    border-top: 1px solid rgba(255,255,255,0.25);
}
.mean-container .mean-nav ul li a {
	display: block;
	float: left;
	width: 90%;
    color: #fff;
    text-align: left;
    text-decoration: none;
	text-transform: uppercase;
	padding: 7px 5%;
	margin: 0;
}
.mean-container .mean-nav ul li li a {
    text-shadow: none !important;
	padding: 7px 0 7px 9%;
	filter: alpha(opacity=75);
	visibility: visible;
	opacity: 0.75;
}
.mean-container .mean-nav ul li.mean-last a {
    margin-bottom: 0;
	border-bottom: none;
}
.mean-container .mean-nav ul li li li a {
	padding: 7px 0 7px 50px;
}
.mean-container .mean-nav ul li li li li a {
	width: 60%;
	padding: 1em 20%;
}
.mean-container .mean-nav ul li li li li li a {
	width: 50%;
	padding: 1em 25%;
}
.mean-container .mean-nav ul li a:hover {
	background: rgba(255,255,255,0.2);
}
.mean-container .mean-nav ul li a.mean-expand {
	position: absolute;
    top: -1px;
	right: 0;
	width: 18px;
	height: 18px;
	text-align: center;
	font-weight: 700;
    padding: 7px 12px 16px !important;
    margin-top: 1px;
	background: rgba(255,255,255,0.2);
	border: none !important;
    z-index: 2;
}
.mean-container .mean-nav ul li a.mean-expand:hover {
	background: rgba(255,255,255,0.3);
}
.mean-container .mean-push {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}
.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}
.mean-container .mean-bar,
.mean-container .mean-bar * {
	box-sizing: content-box;
}
.mean-remove {
	display: none !important;
}
.fixed {
    border: none !important;
}
}




/* カラム
----------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 900px) {
.flex-box {
    justify-content: center;
}
.w25,
.w3,
.w4,
.w5,
.w6,
.w7,
.w8,
.w9,
.w10,
.w11 {
    width: 48%;
    max-width: 48%;
    margin: 0 4% 30px 0;
}
.w25:nth-child(even),
.w3:nth-child(even),
.w4:nth-child(even),
.w5:nth-child(even),
.w6:nth-child(even),
.w7:nth-child(even),
.w8:nth-child(even),
.w9:nth-child(even),
.w10:nth-child(even),
.w11:nth-child(even) {
    margin-right: 0;
}
.w1,
.w2 {
    width: 22%;
    max-width: 22%;
    margin: 0 4% 0 0;
}
.w1:nth-child(4n),
.w2:nth-child(4n) {
    margin-right: 0;
}
}

@media only screen and (max-width: 520px) {
.flex-box [class^="w"] {
    flex-basis: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
}
.w1,
.w2 {
    width: 48%;
    max-width: 48%;
    margin: 0 4% 30px 0;
}
.w1:nth-child(even),
.w2:nth-child(even) {
    margin-right: 0;
}
.flex-box [class^="w"]:last-of-type {
    margin-bottom: 0;
}
}

@media screen and (min-width: 600px) and (max-width: 900px) {
.w25 {
    width: 30.6666666667%;
    max-width: 30.6666666667%;
}
.w25:nth-child(even) {
    margin-right: 4%;
}
.w25:nth-child(3n) {
    margin-right: 0;
}
}

@media screen and (min-width: 700px) and (max-width: 900px) {
.w3,
.w4 {
    width: 30.6666666667%;
    max-width: 30.6666666667%;
}
.w3:nth-child(2n),
.w4:nth-child(even) {
    margin-right: 4%;
}
.w3:nth-child(3n),
.w4:nth-child(4n) {
    margin-right: 0;
}
}




/* max-width: 1024px
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 1024px) {

/*-------- ベースレイアウト --------*/
#nav-box {
    display: none !important;
}
#container,
.inner {
	display: block;
    width: 100%;
    min-width: 100%;
}
article.inner {
    padding-left: 7%;
    padding-right: 7%;
}
#footer {
	width: 100%;
	padding-left: 7%;
    padding-right: 7%;
}
article[id^="page-"],
article[id^="post-"] {
    display: block;
}
#content-page {
    width: 100%;
}
.page-content {
    width: 100%;
    margin-bottom: 80px;
}
#footer {
    text-align: center;
	margin-top: 0;
}
#footer .flex-box {
	width: 100%;
    justify-content: space-between;
}
section[class*="110"],
section[class*="120"],
section[class*="130"],
section[class*="140"],
section[class*="150"],
section[class*="160"],
section[class*="170"],
section[class*="180"],
section[class*="190"],
section[class*="200"],
div[class*="110"],
div[class*="120"],
div[class*="130"],
div[class*="140"],
div[class*="150"],
div[class*="160"],
div[class*="170"],
div[class*="180"],
div[class*="190"],
div[class*="200"] {
    margin-bottom: 100px;
}

/*-------- ヘッダ --------*/
#header-box {
    flex-wrap: wrap;
}
header {
    width: 100%;
}
#header {
    display: none;
}
#toppage header {
    height: auto;
}
#header-top-img {
    width: 100%;
    height: 300px;
}
.meanmenu-reveal {
    display: none !important;
}
.mean-bar .meanmenu-reveal {
    display: block !important;
}
header .inner {
	padding: 0 3%;
	text-align: center;
}
#toppage #header-box {
    height: auto;
    min-height: auto;
    margin-bottom: 0;
    border-bottom: none;
}
#header-box .sns-box {
    justify-content: center;
    padding-bottom: 10px;
    margin: 0 0 20px;
}
#toppage #header-box .tel,
#header-box #header .tel {
    width: 100%;
    right: 0;
}
#header-box .tel span a {
    float: none;
    display: inline-block;
}
header {
    text-align: center;
    padding: 30px 6% 40px;
}
#header-img {
	margin: 0 auto 30px;
}
header .logo img {
	margin: 20px auto;
}
#breadcrumb {
    bottom: initial;
    padding: 10px 0;
}
#breadcrumb ul {
	width: 90%;
}
.head-title {
    width: 100%;
    height: auto;
    min-height: 300px;
}
.head-title img {
    aspect-ratio: 6/2.5;
    min-height: 250px;
}
#sidenbtn-box {
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    transform: translateY(0);
    display: flex;
}
[class^="sidenbtn"] {
    width: 46px;
    height: 46px;
    line-height: 46px;
    margin: 0 5px 0 0;
}
[class^="sidenbtn"] span {
    display: none;
}
#side-contentB-list #sidebar .widget {
    width: 100%;
    max-width: 100%;
}

/*-------- ホーム --------*/
#map-top {
    overflow: hidden;
}
#news-typeB {
    min-width: 100%;
    max-width: 100%;
    padding: 0 7%;
}
#toppage #news-typeB {
    padding: 0;
}
#service .box {
    padding: 20px 30% 60px 0;
    overflow: visible;
}
#service .box img {
    height: 300px;
    border-left: 70px solid var(--main);
}
#service .box h3 {
    right: 0;
}
#service .box div.text {
    right: 0;
    bottom: -100px;
    width: 350px;
    padding: 30px;
}
#service .box .number {
    height: 0;
}
#service .box .number:before {
    top: 10px;
    left: 5px;
}
#service .box:nth-child(even) {
    padding: 20px 0 60px 30%;
}
#service .box:nth-child(even) div.text {
    left: 0;
}
#service .box:nth-child(even) img {
    border-right: 70px solid var(--main);
}
#service .box:nth-child(even) .number:before {
    right: 5px;
}
#service .box:nth-child(even) h3 {
    left: 0;
}
#service .box:nth-child(odd) img,
#service .box:nth-child(even) img,
#service .box:nth-child(odd) div,
#service .box:nth-child(even) div,
#service .box.scroll-in img,
#service .box.scroll-in div {
    transform: initial;
}

/*-------- 固定ページ --------*/
.notfound {
    text-align: center;
}
    
/*-------- 投稿ページ --------*/


/*-------- 投稿一覧 --------*/


/*-------- サイドバー --------*/
#sidebar {
    padding-bottom: 50px;
    margin: 0 0 100px;
}
#sidebar .widget:last-child {
    margin-bottom: 0;
}
#sidebar div[class^="customs-banners"] {
    max-width: 500px;
}
.widget-search {
    width: 100%;
    max-width: 100%;
}

/*-------- フッダ --------*/
#footer .flex-box [class^="w"] {
    margin-bottom: 0;
}
#footer .flex-box [class^="w"]:last-child {
    width: 100%;
    max-width: 100%;
}
#footer .widget {
    margin-bottom: 30px !important;
}
#footer .widget-post {
    width: 100% !important;
    max-width: 100% !important;
}
#footer .widget-post:first-child {
    border-top: 1px dotted #ccc;
}
#footer .footer-sumally {
    margin-top: 30px;
}
.footer-under .inner {
    width: 94%;
}
#page-top {
    right: 10px;
    bottom: 10px;
}
.under-btn {
    position: fixed;
    justify-content: center;
    left: 50%;
    bottom: 0;
    width: 100vw;
    transform: translateX(-50%);
    display: flex;
    width: 100%;
    height: 40px;
    border-top: 1px solid rgba(255,255,255,.4);
    background: var(--main);
    z-index: 100;
}
.under-btn a {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 40px;
    vertical-align: middle;
    color: #fff !important;
    font-size: 120%;
}
.under-btn a svg {
    color: var(--sub);
    font-size: 110%;
}
.under-btn a:last-child {
    border-left: 1px solid rgba(255,255,255,.4);
}
.footer-under {
    padding-bottom: 55px;
}
#page-scroll {
    right: 10px;
    bottom: 18px;
}
#page-scroll .fa-angle-up {
    width: 30px;
    height: 30px;
    line-height: 30px;
}
#footer-btn {
    padding: 0 7%;
    margin: 100px auto 80px;
}
    
/*-------- その他 --------*/
.top-slider-box {
    padding: 80px 7%;
}

}

/* max-width: 1023px
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 1023px) {
/*-------- ヘッダ --------*/

    
/*-------- 固定ページ --------*/

    
/*-------- お知らせ一覧 --------*/
.post-archive #content .flex,
.single-content #content .flex {
    display: block;
}
.post-archive #content .flex .content.sidebar,
.single-content #content .flex .content.sidebar {
    width: 100%;
}
#sidebar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 30px;
    margin: 0 0 100px;
}
#sidebar .widget,
#footer .flex-box [class^="w"] {
    width: 48%;
    max-width: 48%;
    margin-bottom: 0;
}
#sidebar .widget:nth-of-type(2n),
#footer .flex-box [class^="w"]:nth-of-type(2n)  {
    margin-right: 0;
}
.pagination {
    margin-bottom: 0;
}
/*-------- 事例 --------*/
.single-case {
    padding: 40px;
}
/*-------- ヒストリー --------*/
.history:before {
    left: 15px;
}
.history .round {
    left: 15px;
}
.history .content {
    float: left !important;
    width: calc(100% - 50px);
    margin-left: 50px;
}
.history .content::before {
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: orange;
}
.history .content:before {
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: var(--sub);
}
.history .block {
    margin-bottom: 30px;
}
}


/* max-width: 1200px
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 1200px) {
/*-------- ベーシック --------*/
#content .column-box {
    flex-wrap: wrap;
}
}


/* max-width: 1024px
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 1024px) {
/*-------- ヘッダ --------*/
#header-top-img {
    height: 600px;
    margin: 0 auto 30px;
    border-bottom: 50px solid #fff;
}
#header-top-img .swiper-wrapper .swiper-slide .box {
    top: 120px;
    left: 5%;
    width: 300px;
    height: auto;
    padding: 20px;
}
#header-top-img .swiper-slide .slide-media img {
    height: 570px;
}
    
/*-------- スタッフ --------*/
.page-staff-small {
    justify-content: center;
}
.page-staff-small .box {
    width: 49%;
}
    
.content-slider .swiper-button-prev {
    right: calc(100% + -11px);
    left: initial;
}

.content-slider .swiper-button-next {
    left: calc(100% + -11px);
}
}


/* max-width: 900px
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 900px) {
/*-------- 固定ページ --------*/
.title-english {
    line-height: 1.2;
}
    
/*-------- ベーシック --------*/
#content .gallery-box div {
    min-width: 32%;
}
#content .list{
    overflow: initial;
}
/*-------- ギャラリー --------*/
.page-gallery {
    column-count: 2;
}
/*-------- スタッフ --------*/
.page-staff-big .box {
    display: block;
}
.page-staff-big .box picture {
    max-width: 400px;
}
.page-staff-big .box div {
    width: 100% !important;
}
.page-staff-big .box .staff,
.page-staff-small .box .staff {
    display: block;
    max-width: 400px;
    margin: 0 auto 20px;
}
.staff ul.sns {
    justify-content: center;
}
/*-------- 事例 --------*/
.case-list {
    display: flex;
    column-gap: 4%;
    flex-wrap: wrap;
}
.case-list .case {
    width: 100%;
    padding: 30px;
}
#content .single-case .gallery-box div {
    width: 48%;
    min-width: 48%;
}
/*-------- 会社概要 --------*/
#page-company .sns-line {
    flex-wrap: wrap;
}

}



/* max-width: 424px
----------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 424px) {
.case-list .case {
    padding: 20px;
}
.single-case h2, .case-list h3 {
    width: 90%;
}
}


/* max-width: 600px
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 600px) {
	
/*-------- ベースレイアウト --------*/
#content img.right,
#content img.left,
#content img.center,
.movie-box.position-right,
.movie-box.position-left,
.movie-box.position-center {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}
.movie-box.position-right,
.movie-box.position-left,
.movie-box.position-center {
    padding-top: 56.25%;
}
.size-medium {
    width: 100%;
	margin: 0 0 20px;
}

/*-------- ヘッダ --------*/
#header-top-img .swiper-wrapper .swiper-slide .box {
    left: 10%;
    width: 80%;
}
#search-wrap.panelactive #search {
    width: 80%;
}
#search-wrap #s {
    width: calc(100% - 80px);
}
#search-wrap #searchsubmit {
    padding: 0 10px;
}

/*-------- ホーム --------*/
#service .box:nth-child(even) {
    padding: 0;
}
#service .box {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 50px;
}
#service .box div.mobile {
    width: 100%;
    padding: 0;
    order: 2;
}
#service .box div.text {
    position: initial;
    right: 0;
    width: 100% !important;
    padding: 20px;
}
#service .box img {
    height: 250px;
    order: 1;
}
#service .box h3 {
    top: -20px;
    right: 0;
}
#service .box:nth-child(even) h3 {
    left: auto;
}
#service .box .number:before {
    top: 0;
    left: 15px;
}
#service .box:nth-child(even) .number:before {
    right: 15px;
}
#news-typeB .news li {
    padding: 20px 10px;
}
#news-typeB .news li a {
    font-size: 1.5rem;
    line-height: 1.6;
    -webkit-line-clamp: 2;
}

/*-------- ベーシック --------*/
#content ul[class^="tab"] {
    column-gap: 7px;
}
#content ul[class^="tab"] li a:before {
    margin-bottom: 5px;
}
#content .tab-detail {
    padding: 30px 20px;
}
#content .gallery-box div {
    min-width: 49%;
}
.text-flex {
    flex-wrap: wrap;
}
.text-flex .text {
    width: 100%;
    padding-top: 10px;
    order: 2 !important;
}
.text-flex .vertical-img {
    width: 100%;
    height: 300px;
    order: 1 !important;
}
.text-flex h2.title {
    margin-bottom: 20px;
}
/*-------- スタッフ --------*/
.page-staff-small .box {
    width: 100%;
}
/*-------- お問い合わせ --------*/
.wpcf7 .dual {
    width: 100%;
}
/*-------- お知らせ一覧 --------*/
.post-archive .post-list {
    flex-wrap: wrap;
}
.post-archive .image-orver {
    width: 100%;
    margin-bottom: 15px;
}
.post-archive .image-orver img {
    aspect-ratio: 6/4;
}
#sidebar .widget,
#footer .flex-box [class^="w"] {
    width: 100%;
    max-width: 100%;
}
/*-------- 事例 --------*/
#content .single-case .gallery-box div {
    width: 100%;
    min-width: 100%;
}
.single-case {
    padding: 20px;
}
/*-------- Q&A --------*/
.accordion .ac-inner {
    padding: 0 0 20px 30px;
}
/*-------- 会社概要 --------*/
.tableC {
    margin: 0;
}
.tableC th {
    padding: 10px 0px 0px;
    border-bottom: none;
}
.tableC th,
.tableC td {
    width: 100% !important;
    display: block;
    border-top: none;
}
.tableC tr:first-child th {
    border-top: 1px solid #ddd;
}
.tableA .sns {
    justify-content: flex-start;
}
.tableC td ul {
    margin-top: 0;
}
    
/*-------- 固定ページ --------*/
/*-- カレンダー --*/
.eo-fullcalendar {
    width: 100%;
    height: 400px;
    padding: 25px;
    border: 1px solid #ccc;
    overflow: auto;
}
.fc-listMonth-view .fc-row .fc-content-skeleton .fc-day-number {
    border-bottom: none !important;
}
.fc-listMonth-view.fc-display-date-above .fc-row .fc-content-skeleton tbody:before {
    line-height: 0 !important;
}
.eo-fullcalendar .fc-event {
    display: inline-block;
    margin-left: 20px !important;
}
.fc-listMonth-view .fc-row .fc-content-skeleton .fc-day-number .fc-list-header-left,
.fc-listMonth-view .fc-row .fc-content-skeleton .fc-day-number .fc-list-header-right {
    font-weight: normal;
}
/*-- ステップ --*/
.step-box div {
	padding: 80px 20px 17px !important;
}
.step-box div h4:before {
    top: 10px !important;
    left: 50% !important;
    transform: translateX(-50%);
}
.step-box div img {
    margin-bottom: 10px;
}
/*-- ヒストリー --*/
.history .content {
    padding: 20px;
}
.history .content h4:before {
    top: -50px;
    left: 5px;
    font-size: 5rem;
}
    
/*-------- 投稿ページ --------*/
.single-content .header {
    display: block;
}
.single-content .cal {
    margin: 0 auto 20px;
}
.single-post {
    padding: 20px;
    border: 5px solid #f8f8f8;
}

/*-------- 投稿一覧 --------*/

    
/*-------- 検索結果 --------*/
.search-archive .post-list {
    padding: 15px 20px 50px 20px;
}
.search-archive .blog-button {
    right: 20px;
    bottom: 15px;
}

/*-------- サイドバー --------*/
.widget-post {
    margin-bottom: 0 !important;
}
#sidebar div[class^="customs-banners"] {
	max-width: 100%;
}

/*-------- フッダ --------*/
#footer .footer-content {
    flex-wrap: wrap;
    width: 100%;
}
.footer-sns {
    text-align: center;
    margin-top: 10px;
}
#footer-btn a {
    width: 70%;
}

/*-------- その他 --------*/
ul.tab li {
    flex: 1 0 0%;
}
ul.tab li a {
    padding: 8px;
}
.tab-detail {
	padding: 10px;
}
.case-list .case,
.single-case,
.calendar,
.post-archive .post-list,
.job-box,
.page-staff-big .box {
    padding: 20px;
    border: 5px solid #f8f8f8;
}
.page-staff-small .box {
    border: 5px solid #f8f8f8;
}
#page-price .price,
.reserve {
    padding: 20px;
}

}



/* カラム
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 1023px) {
#content [class^="column-box"] {
	flex-wrap: wrap;
}
}
    
@media only screen and (max-width: 767px) {
#content [class^="column-box"] .box {
    flex: 0 0 100%;
}
#toppage ul[class^="tab"],
.basic-format ul[class^="tab"]  {
    width: 20%;
    max-width: 20%;
}
#toppage .tab-detail,
.basic-format .tab-detail {
    width: 80%;
    max-width: 80%;
    padding: 20px 3%;
    border: 1px solid #ddd;
    background: #fff;
}
#toppage [class^="tab"] ul li .light,
.basic-format [class^="tab"] ul li .light {
    position: absolute;
    top: 20px;
    left: 15px;
    width: 10px;
    height: 10px;
    background: none;
    border-radius: 100%;
    transition: 1s all cubic-bezier(0.075, 0.82, 0.165, 1);
}
#content ul[class^="tab"] li {
    padding: 8px 10px;
}
#news-box {
    display: block;
    border-right: none;
}
#news-box div.title {
    width: calc(100% - 64px);
    padding: 10px 20px;
    margin: 0 auto 10px;
}
.slider-box {
    width: 100%;
}
.content-slider .allow-box {
    bottom: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 1;
}
.content-slider .swiper-button-prev {
    margin-left: 5px;
}
.content-slider .swiper-button-next {
    margin-right: 5px;
}
.swiper-button-prev i,
.swiper-button-next i {
    font-size: 4rem;
}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
#content [class^="column-box"] .box {
    flex: 0 0 48%;
}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
#news-box .title-english {
    font-size: clamp(2.5rem, 1rem + 4vw, 5rem) !important;
}
}

@media only screen and (max-width: 767px) {
.column1 div.two,
.column1 div.three,
.column1 div.four,
.column1 div.five,
.column1 div.others,
.column2 div.two,
.column2 div.three,
.column2 div.four,
.column2 div.five,
.column2 div.others {
    flex: 0 0 100%;
}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
.column1 div.three,
.column1 div.four,
.column1 div.five,
.column1 div.others,
.column2 div.three,
.column2 div.four,
.column2 div.five,
.column2 div.others {
    flex: 0 0 49%;
}
}

@media screen and (min-width: 1024px) and (max-width: 1200px) {
.column1 div.four,
.column1 div.five,
.column1 div.others,
.column2 div.four,
.column2 div.five,
.column2 div.others {
    flex: 0 0 32%;
}
}

@media screen and (min-width: 1201px) and (max-width: 1400px) {
.column1 div.five,
.column1 div.others,
.column2 div.five,
.column2 div.others {
    flex: 0 0 23.5%;
}
}


/* 
----------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 450px) {
#page-archive .post-list {
	display: block;
    border-bottom: none;
}
#page-archive .image-orver {
	width: 100%;
	height: 220px;
    margin: 0 0 10px;
}
#page-archive .image-orver img {
	width: 100%;
	height: 220px;
}
[id^="side-content"] {
    width: 100%;
}
[id^="side-content"].panelactive #side-contentA-list,
[id^="side-content"].panelactive #side-contentB-list {
    width: 100%;
    padding: 70px 30px 30px;
}
.twitter-timeline iframe {
    width: 100%;
}
}

@media only screen and (max-width: 500px) {
.page-gallery {
    column-count: 1;
}
#footer-btn a {
    width: 100%;
}
#footer-btn {
    padding: 0 7%;
}
}

@media only screen and (max-width: 620px) {
.wpcf7 .approval {
    flex-wrap: wrap;
}
.wpcf7 .approval .wpcf7-form-control-wrap {
    margin-left: 0;
}
input[type=submit] {
    width: 255px;
}
}

@media only screen and (max-width: 800px) {
#service .box div.text {
    width: 60%;
}
.table-scroll {
    overflow-x: auto;
}
.table-note {
    display: block;
    color: #f30;
    font-size: 1.4rem;
    margin-top: 10px;
}
.table-scroll .tableA {
    min-width: 800px;
}
.tableB {
    margin: 0;
}
.tableB th{
    border-bottom: none;
}
.tableB th,
.tableB td {
    width: 100%;
    display: block;
    border-top: none;
}
.tableB tr:first-child th {
    border-top: 1px solid #ddd;
}
}

@media screen and (min-width: 1024px) and (max-width: 1300px) {
.size-medium {
	max-width: 50%;
}
}

@media screen and (min-width: 601px) and (max-width: 700px) {
.history .content img {
    width: 50% !important;
}
/*-------- フッダ --------*/
#footer-btn a {
    width: 48%;
}
}

@media screen and (min-width: 601px) and (max-width: 800px) {
.size-medium,
#content img.right,
#content img.left,
#content img.center {
	max-width: 50%;
}
.movie-box.position-right,
.movie-box.position-left,
.movie-box.position-center {
    max-width: 50%;
    height: auto;
    padding-top: 28%;
}
}

@media screen and (min-width: 601px) and (max-width: 900px) {
.step-box div img {
	width: 50% !important;
}
#search-wrap.panelactive #search {
    width: 60%;
}
}

@media screen and (min-width: 601px) and (max-width: 1024px) {
#service .box:last-of-type {
    margin-bottom: 200px;
}
.text-flex .vertical-img {
    height: 500px;
}
}

@media screen and (min-width: 701px) and (max-width: 1023px) {
/*-------- フッダ --------*/
#footer-btn a {
    width: 40%;
}
}

@media screen and (min-width: 901px) and (max-width: 1024px) {
/*-------- スタッフ --------*/
.page-staff-big .box picture {
    width: 40%;
}
/*-------- 事例 --------*/
#content .single-case .gallery-box div {
    width: 30.6666666%;
    min-width: 30.6666666%;
}
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
article.inner,
#news-typeB {
    padding: 0 5%;
}
#service .box {
    padding: 20px 30% 60px 0;
}
#service .box:nth-child(even) {
    padding: 20px 0 60px 30%;
}
#service .box h3 {
    right: -40%;
}
#service .box:nth-child(even) h3 {
    left: -40%;
}
}


