@charset "utf-8";
/* CSS Document */

/*
Theme Name: T&R Support サポート総合サイト LP
Theme URI: https://tandr.biz/
Description: T&R Support サポート総合サイトの保LPベーステーマ
Version: 1.0
Author: T&R
Author URI: https://www.tandr.co.jp/
*/
/* --------------------------------------- Reset ---------------------------------------- */
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,legend,input,textarea,p,strong,blockquote,label,legend,table,th,td {
    margin: 0;
    padding: 0;
    border: 0;
    -webkit-box-shadow: 0px 0px 0px #A4A4A4;
    box-shadow: 0px 0px 0px #A4A4A4;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
    border: 0;
    vertical-align: bottom;
}
*{
	box-sizing: border-box;
}
html,body {
	width: 100%;
	height: 100%;
}
html {
	font-size: 62.5%;
}
body {
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
/* common */
.mt24 {
    margin-top: 24px !important;
}
.mt48 {
    margin-top: 48px !important;
}
.mt72 {
    margin-top: 72px !important;
}
.mb24 {
    margin-bottom: 24px !important;
}
.mb32 {
    margin-bottom: 32px !important;
}
.mb32 {
    margin-bottom: 40px !important;
}
.mb48 {
    margin-bottom: 48px !important;
}
.mb72 {
    margin-bottom: 72px !important;
}
.mb88 {
    margin-bottom: 88px !important;
}
.pd10 {
    padding: 1rem;
}
.pd20 {
    padding: 2rem;
}
.pd30 {
    padding: 2rem;
}
.center {
    text-align: center;
}
.left {
    text-align: left !important;
}
.red {
    color: #D50481 !important;
    font-weight: bold !important;
}
.grecaptcha-badge { visibility: hidden; }

/* Header */
.header_block {
    width: 100%;
    height: 80px;
/*    margin-bottom: 16px;*/
    display: flex;
    z-index: 999;
    background-color: #FFFFFF;
/*    -webkit-box-shadow: 10px 0px 10px #B0BEC5;
    box-shadow: 10px 0px 10px #B0BEC5;*/
}
/**/
.header_block .logo {
    flex-grow: 1;
}
.header_block .logo a {
    width: 140px;
    height: 0px;
    padding-top: 80px;
    overflow-y: hidden;
    display: block;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/logo_pc.png);
    background-repeat: no-repeat;
    background-position: left center;
}
@media screen and (max-width: 768px) {
    .header_block .logo a {
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/logo_sp.png);
    background-size: auto 60px;
}
}
/**/
.header_block .form {
    padding-left: 1rem;
    padding-right: 1rem;
}
.header_block .form a {
    height: 44px;
    margin-top: 18px;
    padding:  0rem 0.8rem 0rem 0.8rem;
    line-height: 4.4rem;
    /*align-items: center;*/
    display: block;
    color: #FFFFFF;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 22px;
    background-color: #8BC34A;
    box-shadow: 3px 3px 8px #E0E0E0;
}
@media screen and (max-width: 768px) {
.header_block .form a {
    width: 54px;
    height: 0px;
    margin-top: 14px;
    padding: 5.4rem 0rem 0rem 0rem;
    display: block;
    overflow: hidden;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
    text-decoration: none;
    background-color: #8BC34A;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/header_mail_icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 54px 54px;
    border-radius: 0px;
    box-shadow: none;
}
}
/**/
.header_block .tel a {
    align-items: center;
    font-size: 2.2rem;
    font-weight: bold;
    display: block;
    color: #D81B60;
    text-decoration: none;
}
.header_block .header-tel-info {
    margin-top: 18px;
    padding: 0.2rem 1.2rem 0.2rem 1.2rem;
    display: inline-block;
    font-size: 1rem;
    color: #FFFFFF;
    border-radius: 3px;
    background-color: #D81B60;
}
@media screen and (max-width: 768px) {
.header_block .tel a {
    width: 54px;
    height: 0px;
    margin-top: 14px;
    padding: 5.4rem 0rem 0rem 0rem;
    display: block;
    overflow: hidden;
    font-size: 1.2rem;
    font-weight: bold;
    color: #FFFFFF;
    text-decoration: none;
    align-items: center;
    background-color: #D81B60;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/header_tel_icon.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 54px 54px;
}
.header_block .header-tel-info {
	display: none;
    margin-top: 0px;
    padding: 0rem;
}
}

/*--------------------------- Gnav --------------------------- */

@media print, screen  and (min-width: 768px) {
/* 以下、共通部分 */

#menu-gnav_2024 {
	width: 100%;
	min-width: 1280px;
	height: 50px;
	margin: 0px auto 16px auto;
	display: table;
	table-layout: fixed;
    list-style: none;
	background-color: #32598A;
	position: relative;
	z-index: 9999;
}
.submenu {
}
#menu-gnav_2024 > li {
	display: table-cell;
	vertical-align: middle;
    text-align: center;
	border-right: 1px solid #FFFFFF;
}
#menu-gnav_2024 > li:last-child {
	border-right: 1px solid #32598A;
}

#menu-gnav_2024 > li >a {
	height: 40px;
    display: block;
    color: #FFFFFF;
	font-size:1.3rem; 
	line-height: 40px;
    text-decoration: none;
}

#menu-gnav_2024 .sub-menu > li {
	width: 100%;
	vertical-align: middle;
	text-align: left;
	background-color: #FAFAFA;
	border-bottom: 1px solid #CFD8DC;
	list-style: none;
}
#menu-gnav_2024 .sub-menu > li li {
}
#menu-gnav_2024 .sub-menu > li a {
	display: block;
	padding: 0.5rem;
	font-size: 1.4rem;
	line-height: 40px;
	color: #32598A;
	text-decoration: none;
}
#menu-gnav_2024 .sub-menu > li li a {
	background-color: aqua;
}
#menu-gnav_2024 .sub-menu > li a:hover {
	color: #FFFFFF;
	background-color: #4E80BF;
}

/* 以下、ドロップダウン */

#menu-gnav_2024 li.menu-item-has-children {
    position: relative;
}

#menu-gnav_2024 li.menu-item-has-children ul {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    width: 100%;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}
#menu-gnav_2024 li.menu-item-has-children ul ul{
    border: 4px solid #000000;
}

#menu-gnav_2024 li.menu-item-has-children:hover ul {
    visibility: visible;
    opacity: 1;
    top: 50px;
}

/* 下矢印 */
/*#menu-gnav_2024 li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}*/

/* 以下、リンク色 */

#menu-gnav_2024 .menu li a {
    background: rgb(26, 30, 36);
}

#menu-gnav_2024 .menu li a:hover {
    background: rgb(242, 105, 100);
}

