@charset "UTF-8";





/* カラム
----------------------------------------------------------------------------------------------------------*/
@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) {

/*-------- ベースレイアウト --------*/
#container,
.inner {
	display: block;
    width: 100%;
    min-width: 100%;
}
article.inner {
    padding-left: 7%;
    padding-right: 7%;
}
.contributions-format .content {
    width: 100%;
    min-width: auto;
    max-width: auto;
}
#footer {
	width: 100%;
	padding-left: 6%;
    padding-right: 6%;
}
article[id^="page-"],
article[id^="post-"] {
    display: block;
}
#content-page {
    width: 100%;
}
.page-content {
    width: 100%;
    padding-left: 7%;
    padding-right: 7%;
    margin-bottom: 80px;
}
#footer {
	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-top {
    justify-content: center;
    padding-top: 5px;
}
header .inner {
	padding: 0 3%;
	text-align: center;
}
.header-top .pc {
    display: none;
}
.header-top .mobile {
    display: block;
    position: relative;
    top: 8px;
    width: 130px;
}
#header-img {
	margin: 0 auto 30px;
}
header .logo img {
	margin: 20px auto;
}
#breadcrumb {
    bottom: initial;
    padding: 10px 0;
}
#breadcrumb ul {
	width: 90%;
}
.open-btn {
    position: absolute;
    top: 60px;
    right: 5px;
}
[class^="sidenbtn"] {
    width: 30px;
    height: 160px;
    line-height: 30px;
    font-size: 1.6rem;
}
[class^="sidenbtn"] span {
    display: none;
}
#side-contentB-list #sidebar .widget {
    width: 100%;
    max-width: 100%;
}

/*-------- ホーム --------*/
#service .box {
    padding: 0 calc(150px + 10%) 0 0;
    margin-bottom: 130px;
}
#service .box:nth-child(even) {
    padding: 0 0 0 calc(150px + 10%);
}
#service .box img {
    height: 400px;
}
#service .box div {
    padding: 40px;
}
#map-top {
    overflow: hidden;
}
#news-typeB {
    min-width: 100%;
    max-width: 100%;
    padding: 0 7%;
}
#toppage #news-typeB {
    padding: 0;
}
.print-price .w6.copy span {
    font-size: 1.7rem;
}
.top-step {
    flex-wrap: wrap;
}
.top-step div {
    width: 48.5%;
}
#toppage .merit4.column div {
    width: 47%;
    padding: 30px 20px 20px;
}
#toppage #price {
    margin-bottom: 150px;
}

/*-------- 固定ページ --------*/
.notfound {
    text-align: center;
}
    
/*-------- 投稿ページ --------*/
#single-template .tpl-point {
    width: 100%;
}
#single-template .basic-format.tpl .tab-detail {
    padding: 40px 8% 20px;
}
#web-tpl .tab-detail #tab1 .accordion .ac-header {
    width: 100%;
}
#single-template #web-tpl .tableB td {
    display: table-cell;
}
.payment.flex-box .w6 {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
}
#web-tpl .paypal-box {
    display: block;
}
.step-box .box {
    display: block;
}

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


/*-------- サイドバー --------*/
#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) {

#header-top-img {
    height: auto;
}
#header-top-img .copy {
    position: relative;
    top: 50px;
    left: 0;
    transform: initial;
    width: 90%;
    margin: 0 auto 100px;
}
#header-top-img .box {
    position: relative;
    top: auto;
    right: 0;
    bottom: 30px;
    width: 90%;
    margin: 200px auto 50px;
}
#header-top-img .box img {
    width: 130px;
}
#header-top-img .images {
    position: relative;
    top: 80px;
    left: 0;
    width: 60%;
    margin: auto;
}
#tpl-box div {
    width: 100%;
}
.size-box {
    padding: 25px 5% 20px;
}
.line-list01 .dotted {
    display: none;
}
.merit-title .title-english {
    margin-top: 0 !important;
}
#toppage h2.title {
    margin-bottom: 50px;
}
    
