@charset "UTF-8";

/*
	Theme Name: teiemujapan
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yuji+Boku&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kurenaido&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');

/*
黒　1b1b19
オレンジ　e85c0d

*/

html{height: 100%;scroll-behavior: smooth;}

body,div,class,img,p,form,fieldset,input,textarea,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td {margin: 0;padding: 0;vertical-align: baseline;vertical-align: bottom;}

body {
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #1b1b19;
	font-size: 16px;
	margin: 0 auto;
	-webkit-text-size-adjust: 100%;
	width: 100%;
	background-color: #ffffff;
	text-align: left;
	line-height: normal;
	letter-spacing: normal;
}
body p {
    line-height: 1.8em;
}
article, aside, figure, figcaption, footer, header, nav, section {display: block;}

body img {max-width: 100%;height: auto;border: none;}

/*イメージフェード*/
.fade {-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;}
.fade:hover {opacity: 0.6;filter: alpha(opacity=60);}

a {color: #1f7daf;text-decoration: underline;}a:visited {color: #1f7daf;text-decoration: none;}a:active {color: #1f7daf;text-decoration: none;}a:hover {color: #1f7daf;text-decoration: none;}


/*ヘッダー*/
header {
	width: 100%;
	z-index: 10;
    height: 65px;
	/*background-color: #fff;*/
    background-color: rgb(255 2550 255 / 80%);
    z-index: 100;
	position: fixed !important;
	top: 0;
	left: 0;
    border-bottom: 1px solid #ccc;
}
@media print, screen and (max-width : 900px){
    header {
        height: 50px;
    }
}
.header_inner {
	/*margin: auto;*/
	/*max-width: 1600px;*/
    width: 100%;
	padding: 0px 0px 0px 10px;
	-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}

.logo {
	float: left;
    margin-top: 8px;
    width: auto;
    height: auto;
    /*text-indent: -9999px;
    background: url(./images/logo.svg) no-repeat left top/cover;*/
}
@media print, screen and (max-width : 900px){
    .logo {
        margin-top: 0px;
        width: 220px;
    }
}


header .btn_contact {
    width: 130px;
    height: 65px;
    padding: 0 6px 0 0;
    margin: 0;
    text-align: center;
    line-height: 4.2em;
    font-size: 15px;
    background: url(./images/btn_contact.svg) no-repeat right 10px center, #e85c0d;
    color: #fff;
    font-weight: 400;
    float: right;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
header .btn_contact:hover {
    opacity: 0.6;filter: alpha(opacity=60);
}
@media print, screen and (min-width : 901px){
    header .btn_contact {
        margin: 0 0 0 15px;
    }
}
@media print, screen and (max-width : 900px){
    header .btn_contact {
        width: 49px;
        height: 48px;
        margin-top: 1px;
        margin-right: 54px;
        text-indent: -9999px;
        border-radius: 4px;-webkit-border-radius: 4px;-moz-border-radius: 4px;
        background: url(./images/icon_mail.svg) no-repeat center center, #e85c0d;
    }
}
@media print, screen and (max-width : 355px){
    header .btn_contact {
        display: none;
    }
}

header .tel {
    width: 316px;
    float: right;
    margin-top: 6px;
    margin-right: 22px;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0.025em;
}
header .tel {
    color: #156623;
}
header .tel .tel_top {
    font-size: 24px;
    color: #156623;
}
header .tel {
    width: 49px;
    height: 48px;
    margin-top: 1px;
    margin-right: 1px;
    text-indent: -9999px;
    border-radius: 4px;-webkit-border-radius: 4px;-moz-border-radius: 4px;
    background: url(./images/icon_tel.svg) no-repeat center center/20px auto;
    background-color: #156623;
}
@media print, screen and (min-width : 901px){
    header .tel {
        display: none;
    }
}
@media print, screen and (max-width : 410px){
    header .tel {
        display: none;
    }
}


.h2_t {
    font-size: 36px;
    line-height: 1.6em;
    color: #222;
    font-weight: 500;
    letter-spacing: 0.03em;
    text-align: center;
}
@media only screen and (max-width: 960px) {
    .h2_t {font-size: 28px;}
}
@media only screen and (max-width: 640px) {
    .h2_t {font-size: 22px;}
}
.h2_t span {
    font-size: 16px;
    line-height: 1.0em;
    color: #7dc3d1;
}

.h3_t {
    text-align: center;
    font-size: 28px;
    line-height: 1em;
    color: #222;
    font-weight: 400;
    letter-spacing: 0.03em;
}
@media only screen and (max-width: 640px) {
    .h3_t {font-size: 20px;}
}
.h3_t span {
    color: #cdcdcd;
    font-size: 12px;
}

.h4_t {
    text-align: center;
    font-size: 26px;
    line-height: 1em;
    color: #222;
    font-weight: 500;
    letter-spacing: 0.03em;
}
@media only screen and (max-width: 640px) {
    .h4_t {font-size: 20px;}
}
.h4_t span {
    color: #cdcdcd;
    font-size: 12px;
}

.h5_t {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.6em;
}
@media only screen and (max-width: 640px) {
    .h5_t {font-size: 18px;}
}

@media only screen and (max-width: 640px) {.pc {display: none;}}
@media only screen and (min-width: 641px) {.sp {display: none;}}


/*リスト三角矢印*/
.list_yajirushi {
	width: 100%;
    display: flex;
	flex-wrap: wrap;
    list-style: none;
}
.list_yajirushi li {
    width: 100%;
    padding-left: 18px;
    padding-bottom: 8px;
    line-height: 1.8em;
    background: url(./images/list_yajirushi.svg) no-repeat left top 8px;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}

/*リスト丸*/
.list_maru {
	width: 100%;
    display: flex;
	flex-wrap: wrap;
    list-style: none;
}
.list_maru li {
    width: 100%;
    padding-left: 20px;
    padding-bottom: 8px;
    line-height: 1.8em;
    background: url(./images/list_maru.svg) no-repeat left top 8px;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}




/*ページ下部お問い合わせ*/
.info {
	width: 100%;
    margin: 80px 0 0 0;
    display: flex;
	flex-wrap: wrap;
    list-style: none;
    border-left: 1px solid #173350;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
@media only screen and (max-width: 640px) {
    .info {
        margin: 40px 0 0 0;
    }
}
.info li {
    width: 50%;
    text-align: center;
    color: #fff;
}
@media only screen and (max-width: 719px) {
    .info li {
        width: 100%;
    }
}
.info li a {
    color: #fff;
    text-decoration: none;
}



@media only screen and (min-width: 1921px) {
    .info li.info_right {
        background: url(./images/info_r_back_w.png) no-repeat left top;
        background-size: 100% auto;
    }
    .info li.info_left {
        background: url(./images/info_l_back_w.png) no-repeat left top;
        background-size: 100% auto;
    }
}

@media only screen and (min-width: 720px) and (max-width: 1920px) {
    .info li.info_left {
        background: url(./images/info_l_back.png) no-repeat right top;
    }
    .info li.info_right {
        background: url(./images/info_r_back.png) no-repeat left top;
    }
}
@media only screen and (min-width: 421px) and (max-width: 719px) {
    .info li.info_left {
        background: url(./images/info_l_back_s.png) no-repeat right top;
    }
    .info li.info_right {
        background: url(./images/info_r_back_s.png) no-repeat left top;
    }
}
@media only screen and (max-width: 420px) {
    .info li.info_left {
        background: url(./images/info_l_back_ss.png) no-repeat right top;
    }
    .info li.info_right {
        background: url(./images/info_r_back_ss.png) no-repeat left top;
    }
}





.info_left_box {
    width: 100%;
    float: right;
    padding: 118px 15px;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
.info_right_box {
   width: 100%;
    float: left;
    padding: 121px 15px 0px 15px;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
@media only screen and (max-width: 879px) {
    .info_left_box {
        padding: 118px 15px;
    }
    .info_right_box {
        padding: 113px 15px 0px 15px;
    }
}
@media only screen and (max-width: 719px) {
    .info_left_box, .info_right_box {padding: 40px 15px 50px 15px}
}

.box_tel {
    max-width: 400px;
    margin: auto;
    background: rgba(0, 0, 0, 0.6);
    padding: 24px;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
.box_tel .yoyaku {
    font-size: 22px;
    letter-spacing: 0.15em;
}
.box_tel .uketuke {
    letter-spacing: 0.15em;
}
@media only screen and (max-width: 400px) {
    .box_tel .uketuke {
        letter-spacing: normal;
    }
}
.box_tel .tel {
    font-size: 42px;
    padding-left: 30px;
    font-weight: 700;
    line-height: 1.4em;
    background: url(./images/icon_tel_w.svg) no-repeat left 10px top 18px;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
@media only screen and (max-width: 879px) {
    .box_tel .tel {
        width: 250px;
        margin: auto;
        font-size: 30px;
        padding-left: 0px;
        background: url(./images/icon_tel_w.svg) no-repeat left top 10px;
        background-size: 20px auto;
    }
}
@media only screen and (max-width: 384px) {
    .box_tel .tel {
        font-size: 28px;
    }
}

.box_contact {
    max-width: 400px;
    margin: auto;
}

.box_contact .info_contact_t {
    font-size: 34px;
    line-height: 1.6em;
}
@media only screen and (max-width: 640px) {
    .box_contact .info_contact_t {
        font-size: 26px;
    }
}
.box_contact .btn_contact {
    margin: auto;
    margin-top: 24px;
    background-color: none;
    border: 1px solid #fff;
}
.box_contact .btn_contact:hover {
    background-color: #cc0000;
}

.btn_contact {
    width: 250px;
    height: 56px;
    margin-top: 16px;
    text-align: center;
    line-height: 3.2em;
    font-size: 16px;
    padding-left: 24px;
    background: url(./images/icon_mail.svg) no-repeat left 20px center;
    color: #fff;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
.btn_contact:hover {
    opacity: 0.6;filter: alpha(opacity=60);
}




/*フッター*/
footer {
    width: 100%;
    text-align: center;
    border-top: 3px solid #e85c0d;
    padding: 80px 0 0 0;
}
@media only screen and (min-width: 641px) {
    footer {
        background: url(./images/footer_back_img_pc.webp) no-repeat center center/cover;
    }
}
@media only screen and (max-width: 640px) {
    footer {
        background: url(./images/footer_back_img_sp.webp) no-repeat center center/cover;
    }
}




footer .inner {
    background: none;
}
.footer_logo {
    width: 100%;
    text-align: center;
    color: #fff;
}
@media only screen and (min-width: 400px) {.br_footer_logo {display: none;}}
.footer_nav {
	max-width: 600px;
    margin: 50px auto 60px auto;
    list-style: none;
    display: flex;
	flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
    footer {
        padding: 40px 0 0 0;
    }
    .footer_nav {
        margin: 40px auto;
    }
}
.footer_nav li {
    width: -webkit-calc(100% / 5);
    width: calc(100% / 5);
    text-align: center;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
@media all and (-ms-high-contrast: none) {
    .footer_nav li {
        width: 20%;/*IE*/
    }   
}
@media only screen and (max-width: 767px) {
    .footer_nav li {
        font-size: 15px;
    }
}
.footer_nav li a {
    display: block;
    color: #fff;
    font-weight: 400;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
.footer_nav li a:hover {
    color: #ffe200;
    text-decoration: underline;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
.footer_nav li a:visited {color: #fff;text-decoration: none;}
.footer_nav li a:active {color: #fff;text-decoration: none;}

@media only screen and (max-width: 640px) {
    .footer_nav li {
        width: 49%;
        margin-left: 0.5%;
        margin-right: 0.5%;
        margin-bottom: 4px;
        line-height: 3em;
        border: 1px solid #fff;
        border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;
        -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
    }
    .footer_nav li:first-child {
        width: 99%;
    }
    .footer_nav li a {
        color: #333;
        background: #fff;
        text-decoration: none;
        -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
    }
    .footer_nav li a:hover {
        color: #ffe200;
        background: #333;
        text-decoration: none;
    }
    .footer_nav li:hover {
        /*background-color: #156623;*/
        -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
    }
    .footer_nav li a:visited {color: #333;text-decoration: none;}
    .footer_nav li a:active {color: #333;text-decoration: none;}
}

@media only screen and (max-width: 767px) {
	footer {
		padding: 40px 0 0 0;
	}
	.footer_case_study {
		margin: 40px auto;
	}
}
footer .copyright {
    width: 100%;
    height: 39px;
    padding-top: 2px;
    font-size: 12px;
    line-height: 3.0em;
    background: #e85c0d;
}
footer .copyright a {color: #fff;text-decoration: none;}
footer .copyright a:visited {color: #fff;text-decoration: none;}
footer .copyright a:active {color: #fff;text-decoration: none;}
footer .copyright a:hover {color: #fff;text-decoration: none;}



@media only screen and (min-width: 414px) {
    .br_footer {
        display: none;
    }
}

/*ページTOPへ戻る*/
#page-top {
	position: fixed;
	bottom: 0px;
	right: 0px;
	font-size: 90%;
    border: 1px solid #fff;
}
#page-top a {
	background: #333333;
	opacity: 0.6;
	text-decoration: none;
	color: #fff;
	/*width: 50px;*/
	padding: 0px 0;
	text-align: center;
	display: block;
	border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;
	-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
	-webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}

/*電話リンク無効化*/
@media only screen and (min-width: 1010px) {
    .notel {
        pointer-events: none;
    }
}

@media only screen and (min-width: 641px) {
    .sp {display: none;}
}
@media only screen and (max-width: 640px) {
    .pc {display: none;}
}


/*フェードイン ※フッターにJS*/
.fadein {
    opacity: 0; /* 最初は透明 */
    transform: translateY(30px); /* 少し下にずらす */
    transition: all 0.6s ease-out; /* 変化をなめらかに */
}
.fadein.show {
    opacity: 1; /* 表示 */
    transform: translateY(0); /* 元の位置に戻す */
}


/*改行禁止*/
.nowrap {
	white-space: nowrap;
}
/*センター揃え*/
.center {
	text-align: center;
}
/*レフト揃え*/
.left {
	text-align: left;
}
/*ライト揃え*/
.right {
	text-align: right;
}
/*フロートレフト*/
.f_left {
	float: left;
}
/*フロートライト*/
.f_right {
	float: right;
}

/*太字*/
.strong {
	font-weight: 700;
}
/*赤太*/
.style_rb {
	color: #CC0000;
	font-weight: 600;
}
/*赤*/
.style_r {
	color: #CC0000;
}
/*青*/
.style_blu {
	color: #003399;
	font-weight: 200;
}
/*白*/
.style_w {
	color: #ffffff;
}

/*2行目より1字下げ*/
.t-indent-1 {
	padding-left: 1em;
	text-indent: -1em;
}

/*字下げ*/
.text_indent {
	text-indent: -1em;
	padding-left: 1em;
}
.text_indent_left {
	padding-left: 1em;
}
.text_indent_left0 {
	padding-left: 0.4em;
	text-indent: 0em;
}
.text_indent_left1-4 {
	padding-left: 1.4em;
}
.text_indent_left_i {
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.t-indent-8 {
	text-indent: -8px;
}

.justify {
	text-align: justify;
	text-justify: inter-ideograph;
}

/*別ページ(ターゲットブランク)*/
.blank {
    padding-right: 16px;
    background: url(./images/icon_link_blank.png) no-repeat right center;
}

/*打ち消し線*/
.line-through_top {
	color: red;
	text-decoration: line-through;
}
.line-through {
	color: black
}

/*ul 数字*/
.list_decimal {
	width: 100%;
	padding-left: 20px;
	-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
.list_decimal li {
	width: 100%;
	margin-top: 20px;
	list-style-type: decimal;
	-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}

/*ul ●*/
.list_disc {
	width: 100%;
	padding-left: 20px;
	-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
.list_disc li {
	width: 100%;
	margin-top: 10px;
	list-style-type: disc;
	-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}

/*WP標準*/
.aligncenter {
    display: block;
    margin: 0 auto;
}
.alignright {
	float: right;
	margin-left: 14px;
}
.alignleft {
	float: left;
	margin-right: 14px;
}

/*投稿ナビゲーション*/
.nav-links {
	display: none;
}

.none {
	display: none;
}

/*記事内Youtubeレスポンシブ対応*/
article iframe[src*="youtube.com"] {
	width: 100%; /* 任意の横幅を指定 */
	height: auto;
	aspect-ratio: 16/9;
}

/*reCAPTCHA 3表示位置調整
.grecaptcha-badge {
	bottom: 120px !important;
}
*/

/*reCAPTCHA 2
.wpcf7-recaptcha > div {
    margin: 0 auto;
}
@media print, screen and (max-width : 387px) {
    .wpcf7-recaptcha > div {
        transform-origin: 0% 0%;
        transform: scale(0.96);
    }
}
@media print, screen and (max-width : 374px) {
    .wpcf7-recaptcha > div {
        transform-origin: 0% 0%;
        transform: scale(0.845);
    }
}*/

/* 縦方向の中央揃え※これで要素を囲う */
.h-container {
    display: flex;
    align-items: center;
    gap: 2px; /* 要素間の間隔 */
}

/*改行  <span class="br">改行文字</span>*/
.br::before {
    content: "\A" ;
    white-space: pre ;
}

/*タグ*/
.tags {
    margin-top: 20px;
    font-size: 14px;
}

.clearfix {clear: both;}