#menu-gnav_2024 .menu li ul li a {
    background: rgb(242, 105, 100);
}

#menu-gnav_2024 .menu li ul li a:hover {
    color: #999;
    background: #ffff00;
}

#menu-gnav_2024 .menu li:hover > a {
    background: rgb(242, 105, 100);
}
}

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

@media screen and (max-width: 768px) {
.spheadmenu{
    width: 100%;
    background-color: #32598A;
	margin-bottom: 24px;
    padding-top: 15px;
    padding-right: 10px;
    padding-bottom: 15px;
    padding-left: 10px;
    border-bottom: 1px solid #BFBFBF;
    /*-webkit-box-shadow: 2px 1px 1px #CACACA;*/
    /*box-shadow: 2px 1px 1px #CACACA;*/
/*	position: fixed;
    z-index: 10;*/
}
    
    .spmenu{
    float: left;
}
    
    #nav-drawer {
    position: relative;
    float: right; 
}

/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}

/*アイコンのスペース*/
#nav-open {
	display: inline-block;
	width: 100%;
	height: 22px;
	vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
	position: absolute;
	height: 3px;/*線の太さ*/
	width: 25px;/*長さ*/
	border-radius: 3px;
	background: #FFFFFF;
	display: block;
	content: '';
	cursor: pointer;
}
#nav-open span:before {
	bottom: -8px;
}
#nav-open span:after {
	bottom: -16px;
}
.nav_title {
	padding: 0rem 0rem 0rem 0rem;
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 22px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
	display: none;/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;/*最前面に*/
	width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 330px;/*最大幅（調整してください）*/
	height: 100%;
	background: #fff;/*背景色*/
	transition: .3s ease-in-out;/*滑らかに表示*/
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);/*左に隠しておく*/
}

#nav-content > ul > li > a{
	width: 100%;
	padding: 0.5rem;
	display: block;
	color: #FFFFFF;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 2;
	background-color: #32598A;
}
#nav-content .sub-menu li a{
	width: 100%;
	padding: 0.5rem;
	display: block;
	color: #32598A;
	font-size: 1.6rem;
	line-height: 2;
	background-color: #FAFAFA;
	text-decoration: none;
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
	display: block;/*カバーを表示*/
	opacity: .5;
}

#nav-input:checked ~ #nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);/*中身を表示（右へスライド）*/
	box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
}



/* Footer */
footer {
    width: 100%;
    margin-top: 36px;
    background-color: #6c96ca;
    border-top: 3px solid #99B6DA;
    clear: both;
}
.footer-info {
    max-width: 980px;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
	flex-wrap: wrap;
    align-items: flex-start;
    font-size: 1.4rem;
    color: #FFFFFF;
}
.footer-info dt {
    margin-top: 1.6rem;
}
.footer-info dt:first-child {
    margin-top: 0rem;
}
.footer-info dd {
    margin-bottom: 0.8rem;
    padding-left: 1rem;
}
.corp-info {
	width: 50%;
    padding: 0.8rem 1.6rem 0.8rem 1.6rem;
    font-size: 1.4rem;
}
.isms-logo {
    text-align: center;
}
.isms {
	width: 50%;
    padding: 0.8rem 1.6rem 0.8rem 1.6rem;
    font-size: 1.4rem;
}
.copyright {
    width: 100%;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    text-align: center;
    font-size: 1.2rem;
    color: #FFFFFF;
    background-color: #32598A;
}
@media screen and (max-width: 768px) {
.footer-info {
    display: block;
}
.corp-info {
	width: 100%;
    font-size: 1.2rem;
}
.isms {
	width: 100%;
    font-size: 1rem;
}
}

