@charset "UTF-8";
/*
Template: arkhe
Theme Name: Arkhe Child
Theme URI: https://arkhe-theme.com/ja/
Description: Arkhe用子テーマ
Version: 1.0.0
Text Domain: arkhe
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=Smooch&display=swap');


h2{
　-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin: 0 auto;
  font-family: serif;
  position: relative;
  padding: 0 55px;
}
h2:before, h2:after {
  content: '';
    position: absolute;
    display: inline-block;
    width: 200px;
    height: 1px;
    background-color: black;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
}
h2:before {
    top: -150px;
}
h2:after {
    bottom: -150px;
}
.reverse h2:before, .reverse h2:after {
    background-color: #fff;
}
@media screen and (max-width: 1080px) and (min-width: 801px){
    h2:before, h2:after {
    width: 100px;
    }
    h2:before {
    top: -80px;
    }
    h2:after {
        bottom: -80px;
    }
}
@media screen and (max-width: 800px){
    h2:before, h2:after {
    width: 100px;
    transform: translateX(0) rotate(90deg);
    }
    h2:before {
    top: 50%;
    left: 0;
    }
    h2:after {
    bottom: 50%;
    right: 0;
    }
}
h3{
    font-family: serif;
}
h3 strong{
    font-weight: normal;
    font-size: 3rem;
}
.c-postContent h5{
    font-size: 1.75rem;
}
h5{
  font-family: serif;
  padding: 0 55px;
  position: relative;
}
h5:before, h5:after {
  content: '';
    position: absolute;
    display: inline-block;
    width: 200px;
    height: 1px;
    background-color: black;
    top: 50%;
}

h5:before {
    left: 0%;
}
h5:after {
    right: 0%;
}
@media screen and (max-width: 1080px) and (min-width: 801px){
    h5:before, h5:after {  
    width: 100px;
    }
}
@media screen and (max-width: 800px){
    h5.has-text-align-center.h5_mailform {
    padding: 10px 0;
    }
    h5::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    }
    h5:after {
    right: 0;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    }
}

.wp-block-spacer {
    margin-top: 0;
}

.reverse{
    flex-direction: row-reverse;
}

.w_960{
    width: 960px;
    margin: 0 auto;
}
@media screen and (max-width: 1080px) and (min-width: 801px){
    .w_960 {
    width: 90%;
    }
}
@media screen and (max-width: 800px){
    .w_960{
    width: 98%;
    }
}
@media screen and (max-width: 520px){
    .sp_w_90{
    width: 90%;
    margin: 0 auto;
    }    
}

.en_right,.en_left {
    position: relative;
}
.en_smooch{
 font-family: 'Smooch', cursive, serif;
 font-size: 5em !important;
 position: absolute;
 line-height: 1;
}
.en_right_right {
    right: 5rem;
    bottom: 0;
}
.en_left_left {
    left: 5rem;
    bottom: 0;
}
@media screen and (max-width: 520px){
    .en_smooch{
    font-size: 3em !important;
    }
    .en_right_right,.en_left_left {
    left: 0;
    right: 0;
    text-align: center;
    }
}

.c-postContent table {
    border-right: none;
}
.c-postContent td, .c-postContent th {
    border-left: none;
}

.en_smooch.en_mailform{
 position: relative;
}
@media screen and (max-width: 1080px) and (min-width: 801px){
    .contnaier_company .wp-block-columns.reverse {
        flex-wrap: wrap !important;
    }
    .contnaier_company .wp-block-columns.reverse>.wp-block-column:nth-child(3){
    flex-basis: 100% !important;
    }
    img.wp-image-95.ls-is-cached.lazyloaded.luminous {
    max-height: 450px !important;
    width: auto;
    float: right;
    }
}

.wp-block-cover.alignfull.is-light.content_main.dot01 {
    height: 550px;
}
/*
.works_list__thumbnail img {
    display: block;
    height: 230px;
    width: 100%;
    object-fit: cover;
    overflow: hidden;
}*/
.works_list__thumbnail img {
    width: 100%;
}
.works_list .ark-block-column.ark-keep-mt--s p {
    margin-top: 0;
}
/*
@media screen and (max-width: 520px){
    .works_list__thumbnail img {
    height: 150px;
    }
}
*/

.contnaier_company table {
    margin-left: 1.5rem;
    width: 90%;
}

@media screen and (max-width: 800px){
    .contnaier_company table{
        width: 95%;
        margin: 0 auto;
    }
    .contnaier_company table td {
    display: block;
    }
    .contnaier_company table td:nth-child(odd) {
    border-bottom: none;
    padding-bottom: 0;
    }
}

@media screen and (max-width: 520px){
    .contnaier_works .ark-block-boxLink.arkb-boxLink.-vertical {
    margin-right: var(--arkb-gap--x);
    }
}


.l-header {
    background: #edede8;
}
.l-footer {
    background-color: #313131;
    color: #fff;
    position: relative;
    z-index: 0;
}
.cont_footer_twitter {
    height: 250px;
    overflow: hidden;
}
.cont_footer>div {
    width: 960px;
    margin: 0 auto;
    align-items: center !important;
}
@media screen and (max-width: 960px){
    .cont_footer>div {
    width: auto;
    margin: 0 auto;
    }
}

body {
    background-image: url(/wp-content/uploads/2022/10/bg_fude01.png),url(/wp-content/uploads/2022/10/bg_fude02.png);
    background-position: top right,bottom left;
    background-repeat: repeat-y;
}
.dot01{
    position: relative;
}
.dot01::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}


/* Contact Form7 */

.contact7 {
	max-width: 100%;
	box-sizing: border-box;
}
.contact7 dd {
	margin: 0 0 30px 0;
}	
.contact7 dt {
	font-weight: normal;
}

/* 必須マーク */
.contact7 .must {
	background: #25549c;
}

/* 任意マーク */
.contact7 .optional {
	background: #999;
}

.contact7 .must,
.contact7 .optional {
	color: #FFF;
	border-radius: 3px;
	font-size: 10px;
	margin-left: 10px;
	padding: 5px 10px;
	letter-spacing: 2px;
}

.btn_contact7 input {
	width: 50%;
	background-color: #ccc;
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.2em;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;	
    display: block;
    margin: 0 auto;
}
.btn_contact7 input:hover {
	background-color: #FFF; 
}
@media screen and (min-width: 768px) {
.contact7 dt {
	float: left;
	clear: left;
	width: 35%;
	padding: 5px 10px 5px 0;
	}
.contact7 dd {
	margin-left: 35%;
	}

.btn_contact7 input {
	max-width: 250px;
	background-color: #ccc;
	font-size: 1.1em;
	letter-spacing: 0.2em;
	border: 1px solid #ccc;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;	
}
.btn_contact7 input:hover {
	background-color: #25549c;
	color: #fff; 
}
}
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required, input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel, textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required {
    width: 100%;
}
.wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 0;
    border: none;
    text-align: center;
}

figure.wp-block-embed.is-type-rich.is-provider-twitter.wp-block-embed-twitter {
    overflow: hidden;
}

/*プライバシーポリシー*/
.pp_scroll {
    height: 300px;
    overflow-y: scroll;
    background: #fff;
}
h6 {
    border-bottom: solid 1px #333;
    padding-bottom: 10px;
}