/*-------- 固定ページ --------*/
.line-list01 li {
    display: block;
}
#single-template .template-box {
    flex-wrap: wrap;
}
#single-template .template-box .images {
    width: 100%;
}
#single-template .template-box .swiper-slide {
    margin-bottom: 30px;
}
#single-template .tab-detail {
    padding: 60px 3% 30px;
}
.table-scroll .note {
    display: block;
    color: #f30;
    font-size: 1.4rem;
    margin-top: 10px;
}
.table-scroll {
    overflow-x: auto;
}
.table-scroll table {
    min-width: 800px;
}
#single-template .tab .step p {
    padding: 15px 10px 40px 11px;
}
#single-template.work .header {
    display: block;
    padding: 30px 30px 10px;
}
#single-template.work .header h2 span {
    line-height: 1.4;
    margin-bottom: -10px;
}
#single-template.work .header div {
    text-align: right;
    padding-top: 10px;
    margin-top: 15px;
    border-top: 1px dotted #fff;
}
#single-template .header h2 div {
    padding-top: 0 !important;
    padding-left: 0;
    margin-left: 0;
    border-left: none;
    border-top: none !important;
}
#single-template .header h2 {
    flex-wrap: wrap;
}
#single-template .header h2 span, #single-template .tpl-number {
    width: 100%;
    margin-bottom: 10px;
}
#single-template .header h2 div {
    margin-left: 0;
}
    
/*-------- お知らせ一覧 --------*/
.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: 13px;
}
.history .round {
    left: 12px;
}
.history .content {
    float: left !important;
    width: calc(100% - 60px);
    margin-left: 60px;
}
.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;
}
#chatplusview.closed #outline #eye_catcher img {
    width: 130px;
}
#chatplusview.chatplusview-basic.closed #outline {
    width: 230px;
}
#chatplusview #outline #chatpluscontent #chatplusheader .profile span.name {
    font-size: 12px;
}
}


/* 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 {
    position: absolute;
}
#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;
}
body:not(#toppage) header {
    margin-top: 100px;
}
    
/*-------- スタッフ --------*/
.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) {
/*-------- 固定ページ --------*/
    
/*-------- ベーシック --------*/
#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;
}
/*-------- 検索結果 --------*/
.search-archive .post-list {
    padding: 30px 30px 70px 30px;
}
}



/* 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;
}
#header-top-img .copy h1.pc {
    display: none;
}
#header-top-img .copy h1.mobile {
    display: block;
}

/*-------- ホーム --------*/
#service .box {
    padding: 0;
}
#service .box:nth-child(even) {
    padding: 0;
}
#service .box div {
    right: 0;
    width: 70%;
    padding: 20px;
}
#service .box:nth-child(even) div {
    left: 0;
}
#service .box img {
    height: 400px;
}
#news-typeB .news li a {
    font-size: 1.5rem;
    line-height: 1;
    -webkit-line-clamp: 2;
    padding-left: 11em;
    text-indent: -10.5em;
}
#toppage h2.title span {
    font-size: clamp(2rem, 1.642rem + 1.79vw, 5rem);
    padding: 1em;
}
#toppage h2.title span:before,
#toppage h2.title span:after { 
    width: 40px;
    height: 40px;
}
#toppage h2.title span:before {
    border-left: solid 6px #ff5722;
    border-top: solid 6px #ff5722;
}
#toppage h2.title span:after {
    border-right: solid 6px #ff5722;
    border-bottom: solid 6px #ff5722;
}

/*-------- ベーシック --------*/
#content ul[class^="tab"] {
    column-gap: 10px;
    margin-top: 20px;
}
#single-template ul[class^="tab"] li.active {
    bottom: 1px;
}
#content .tab-detail {
    padding: 30px 20px 30px;
}
#content .gallery-box div {
    min-width: 49%;
}
/*-------- スタッフ --------*/
.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 50px;
}
/*-------- 会社概要 --------*/
.tableC {
    margin: 0;
}
.tableC th {
    padding: 10px 0 0;
    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 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;
}
img.wp-image-17160 {
    display: none;
}
img.wp-image-17161 {
    display: block;
}
.support-list {
    padding: 20px;
}
.support-list .w8,
.support-list .w4 {
    width: 100%;
    max-width: 100%;
}
    