/* Contect Link */
.contact-block {
    width: 980px;
    margin-top: 96px;
    margin-bottom: 72px;
    margin-left: auto;
    margin-right: auto;
    border: 4px solid #32598A;
    background-color: #32598A;
    border-radius: 6px;
    /*background-image: linear-gradient(135deg,rgba(39,70,108,1.00) 0%,rgba(50,89,138,1.00) 100%);*/
    box-shadow: 2px 2px 6px #BDBDBD;
    position: relative;
}
.contact-block::before {
    display: inline-block;
    width: 113px;
    height: 97px;
    content: '';
    position: absolute;
    top: -40px;
    left: 0px;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/emblem.png);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 768px) {
.contact-block {
    width: 100%;
	padding-left: 0.8rem;
	padding-bottom: 0.1rem;
	padding-right: 0.8rem;
	border: none;
	border-radius: 0px;
}
.contact-block::before {
    display: inline-block;
    width: 113px;
    height: 97px;
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/emblem.png);
    background-repeat: no-repeat;
    background-size: contain;
}
}
/* ADD 22/7/7 Short */
.contact-block-short {
    width: 100%;
    margin-top: 36px;
    margin-left: auto;
    margin-right: auto;
    border: 4px solid #32598A;
    background-color: #32598A;
    border-radius: 6px;
    /*background-image: linear-gradient(135deg,rgba(39,70,108,1.00) 0%,rgba(50,89,138,1.00) 100%);*/
    /*box-shadow: 2px 2px 6px #BDBDBD;*/
    position: relative;
}
.contact-block-short::before {
    display: inline-block;
    width: 169px;
    height: 145px;
    content: '';
    position: absolute;
    top: -40px;
    left: 0px;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/emblem.png);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 768px) {
.contact-block-short {
    width: 100%;
	padding-left: 0.8rem;
	padding-bottom: 0.1rem;
	padding-right: 0.8rem;
	border: none;
	border-radius: 0px;
}
.contact-block-short::before {
    display: inline-block;
    width: 113px;
    height: 97px;
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/emblem.png);
    background-repeat: no-repeat;
    background-size: contain;
}
}
/* END */
.cb-msg {
    width: 100%;
    padding: 1.8rem 1.8rem 1.8rem 12rem;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
}
@media screen and (max-width: 768px) {
.cb-msg {
    font-size: 1.6rem;
}
}
.contact-link {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
.contact-link {
    display: block;
}
}
.contact-link .tel{
    width: 50%;
    padding: 0.8rem;
    background-color: #D81B60;
    border: 2px solid #FFFFFF;
    border-radius: 0px 0px 0px 6px;
    background-image: linear-gradient(180deg,rgba(216,27,96,1.00) 0%,rgba(171,21,75,1.00) 100%);
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/tel_icon.png);
    background-repeat: no-repeat;
    background-position: left center;
}
.contact-link .form {
	width: 50%;
	padding: 0.8rem;
	background-color: #8BC34A;
	border: 2px solid #FFFFFF;
	border-radius: 0px 0px 6px 0px;
	background-image: linear-gradient(180deg,rgba(139,195,74,1.00) 0%,rgba(110,161,52,1.00) 100%);
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/lp_common/mail_icon.png);
    background-repeat: no-repeat;
    background-position: right center;
}
.contact-link .tel a{
    display: block;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
    text-decoration: none;
}
.contact-link .form a{
    display: block;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
    text-decoration: none;
}
@media screen and (max-width: 768px) {
.contact-link .tel{
    width: 100%;
    margin-bottom: 8px;
    padding: 0.8rem;
    background-color: #D81B60;
    border: 1px solid #FFFFFF;
    border-radius: 3px;
    background-size: 64px 64px;
}
.contact-link .form {
    width: 100%;
	margin-bottom: 8px;
    padding: 0.4rem;
    background-color: #8BC34A;
    border: 1px solid #FFFFFF;
    border-radius: 3px;
    background-size: 64px 64px;
}
.contact-link .tel a{
    display: block;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
}
.contact-link .form a{
    display: block;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
}
}
/* FORM */
.form-block {
    width: 100%;
    max-width: 1080px;
    margin-top: 36px;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem;
}
@media screen and (max-width: 768px) {
.form-block {
    min-width: 350px;
}
}
.form-block .form_header {
    width: 100%;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
    padding: 1rem;
    font-size: 2rem;
    color: #FFFFFF;
    text-align: center;
    border-bottom: 6px double #FFFFFF;
    background-color: #8BC34A;
}
.form-area {
    width: 100%;
	max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
    font-size: 1.6rem;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #65128F;/* Red */
    font-size: 1.6rem !important;
}
.wpcf7-not-valid-tip{
   color: #dc3232;
   font-size: 1.6rem !important;
}
.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
    font-size: 1.6rem;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
    font-size: 1.6rem;
}
.form-area .form_title {
    color: #388E3C;
}
.form-area .text_input{
    width: 100%;
    padding: 0.8rem;
}
span.wpcf7-list-item {
display: block;
font-weight: normal;
}
/*.form-block table {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.form-block th,.form-block td {
    width: 100%;
    margin-bottom: 16px;
    padding: 0.8rem;
    display: block;
}
.form-block th {
    border-bottom: 1px dotted#8BC34A;
}*/
.form-block  h2 {
    width: 100%;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
    padding: 1rem;
    font-size: 2rem;
    color: #FFFFFF;
    text-align: center;
    border-bottom: 6px double #FFFFFF;
    background-color: #8BC34A;
}
.form-block label {
    width: 100%;
    color: #455A64;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.8;
}
.form-block input,.form-block textarea {
    /*width: 100%;*/
    margin-bottom: 12px;
    font-size: 1.6rem;
    line-height: 1.8;
    border: 2px solid #455A64;
}
.form-block select {
    margin-left: 8px;
    margin-bottom: 12px;
    padding: 0.8rem;
    font-size: 1.6rem;
    line-height: 1.8;
    border: 2px solid #455A64;
}
.form-block .text-width {
    width: 100%;
}
.privacy-policy {
    width: 100%;
    height: 320px;
    margin: 24px 0px 6px 0px;;
    padding: 1.4rem;
    border: 1px solid #78909C;
    overflow-y: scroll;
    font-size: 1.4rem;
    line-height: 1.8;
}
.privacy-policy ul,.privacy-policy ol{
    margin-left: 1.6rem;
}
.agree {
    width: auto;
    margin-bottom: 24px;
    padding: 0.8rem;
    font-size: 2rem;
    text-align: center;
    border: 4px solid #D81B60;
    border-radius: 3px;
}
.agree input {
    width: auto;
}
input[type="submit"]{
    width: auto;
	min-width: 160px;
	padding: 0.8rem 3.2rem 0.8rem 3.2rem;
    margin: 0px auto 0px auto;
	display: block;
    font-size: 2rem;
    color: #FFFFFF;
    border: none;
    background-color: #8BC34A;
    border-radius: 3px;
    box-shadow: 3px 3px 8px #E0E0E0;
    -webkit-appearance: none;
}
.required {
    color: #D81B60;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
.required {
    font-size: 1.4rem;
}
}
.thanks {
    width: 700px;
    margin: 48px auto 48px auto;
    padding: 1.6rem;
    border: 3px double #388E3C;
} 
.message a  {
    color: #2196F3;
    text-decoration: none;
} 
.message {
    color: #455A64;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 2;
    text-align: center;
} 

/* Slick */
.slider_block {
    width: 1080px;
    margin-bottom: 96px;
    margin-left: auto;
    margin-right: auto;
}
.slider {
    width: 810px;
    height: 456px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 6px;
    box-shadow: 2px 2px 5px #D4D4D4;
}
.slider .img {
    width: 810px;
    object-fit: cover;
    border-radius: 6px;
}
@media screen and (max-width: 768px) {
.slider_block {
    width: 350px;
    margin-bottom: 96px;
    margin-left: auto;
    margin-right: auto;
}
.slider {
    width: 350px;
    height: 196px;
}
.slider .img {
    width: 350px;
}
.slider img {
    width: 100%;
    height: auto;
}
.slick-prev
{
    left: 10px !important;
}
.slick-next
{
    right: 10px !important;
}
}

/* HOME_NEW 2026/06/12 */

/* FV */

.home-fv-block {
    width: 100%;
    padding: 0;
}
.home-fv-block .fv {
    max-width: 1280px;
    margin: 0 auto 0 auto;
    padding: 48px 0 64px 0;
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/home_new/home_mainte_fv_img.webp);
    background-repeat: no-repeat;
    background-position: right bottom;
}
.home-fv-block .fv h1 {
    color: #FBC02D;
    font-size: 3.2rem;
    line-height: 1.5;
}
.home-fv-block .fv h1>span {
    color: #4C7CA1;
    font-size: 7.2rem;
    font-weight: bold;
}
.home-fv-block .fv ul {
    margin-bottom: 24px;
    display: flex;
    gap: 16px;
    list-style: none;
}
.home-fv-block .fv li {
    width: 240px;
    height: 148px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    list-style: none;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: bold;
    background-color: #24ADEB;
    border-radius: 6px;
}
.home-fv-block .fv li>span {
    font-size: 4.8rem;
}
.home-fv-block .fv .doc {
    width: 752px;
    text-align: center;
    color: #4C7CA1;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.8;
}

.home-mainte {
    width: 100%;
    padding: 64px 0 64px 0;
}
.home-mainte-blue {
    width: 100%;
    padding: 48px 0 0px 0;
    background-color: #24ADEB;
    padding-bottom: 64px; /* ▼の深さ分を上乗せ */
    clip-path: polygon(
        0 0,
        100% 0,
        100% calc(100% - 80px),
        50% 100%,
        0 calc(100% - 80px)
    );
}
.fv-worries {
    max-width: 1280px;
    margin: 0 auto 0 auto;
}
.fv-worries .doc {
    width: 100%;
    padding: 36px 0 36px 0;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}
.fv-worries .selling-point {
    width: 100%;
    padding: 48px 0 36px 0;
    text-align: center;
    color: #FFFFFF;
    font-size: 4rem;
    font-weight: bold;
    line-height: 1.5;
}
.worries dl {
    display: flex;
    gap: 16px; 
}
.worries dl {
    display: flex;
    gap: 16px; 
}
.worries dl .col {
    width: calc((100% - 32px) / 3);
    background-color: #FFFFFF;
    border-radius: 6px;
}
.worries dl dt {
    min-height: 164px;
    padding-top: 118px;
    text-align: center;
    color: #4C7CA1;
    font-size: 2.4rem;
    font-weight: bold;
    border-radius: 6px 6px 0px 0px;
}
.worries .no1  {
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/home_new/worries_img_01.webp);
    background-repeat: no-repeat;
    background-position: center top;
}
.worries .no2  {
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/home_new/worries_img_02.webp);
    background-repeat: no-repeat;
    background-position: center top;
}
.worries .no3  {
    background-image: url(https://tandr.biz/wptandr/wp-content/themes/tandr/images/home_new/worries_img_03.webp);
    background-repeat: no-repeat;
    background-position: center top;
}
.worries dl dd {
    margin-bottom: 16px;
    text-align: center;
    color: #575757;
    font-size: 1.6rem;
    font-weight: bold;
}

/* sec1 */

.home-mainte .sec1 h2 {
    text-align: center;
    color: #4C7CA1;
    font-size: 7.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .sec1 .subtitle {
    text-align: center;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .mainte-type {
    max-width: 1280px;
    margin: 64px auto 128px auto;
    display: flex;
    gap: 16px;
}
.home-mainte .full,.home-mainte .remote {
    width: calc(50% - 8px);
    padding: 16px;
    border-radius: 6px;
    box-shadow:  0px 2px 10px #E8E8E8;
    position: relative;
}
.home-mainte .full h3,.home-mainte .remote h3 {
    text-align: center;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .full h3>span,.home-mainte .remote h3>span {
    color: #575757;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .mainte-type .label{
    width: 96px;
    height: 96px;
    padding: 20px 0 20px 0;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 28px;
    background-color: #FBC02D;
    border-radius: 48px;
    position: absolute;
    top: -20px;  
}
.home-mainte .full .label {
    left: 0px;
}

.home-mainte .remote .label {
    right: 0px;
}
.home-mainte .mainte-type ul {
    margin: 32px auto 32px auto;
    display: flex;
    gap: 16px;
}
.home-mainte .mainte-type li {
    width: calc((100% - 16px)/3);
    text-align: center;
    display: block;
}
.home-mainte .mainte-type li img {
    width: 120px;
}
.home-mainte .mainte-type .cost {
    text-align: center;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
}
.home-mainte .mainte-type .cost .price {
    font-size: 4.8rem;
    font-weight: bold;
}
.home-mainte .mainte-type .cost .note {
    font-size: 1.6rem;
}

.home-mainte .support {
    width: 100%;
    padding: 48px 0 0px 0;
    background-color: #E9F8FF;
    padding-bottom: 64px;
    clip-path: polygon(
        0 0,
        100% 0,
        100% calc(100% - 80px),
        50% 100%,
        0 calc(100% - 80px)
    );
}
.home-mainte .support-inner {
    max-width: 1280px;
    margin: 64px auto 0 auto;
    position: relative;
}
.home-mainte .support .label {
    padding: 16px 24px 16px 24px;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 28px;
    background-color: #FBC02D;
    border-radius: 48px;
    position: absolute;
    top: -60px; 
    transform: rotate(-15deg);
}
.home-mainte .support h3 {
    text-align: center;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
}
.home-mainte .support h3>span {
    color: #24ADEB;
    font-size: 4.8rem;
    font-weight: bold;
}
.home-mainte .support-list {
    margin: 64px auto 64px auto;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.home-mainte .support-list .list {
    width: calc((100% - 32px) / 3);
    padding: 1.6rem;
    background-color: #FFFFFF;
    border-radius: 6px;
    box-shadow:  0px 2px 10px #E8E8E8;
}
.home-mainte .support-list .list dt {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    color: #4C7CA1;
    font-size: 2.4rem;
    font-weight: bold;
}
.home-mainte .support-list .list dt img {
    width: 64px;
    height: 64px;
    padding: 8px;
}
.home-mainte .support-list .list dd {
    padding: 1.6rem;
    text-align: center;
    color: #575757;
    font-size: 2rem;
    font-weight: bold;
}
.home-mainte .flex_block {
    max-width: 960px;
    margin: 64px auto 64px auto;
    display: flex;
}
.home-mainte .flex_block .list {
    width: calc(100% - 340px);
}
.home-mainte .flex_block .list ul {
    margin: 0 auto 0 auto;
    list-style: none;
}
.home-mainte .use-cases .flex_block .list li {
    width: 464px;
    margin-bottom: 16px;
    padding: 16px;
    text-align: center;
    color: #4C7CA1;
    font-size: 2rem;
    font-weight: bold;
    line-height: 64px;
    background-color: #FFFFFF;
}
.home-mainte .flex_block .list .no2 {
    margin-left: 48px;
}
.home-mainte .flex_block .list .no3 {
    margin-left: 96px;
}
.home-mainte .flex_block .list .no4 {
    margin-left: 144px;
}
.home-mainte .use-cases .flex_block .img {
    width: 340px;
    position: relative;
}
.home-mainte .use-cases .flex_block .img img {
    bottom: -120px;
    position: absolute;
}
.home-mainte .comparison {
    max-width: 1280px;
    margin: 64px auto 64px auto;
}
.home-mainte .comparison h3 {
    text-align: center;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.8;
}
.home-mainte .comparison dl {
    margin: 64px auto 24px auto;
    padding: 24px 0;
    display: flex;
    gap: 16px;
}
.home-mainte .comparison dl div {
    width: calc((100% - 32px)/3);
    padding: 24px 0;
    background-color: #FFFFFF;
    border-radius: 6px;
    box-shadow:  0px 2px 10px #E8E8E8;
}
.home-mainte .comparison dl dt,.home-mainte .comparison dl dd {
    text-align: center;
    color: #4C7CA1;
    font-size: 2.4rem; 
    font-weight: bold; 
    line-height: 1.5;
}
.home-mainte .comparison dl dd>span {
    text-align: center;
    color: #4C7CA1;
    font-size: 4.8rem;
    font-weight: bold; 
}
.home-mainte .comparison .note {
    width: 100%;
    color: #575757;
    text-align: center;
    font-size: 1.6rem;
}
.home-mainte .voice {
    
}
.home-mainte .voice h3 {
    margin: 24px 0 16px 0;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
}
.home-mainte .voice .img {
    padding: 0 64px 0 0;
}
.home-mainte .voice dl {
}
.home-mainte .voice dt {
    color: #4C7CA1;
    font-size: 2rem;
    font-weight: bold;
}
.home-mainte .voice dd {
    margin-bottom: 32px;
    color: #575757;
    font-size: 2rem;
    line-height: 1.5;
}
.home-mainte .voice .selling-point {
    padding: 24px 0;
    text-align: center;
    color: #4C7CA1;
    font-size: 4.8rem;
    font-weight: bold;  
    line-height: 1.5;
}

/* CTA */

.home-mainte .cta {
    width: 100%;
    margin-bottom: -64px;
    padding: 64px 0px;
    background-color: #E9F8FF;
    /*border-top: 2px solid #B9E2F5;
    border-bottom: 2px solid #B9E2F5;*/
}
.home-mainte .cta .catch {
    text-align: center;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .cta .link {
    max-width: 960px;
    margin: 0 auto;
    padding: 48px 0;
    display: flex;
    gap: 16px;
}
.home-mainte .cta .tel,.home-mainte .cta .form {
    width: calc((100% - 16px) / 2);
}
.home-mainte .cta .tel a {
    min-height: 88px;
    padding: 8px 0;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #FFFFFF;
    font-size: 2rem;
    font-weight: bold;
    background-color: #D81B60;
    border-radius: 48px;
    box-shadow:  0px 2px 10px #FEA1C3;
}
.home-mainte .cta .form a {
    min-height: 88px;
    padding: 8px 0;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #FFFFFF;
    font-size: 2rem;
    font-weight: bold;
    background-color: #8BC34A;
    border-radius: 48px;
    box-shadow:  0px 2px 10px #8BC34A;
}
.home-mainte .cta .tel a>span,.home-mainte .cta .form a>span {
    font-size: 3.2rem;
}
.home-mainte .cta .note {
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
}

/* Case */

.home-mainte-blue .mainte-case {
    margin-top: 64px;
}
.home-mainte-blue .mainte-case h2 {
    text-align: center;
    color: #FFFFFF;
    font-size: 7.8rem;
    font-weight: bold;
}
.home-mainte-blue .mainte-case .subtitle {
    margin-bottom: 48px;
    text-align: center;
    color: #FFFFFF;
    font-size: 3.2rem;
    font-weight: bold;
}
.home-mainte-blue .mainte-case .doc {
    margin-bottom: 32px;
    text-align: center;
    color: #FFFFFF;
    font-size: 2rem;
}
.home-mainte-blue .mainte-case .selling-point {
    margin: 64px 0;
    text-align: center;
    color: #FFFFFF;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.8;
}

/* Plan */
.home-mainte .plan {
    
}
.home-mainte .plan h2 {
    text-align: center;
    color: #4C7CA1;
    font-size: 7.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .plan .subtitle {
    text-align: center;
    color: #4C7CA1;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .plan .plan-table {
    max-width: 960px;
    margin: 64px auto;
}
.home-mainte .plan .plan-table .big {
    color: #24ADEB;
    font-size: 3.2rem;
    font-weight: bold;
}
.home-mainte .plan .plan-table .small {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.25;
}
.home-mainte .plan .plan-table .td-note p {
    margin: 16px;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.5;
}
.home-mainte .plan .plan-table thead th {
    color: #4C7CA1;
    font-size: 2.8rem;
    font-weight: bold;
    border-radius: 6px 6px 0 0;
}
.home-mainte .plan .plan-table thead .full {
    color: #FFFFFF;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    background-color:#24ADEB; 
}
.home-mainte .plan .plan-table thead .note {
    font-size: 1.6rem;
    font-weight: bold;
    background-color:#24ADEB; 
}
.home-mainte .plan .plan-table thead .remote {
    color: #4C7CA1;
    font-size: 2.8rem;
    font-weight: bold;
}
.home-mainte .plan .plan-table thead .spot {
    color: #575757;
    font-size: 1.6rem;
    font-weight: bold;
}
.home-mainte .plan .plan-table tbody th,.home-mainte .plan .plan-table td {
    width: 25%;
    padding: 16px 24px;
    text-align: center;
    vertical-align: middle;
    color: #575757;
    font-size: 2rem;
    line-height: 1.5;
    border-bottom: 1px dotted #24ADEB;
}
.home-mainte .plan .plan-table tbody th {
    text-align: left;
    color: #4C7CA1;
    font-weight: bold;
}
.home-mainte .plan .plan-table td {
}
.home-mainte .plan .plan-table .full-td {
    background-color: #E9F8FF;
}
.home-mainte .plan .selling-point {
    max-width: 960px;
    margin: 0 auto;
    color: #4C7CA1;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-mainte .plan .note {
    max-width: 960px;
    margin: 0 auto;
    color: #575757;
    font-size: 1.6rem;
    line-height: 1.5;
}
.home-mainte .plan .note ol {
    margin-left: 24px;
}

/* Faq */
.home-mainte-blue .faq-list {
    
}
.home-mainte-blue .faq-list h2 {
    text-align: center;
    color: #FFFFFF;
    font-size: 7.8rem;
    font-weight: bold;
    line-height: 1.2;
}
.home-mainte-blue .faq-list h2>span {
    font-size: 3.2rem;
}
.home-mainte-blue .faq-list .qanda{
    max-width: 1280px;
    margin: 0px auto;
}
.home-mainte-blue .faq-list .qanda details {
    width: 100%;
    margin: 24px auto;
    /*padding: 24px;*/
    color: #575757;
    font-size: 2rem;
    line-height: 1.8;
    border-radius: 3px;
    background-color: #FFFFFF;
    cursor: pointer;
}
.home-mainte-blue .faq-list .qanda details:hover {
    box-shadow:  0px 2px 10px #3378A4;
}
.home-mainte-blue .faq-list .qanda summary {
    padding: 24px;
    color: #575757;
    font-size: 2rem;
    font-weight: bold;
}
.home-mainte-blue .faq-list .qanda summary>span {
    margin-right: 16px;
    display: inline-block;
}
.home-mainte-blue .faq-list .qanda p {
    padding: 0 24px 24px 24px;
    color: #575757;
    font-size: 2rem;
    line-height: 1.8;
}
.home-mainte-blue .faq-list .note {
    margin: 48px auto;
    text-align: center;
    color: #FFFFFF;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.8;
}

/* Closing */

.home-mainte .closing {
    max-width: 1280px;
    margin: 64px auto;
}
.home-mainte .closing h2 {
    text-align: center;
    color: #4C7CA1;
    font-size: 7.8rem;
    font-weight: bold;
}
.home-mainte .closing .summary {
    text-align: center;
    color: #575757;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.8;
}
.home-mainte .closing .flex_block {
    max-width: 1280px;
    margin: 64px auto;
    display: flex;
    align-items: center;
}
.home-mainte .closing .list {
    width: calc(100% - 480px);
}
.home-mainte .closing .list ul {
    margin-left: 32px;
}
.home-mainte .closing .list li {
    list-style: disc;
    color: #4C7CA1;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.8;
}
.home-mainte .closing .img {
    max-width: 240px;
    padding: 24px;
}
/* HOME Slick */
.home-slider-block {
    max-width: 1080px;
    margin-bottom: 96px;
    margin-left: auto;
    margin-right: auto;
}
.home-slider {
    max-width: 1280px;
    height: 360px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 6px;
}
.home-slider .splide__slide{
    max-width: 308px;
    height: 360px;
    margin-left: 16px;
    margin-right: 16px;
    background-color: #FFFFFF;
    border-radius: 12px;
    box-shadow: 2px 2px 5px #D4D4D4;
}
.home-slider .splide__slide h3 {
    padding: 8px 0;
    text-align: center;
    color: #4C7CA1;
    font-size: 2.4rem;
    font-weight: bold;
}
.home-slider .splide__slide .note {
    text-align: center;
    color: #575757;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-slider .splide__slide .number {
    padding: 12px 0;
    text-align: center;
    color: #4C7CA1;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-slider .splide__slide .number>span {
    padding: 0 8px;
    display: inline-block;
    color: #24ADEB;
    font-size: 3.2rem;
    font-weight: bold;
}
.home-slider .splide__slide h4 {
    padding: 8px 0;
    text-align: center;
    color: #575757;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
}
.home-slider .splide__slide .doc {
    padding: 0 16px;
    text-align: left;
    color: #575757;
    font-size: 2rem;
    line-height: 1.5;
}



.home-slider .img {
    width: 810px;
    object-fit: cover;
    border-radius: 6px;
}
@media screen and (max-width: 768px) {
.home-slider_block {
    width: 350px;
    margin-bottom: 96px;
    margin-left: auto;
    margin-right: auto;
}
.home-slider {
    width: 350px;
    height: 196px;
}
.home-slider .img {
    width: 350px;
}
.home-slider img {
    width: 100%;
    height: auto;
}
.home-slider .slick-prev
{
    left: 10px !important;
}
.home-slider .slick-next
{
    right: 10px !important;
}
}

/* HOME_NEW Responsive 2026/09/10 */

.home-fv-block img,
.home-mainte img,
.home-mainte-blue img {
    max-width: 100%;
    height: auto;
}

.home-mainte .plan .plan-table thead th {
    width: 25%;
}

.home-mainte .plan .plan-table thead th.full,
.home-mainte .plan .plan-table thead th.remote {
    box-shadow: none;
    position: static;
}

@media screen and (max-width: 1312px) {
    .home-fv-block .fv,
    .fv-worries,
    .home-mainte .mainte-type,
    .home-mainte .support-inner,
    .home-mainte .comparison,
    .home-mainte-blue .mainte-case,
    .home-mainte-blue .faq-list,
    .home-mainte .closing {
        width: calc(100% - 48px);
        margin-left: auto;
        margin-right: auto;
    }

    .home-mainte .cta .link,
    .home-mainte .plan .plan-table,
    .home-mainte .plan .selling-point,
    .home-mainte .plan .note {
        width: calc(100% - 48px);
    }

    .home-slider-block {
        width: 100%;
        max-width: 1080px;
    }
}

@media screen and (max-width: 1024px) {
    .home-fv-block .fv {
        background-position: right 16px bottom;
        background-size: 42% auto;
    }

    .home-fv-block .fv h1,
    .home-fv-block .fv ul,
    .home-fv-block .fv .doc {
        width: 62%;
    }

    .home-fv-block .fv h1 {
        font-size: 2.6rem;
    }

    .home-fv-block .fv h1 > span {
        font-size: clamp(4.8rem, 6vw, 6.4rem);
    }

    .home-fv-block .fv ul {
        gap: 8px;
    }

    .home-fv-block .fv li {
        width: calc((100% - 16px) / 3);
        padding: 12px 8px;
        font-size: 2rem;
    }

    .home-fv-block .fv li > span {
        font-size: 3.6rem;
    }

    .home-fv-block .fv .doc {
        font-size: 2rem;
    }

    .home-mainte .mainte-type li img {
        width: 100px;
    }

    .home-mainte .use-cases .flex_block .list li {
        width: 100%;
        margin-left: 0;
        line-height: 1.5;
    }

    .home-mainte .voice .img {
        padding-right: 24px;
    }

    .home-mainte .plan .plan-table thead th,
    .home-mainte .plan .plan-table tbody th,
    .home-mainte .plan .plan-table td {
        padding: 12px 8px;
    }

    .home-mainte .plan .plan-table thead th,
    .home-mainte .plan .plan-table thead .full,
    .home-mainte .plan .plan-table thead .remote {
        font-size: 2.2rem;
    }

    .home-mainte .plan .plan-table tbody th,
    .home-mainte .plan .plan-table td {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 768px) {
    .home-fv-block,
    .home-mainte,
    .home-mainte-blue {
        overflow-wrap: anywhere;
    }

    .home-mainte {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .home-mainte-blue {
        padding-top: 40px;
        padding-bottom: 56px;
        clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 40px),
            50% 100%,
            0 calc(100% - 40px)
        );
    }

    .home-fv-block .fv,
    .fv-worries,
    .home-mainte .mainte-type,
    .home-mainte .support-inner,
    .home-mainte .comparison,
    .home-mainte-blue .mainte-case,
    .home-mainte-blue .faq-list,
    .home-mainte .closing {
        width: calc(100% - 32px);
    }

    .home-fv-block .fv {
        padding: 32px 0 240px;
        background-position: center bottom;
        background-size: auto 220px;
    }

    .home-fv-block .fv h1,
    .home-fv-block .fv ul,
    .home-fv-block .fv .doc {
        width: 100%;
    }

    .home-fv-block .fv h1 {
        text-align: center;
        font-size: 1.8rem;
        line-height: 1.4;
    }

    .home-fv-block .fv h1 > span {
        font-size: clamp(3.2rem, 10vw, 4.4rem);
        line-height: 1.35;
    }

    .home-fv-block .fv ul {
        margin-top: 24px;
        margin-bottom: 20px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .home-fv-block .fv li {
        width: auto;
        min-width: 0;
        height: auto;
        min-height: 104px;
        padding: 8px 4px;
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .home-fv-block .fv li > span {
        font-size: 2.4rem;
        line-height: 1.35;
    }

    .home-fv-block .fv .doc {
        font-size: 1.5rem;
        line-height: 1.6;
    }

    .fv-worries .doc {
        padding: 8px 0 24px;
        font-size: 1.8rem;
    }

    .worries dl {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .worries dl .col {
        width: 100%;
    }

    .worries dl dt {
        min-height: 140px;
        padding: 104px 12px 8px;
        font-size: 2rem;
        background-size: auto 96px;
    }

    .worries dl dd {
        padding: 0 12px 16px;
        margin-bottom: 0;
        font-size: 1.5rem;
        line-height: 1.6;
    }

    .fv-worries .selling-point {
        padding: 32px 0 24px;
        font-size: 2.4rem;
    }

    .home-mainte .sec1 h2,
    .home-mainte .plan h2,
    .home-mainte-blue .mainte-case h2,
    .home-mainte-blue .faq-list h2,
    .home-mainte .closing h2 {
        padding-right: 16px;
        padding-left: 16px;
        font-size: 4rem;
        line-height: 1.25;
    }

    .home-mainte .sec1 .subtitle,
    .home-mainte .plan .subtitle,
    .home-mainte-blue .mainte-case .subtitle {
        padding-right: 16px;
        padding-left: 16px;
        font-size: 2rem;
        line-height: 1.5;
    }

    .home-mainte .mainte-type {
        margin-top: 40px;
        margin-bottom: 80px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .home-mainte .mainte-type > .full,
    .home-mainte .mainte-type > .remote {
        width: 100%;
        padding: 88px 16px 24px;
    }

    .home-mainte .full h3,
    .home-mainte .remote h3 {
        font-size: 2.6rem;
    }

    .home-mainte .full h3 > span,
    .home-mainte .remote h3 > span {
        font-size: 1.6rem;
    }

    .home-mainte .mainte-type .label {
        width: 72px;
        height: 72px;
        padding: 12px 0;
        font-size: 1.8rem;
        line-height: 24px;
        top: 12px;
    }

    .home-mainte .full .label {
        left: 16px;
    }

    .home-mainte .remote .label {
        right: 16px;
    }

    .home-mainte .mainte-type ul {
        margin-top: 24px;
        margin-bottom: 24px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .home-mainte .mainte-type li {
        width: auto;
        min-width: 0;
        font-size: 1.4rem;
        line-height: 1.5;
    }

    .home-mainte .mainte-type li img {
        width: 80px;
    }

    .home-mainte .mainte-type .cost {
        font-size: 2rem;
    }

    .home-mainte .mainte-type .cost .price {
        font-size: 3.2rem;
    }

    .home-mainte .mainte-type .cost .note {
        font-size: 1.2rem;
    }

    .home-mainte .support {
        padding-top: 32px;
        padding-bottom: 56px;
        clip-path: polygon(
            0 0,
            100% 0,
            100% calc(100% - 40px),
            50% 100%,
            0 calc(100% - 40px)
        );
    }

    .home-mainte .support-inner {
        margin-top: 0;
    }

    .home-mainte .support .label {
        width: fit-content;
        max-width: 100%;
        margin: 0 auto 24px;
        padding: 12px 20px;
        position: static;
        transform: none;
        font-size: 1.8rem;
        line-height: 1.5;
    }

    .home-mainte .support h3 {
        font-size: 2.4rem;
        line-height: 1.5;
    }

    .home-mainte .support h3 > span {
        font-size: 3.2rem;
    }

    .home-mainte .support-list {
        margin-top: 40px;
        margin-bottom: 48px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .home-mainte .support-list .list {
        width: 100%;
        padding: 12px;
    }

    .home-mainte .support-list .list dt {
        font-size: 2rem;
    }

    .home-mainte .support-list .list dd {
        padding: 8px 0 4px;
        font-size: 1.6rem;
        line-height: 1.6;
    }

    .home-mainte .flex_block {
        flex-direction: column;
        align-items: center;
    }

    .home-mainte .use-cases .flex_block,
    .home-mainte .closing .flex_block {
        width: 100%;
    }

    .home-mainte .voice .flex_block {
        width: calc(100% - 32px);
    }

    .home-mainte .flex_block .list {
        width: 100%;
    }

    .home-mainte .use-cases .flex_block .list li {
        margin-bottom: 12px;
        padding: 14px 12px;
        text-align: left;
        font-size: 1.6rem;
    }

    .home-mainte .use-cases .flex_block .img {
        width: 260px;
        max-width: 100%;
        margin-top: 16px;
        position: static;
    }

    .home-mainte .use-cases .flex_block .img img {
        position: static;
    }

    .home-mainte .comparison {
        margin-top: 48px;
        margin-bottom: 48px;
    }

    .home-mainte .comparison h3 {
        font-size: 2.4rem;
        line-height: 1.6;
    }

    .home-mainte .comparison dl {
        margin-top: 32px;
        padding: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .home-mainte .comparison dl div {
        width: 100%;
        padding: 20px 12px;
    }

    .home-mainte .comparison dl dt,
    .home-mainte .comparison dl dd {
        font-size: 2rem;
    }

    .home-mainte .comparison dl dd > span {
        font-size: 3.6rem;
    }

    .home-mainte .comparison .note {
        text-align: left;
        font-size: 1.3rem;
        line-height: 1.6;
    }

    .home-mainte .voice .flex_block {
        margin-top: 48px;
        margin-bottom: 48px;
    }

    .home-mainte .voice .img {
        width: 260px;
        max-width: 100%;
        padding: 0;
    }

    .home-mainte .voice h3 {
        margin-top: 24px;
        font-size: 2.4rem;
        line-height: 1.5;
    }

    .home-mainte .voice dt,
    .home-mainte .voice dd {
        font-size: 1.6rem;
    }

    .home-mainte .voice dd {
        margin-bottom: 24px;
    }

    .home-mainte .cta {
        margin-bottom: -48px;
        padding: 48px 16px;
    }

    .home-mainte .cta .catch {
        font-size: 2.4rem;
    }

    .home-mainte .cta .link {
        width: 100%;
        max-width: 480px;
        padding-top: 32px;
        padding-bottom: 24px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .home-mainte .cta .tel,
    .home-mainte .cta .form {
        width: 100%;
    }

    .home-mainte .cta .tel a,
    .home-mainte .cta .form a {
        min-height: 80px;
        padding: 10px 12px;
        font-size: 1.6rem;
        line-height: 1.4;
    }

    .home-mainte .cta .tel a > span,
    .home-mainte .cta .form a > span {
        font-size: 2.8rem;
    }

    .home-mainte .cta .note {
        font-size: 1.5rem;
    }

    .home-mainte-blue .mainte-case {
        margin-top: 24px;
    }

    .home-mainte-blue .mainte-case .subtitle {
        margin-top: 16px;
        margin-bottom: 32px;
    }

    .home-mainte-blue .mainte-case .doc {
        font-size: 1.6rem;
        line-height: 1.7;
    }

    .home-mainte-blue .mainte-case .selling-point {
        margin-top: 40px;
        margin-bottom: 40px;
        font-size: 2.4rem;
        line-height: 1.6;
    }

    .home-slider-block {
        width: 100%;
        margin-bottom: 64px;
    }

    .home-slider {
        width: 100%;
        height: auto;
    }

    .home-slider .splide__slide {
        width: calc(100vw - 64px);
        max-width: min(308px, calc(100vw - 64px));
        min-height: 400px;
        height: auto;
        margin-right: 8px;
        margin-left: 8px;
    }

    .home-slider .splide__slide h3 {
        font-size: 2.2rem;
    }

    .home-slider .splide__slide .note,
    .home-slider .splide__slide .number,
    .home-slider .splide__slide h4,
    .home-slider .splide__slide .doc {
        font-size: 1.6rem;
    }

    .home-slider .splide__slide .number > span {
        font-size: 2.8rem;
    }

    .home-slider .img {
        width: 100%;
    }

    .home-mainte .plan .plan-table {
        width: calc(100% - 32px);
        max-width: none;
        margin-top: 40px;
        margin-bottom: 40px;
        display: block;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .home-mainte .plan .plan-table thead,
    .home-mainte .plan .plan-table tbody {
        width: 100%;
        min-width: 680px;
        display: table;
        table-layout: fixed;
        border-collapse: collapse;
    }

    .home-mainte .plan .plan-table thead th,
    .home-mainte .plan .plan-table thead th.full,
    .home-mainte .plan .plan-table thead th.remote,
    .home-mainte .plan .plan-table tbody th,
    .home-mainte .plan .plan-table td {
        width: 25%;
        padding: 10px 8px;
        white-space: normal;
    }

    .home-mainte .plan .plan-table thead th,
    .home-mainte .plan .plan-table thead .full,
    .home-mainte .plan .plan-table thead .remote {
        font-size: 1.8rem;
    }

    .home-mainte .plan .plan-table tbody th,
    .home-mainte .plan .plan-table td {
        font-size: 1.5rem;
    }

    .home-mainte .plan .plan-table .td-note p {
        margin: 10px;
        font-size: 1.4rem;
    }

    .home-mainte .plan .selling-point,
    .home-mainte .plan .note {
        width: calc(100% - 32px);
    }

    .home-mainte-blue .faq-list h2 > span {
        font-size: 2rem;
    }

    .home-mainte-blue .faq-list .qanda details {
        margin-top: 16px;
        margin-bottom: 16px;
        font-size: 1.6rem;
    }

    .home-mainte-blue .faq-list .qanda summary {
        padding: 16px;
        font-size: 1.6rem;
        line-height: 1.6;
    }

    .home-mainte-blue .faq-list .qanda summary > span {
        margin-right: 8px;
    }

    .home-mainte-blue .faq-list .qanda p {
        padding: 0 16px 16px;
        font-size: 1.6rem;
        line-height: 1.7;
    }

    .home-mainte-blue .faq-list .note {
        margin-top: 32px;
        margin-bottom: 32px;
        font-size: 2.2rem;
    }

    .home-mainte .closing {
        margin-top: 40px;
        margin-bottom: 48px;
    }

    .home-mainte .closing .summary {
        margin-top: 24px;
        text-align: left;
        font-size: 1.6rem;
        line-height: 1.7;
    }

    .home-mainte .closing .flex_block {
        margin-top: 40px;
        margin-bottom: 40px;
        gap: 24px;
    }

    .home-mainte .closing .list {
        width: 100%;
    }

    .home-mainte .closing .list ul {
        margin-left: 24px;
    }

    .home-mainte .closing .list li {
        font-size: 1.8rem;
        line-height: 1.6;
    }

    .home-mainte .closing .img {
        width: 180px;
        max-width: 100%;
        padding: 8px;
    }
}

@media screen and (max-width: 480px) {
    .home-fv-block .fv {
        padding-top: 24px;
        padding-bottom: 208px;
        background-size: auto 192px;
    }

    .home-fv-block .fv ul {
        gap: 6px;
    }

    .home-fv-block .fv li {
        min-height: 92px;
        padding-right: 2px;
        padding-left: 2px;
        font-size: 1.2rem;
    }

    .home-fv-block .fv li > span {
        font-size: 2rem;
    }

    .home-mainte .sec1 h2,
    .home-mainte .plan h2,
    .home-mainte-blue .mainte-case h2,
    .home-mainte-blue .faq-list h2,
    .home-mainte .closing h2 {
        font-size: 3rem;
    }

    .home-mainte .mainte-type > .full,
    .home-mainte .mainte-type > .remote {
        padding-top: 80px;
        padding-right: 12px;
        padding-left: 12px;
    }

    .home-mainte .full h3,
    .home-mainte .remote h3 {
        font-size: 2.2rem;
    }

    .home-mainte .mainte-type .label {
        width: 64px;
        height: 64px;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 1.6rem;
        line-height: 22px;
    }

    .home-mainte .mainte-type li img {
        width: 72px;
    }

    .home-mainte .mainte-type .cost .price {
        display: inline-block;
        font-size: 2.8rem;
    }

    .home-mainte .support h3 > span {
        font-size: 2.8rem;
    }

	.home-mainte-blue .mainte-case .doc {
        text-align: left;
    }

    .home-mainte .cta .catch,
    .fv-worries .selling-point,
    .home-mainte-blue .mainte-case .selling-point {
        font-size: 1.8rem;
    }

    .home-mainte .cta .tel a > span,
    .home-mainte .cta .form a > span {
        font-size: 2.4rem;
    }

    .home-mainte .plan .plan-table thead,
    .home-mainte .plan .plan-table tbody {
        min-width: 640px;
    }

    .home-mainte-blue .faq-list h2 > span {
        font-size: 1.8rem;
    }

    .home-mainte .closing .list li {
        font-size: 1.6rem;
    }
	.home-slider {
    height: 320px;
	}
	.home-slider .splide__slide{
		height: 320px;
	}
}