/*-------- 投稿ページ --------*/
.single-content .header {
    display: block;
}
.single-content .cal {
    margin: 0 auto 20px;
}
#single-template .tab-detail h4 br {
    display: block;
}
#single-template .tab .step {
    justify-content: center;
    gap: 10px 5px;
}
.work .header-tag {
    display: block;
}
.box1,
.box2,
.box3,
.single-post-point .list-box {
    padding: 20px;
}
.single-post-point h2 {
    text-align: left;
    padding-left: 37px;
    text-indent: -37px;
}
#web-tpl .tpl-slider .box {
    height: 400px !important;
}
#single-template #web-tpl .tableB td {
    display: block;
    width: 100% !important;
}
#web-tpl .function-box .flex-box,
#web-tpl .function-box .flex-box:last-child {
    width: 100%;
}
.step-box .box .customer {
    width: 100%;
    min-width: 100%;
}
.step-box .box {
    padding: 65px 25px 17px 25px;
}
#web-tpl .deadline {
    width: 100%;
    padding: 20px;
}
    
/*-------- 投稿一覧 --------*/


/*-------- サイドバー --------*/
.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;
}
}



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

@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%;
}
}

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

@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%;
}
#single-template .tab-detail .price-rist li {
    padding: 10px;
}
#single-template .swiper-thumb .swiper-slide {
    padding: 3px;
}
#single-template figcaption {
    font-size: 1.2rem;
}
}

@media only screen and (max-width: 500px) {
#header-top-img .images {
    width: 90% !important;
}
#toppage .title-english span {
    margin-bottom: -5%;
}
#toppage #price p:nth-of-type(4) span {
    display: block;
    margin-bottom: -20px;
}
#toppage #price {
    padding: 80px 5% 60% !important;
}
.print-price .flex-box:last-child .w6 {
    padding: 40px 10px 10px;
}
#content h3:first-of-type {
    font-size: 2.6rem;
    text-align: center;
    padding: 5px 10px;
}
.single-post-point .repeat h3 {
    text-align: left !important;
    margin-left: 0 !important;
}
.single-post-point .summary {
    padding: 15px;
}
.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;
}
#content ul[class^="tab"] li {
    padding: 20px 8px !important;
}
}

@media only screen and (max-width: 700px) {
#toppage h2.top-title {
    margin: 60px auto 40px;
}
#toppage h2.top-title span {
    display: none;
}
#toppage h2.top-title:after {
    top: -110px;
}
#single-template .table1 th,
#single-template .table1 td {
    width: 100% !important;
    display: block;
    border: none;
}
#single-template .table1 th {
    padding: 5px !important;
    margin: 5px 0 -20px;
}
#web-tpl .line-list li {
    display: block;
}
#single-template .template-box .images img {
    margin-top: 20px;
}
}

@media only screen and (max-width: 767px) {
.header-top {
    justify-content: left;
    padding-top: 5px;
}
#header-top-img .copy {
    min-width: 90%;
}
#header-top-img .images {
    width: 80%;
}
.comparison .box {
    width: 100%;
    padding: 4% 4% 50%;
}
.comparison .box:first-child:after {
    content: "";
    position: absolute;
    top: auto;
    right: auto;
    left: calc(50% - 40px);
    bottom: -30px;
    border-style: solid;
    border-width: 40px 40px 0 40px;
    border-color: #f90 transparent transparent transparent;
}
.comparison .box:last-child:after {
    content: "";
    position: absolute;
    top: -20px;
    left: calc(50% - 40px);
    border-style: solid;
    border-width: 0 40px 40px 40px;
    border-color: transparent transparent #f90 transparent;
}
.merit-title .title-english span {
    line-height: 1.2;
    margin-bottom: 30px !important;
}
.print-price .w6 {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
}
.top-step div {
    width: 100%;
    margin-bottom: 0;
} 
.top-step div:before {
    content: "";
    position: absolute;
    top: auto;
    bottom: -15px;
    left: 50%;
    margin-left: -15px;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: var(--main) transparent transparent transparent;
}
#toppage .merit4.column div {
    width: 100%;
}
#toppage #price {
    width: 100%;
    padding: 80px 5% 280px;
}
#toppage #price img {
    right: -5%;
    width: 400px;
}
#toppage #price img:first-of-type {
    top: -8%;
    width: 60%;
    min-width: 250px;
}
.original-design .column div {
    width: 100%;
    padding: 50px 10% 200px;
}
.original-design .column img {
    bottom: -50px;
    width: 50%;
    max-width: 300px;
    z-index: 10;
}
#toppage h2.title {
    margin-bottom: 50px;
}
#sidenbtn-box {
    display: none;
}
.tpl-list {
    grid-template-columns: initial !important;
    gap: 20px 0;
}
#single-template .template-box .content {
    display: block;
}
#single-template .template-box .content .box {
    width: 100% !important;
}
#single-template .template-box .content .box:nth-of-type(2) {
    padding-left: 0;
    padding-top: 20px;
    margin: 20px 0 30px;
    border-left: none;
    border-top: 1px solid #ddd;
}
#single-template .template-box .content .btn-box {
    flex-wrap: wrap;
}
#single-template .template-box .content .btn1,
#single-template .template-box .content .btn {
    width: 85%;
}
}

@media only screen and (max-width: 800px) {
.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;
}
.size-box2 {
    padding: 38px 5% 40px;
}
.size-box2 .included div {
    width: 100%;
}
}

@media only screen and (max-width: 970px) {
#content ul[class^="tab"] li {
    bottom: 1px;
    writing-mode: vertical-lr;
    height: auto;
    padding: 20px 25px;
    text-indent: 0;
}
#content ul[class^="tab"] li a:before {
    margin-bottom: 5px;
}
}

@media only screen and (max-width: 1200px) {
#web-tpl .tpl-slider {
    width: auto;
    height: auto;
    margin-bottom: 120px;
    background: none;
}
#web-tpl .tpl-slider .box {
    width: 100%;
    height: 600px;
    border: 1px solid #ddd;
}
}

@media only screen and (max-width: 1250px) {
#single-template .template-box .images {
    width: 100%;
}
.print-price .w6.copy .case {
    padding: 5px 20px;
}
.print-price .w6.copy .case .icon {
    display: block;
    width: 95px;
}
}

@media only screen and (max-width: 1000px) {
.tpl-point {
    text-align: left;
    line-height: 1.5;
    padding: 20px 20px 20px 110px;
}
}

@media only screen and (max-width: 1300px) {
.tpl-point {
    width: 100%;
}
.tpl-point:before {
    left: 15px;
}
}

@media only screen and (max-width: 1500px) {
.sidebar .size-medium {
	max-width: 50%;
}
}

@media screen and (min-width: 500px) and (max-width: 600px) {
#web-tpl .function-box .flex-box,
#web-tpl .function-box .flex-box:last-child {
    width: 48%;
}
}

@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%;
}
.support-list .w8 {
    width: 65.3333333333%;
    max-width: 65.3333333333%;
}
.support-list .w4 {
    width: 30.6666666667%;
    max-width: 30.6666666667%;
}
}

@media screen and (min-width: 601px) and (max-width: 1024px) {
.post-archive .image-orver {
    width: 250px;
}
}

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

@media screen and (min-width: 768px) and (max-width: 1023px) {
.original-design .column div {
    padding: 50px 5% 200px;
}
.original-design .column img {
    width: 250px;
}
}

@media screen and (min-width: 768px) and (max-width: 1430px) {
#toppage #price {
    width: 80%;
    padding: 80px 5% 32%;
}
#toppage #price img {
    right: -5%;
    width: 60%;
}
}

@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%;
}
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
.tpl-list {
    grid-template-columns: 1fr 1fr;
    gap: 30px 3%;
}
}

@media screen and (min-width: 701px) and (max-width: 879px) {
#toppage h2.top-title span {
    right: 3%;
}
#toppage h2.top-title span:first-child {
    left: 3%;
}
}

@media screen and (min-width: 880px) and (max-width: 1000px) {
#toppage h2.top-title span {
    right: 10%;
}
#toppage h2.top-title span:first-child {
    left: 10%;
}
}