@charset "utf-8";

/*=================================

common

=================================*/
.sp { display:none; }
.pc { display:flex; }

/*------------------------------------------------------------
container
------------------------------------------------------------*/
#container {
 display:flex;
 flex-direction:column;
 padding-top:100px;
 width:100%;
}

/*------------------------------------------------------------
main
------------------------------------------------------------*/
main {
 background-color: #97c3ed;
 align-items:center;
 display: flex;
 flex-direction:column;
 flex: 0 1 auto;
 justify-content:start;
 row-gap:50px;
 position:relative;
}

#main {
 background-color:#97c3ed;
 padding:0 5vw 50px;
}

#main a.link {
 color:var(--link);
 text-decoration:none;
}

#main a.link:hover {
 color:var(--sub);
 cursor:pointer;
 text-decoration:none;
}

#main.has_left_nav {
 background-color:transparent;
 width: 100%;
 justify-content: flex-end;
 padding:60px 0 50px 50px;
 align-items: flex-end;
}

/*------------------------------------------------------------
main_left_nav
------------------------------------------------------------*/
#main_left_nav {
 left:50px;
 top:60px;
 width:260px;
 position:absolute;
}

#main_left_nav ul {
 display:flex;
 flex-direction:column;
 row-gap:10px;
}

#main_left_nav ul li {
 position:relative;
}

#main_left_nav ul li a {
 font-size:1.6rem;
 position:relative;
 line-height:1.6;
 padding-left:30px;
}

#main_left_nav ul li a:before {
 background-color:var(--white);
 border:1px solid var(--sub);
 border-radius:8px;
 content:" ";
 height:15px;
 left:0;
 position:absolute;
 top:6px;
 width:15px;
}

#main_left_nav ul li a:after {
 background-color:var(-white);
 border-radius:8px;
 content:" ";
 height:11px;
 left:2px;
 position:absolute;
 top:8px;
 width:11px;
}

#main_left_nav ul li a:hover {
 color:var(--link);
}

#main_left_nav ul li a:hover:after {
 background-color:var(--sub);
}

/*------------------------------------------------------------
section
------------------------------------------------------------*/
section {
 align-items: center;
 display: flex;
 flex-direction:column;
 justify-content:center;
 flex:0 0 100%;
 overflow:hidden;
 width:100%;
}

.content {
 align-items:center;
 max-width:var(--max-width);
 display: flex;
 flex-direction:column;
 justify-content:center;
 width:100%;
}

/*------------------------------------------------------------
header
------------------------------------------------------------*/
#header {
 background-color:var(--white);
 display:flex;
 justify-content:space-between;
 width:100%;
 height:100px;
 position:fixed;
 z-index:101;
}

#header #header_cont {
 align-items:center;
 column-gap: 10px;
 display:flex;
 justify-content:space-between;
 flex:0 1 100%;
 padding:15px 15px 15px 30px;
 position:relative;
 width:100%;
}

#header #header_cont #header_left_area {
 align-items:center;
 column-gap:10px;
 display:flex;
 flex-wrap:nowrap;
 justify-content:start;
 flex: 0 0 225px;
}

#header #header_cont #header_left_area h1 {
 align-items:center;
 display:flex;
 flex:0 0 auto;
}

#header #header_cont #header_left_area h1 img {
 width:225px;
 height:auto;
 opacity:0;
 -webkit-transition:opacity 3s;
 transition:opacity 3s;
}

#header #header_cont #header_left_area h1 img.lazyloaded {
 opacity:1;
}

#header #header_cont #header_right_area {
 align-items:center;
 display:flex;
 flex-wrap:nowrap;
 justify-content:flex-end;
 min-width:320px;
}

#header #header_cont #header_right_area .inquiry_area {
 display:flex;
 flex: 0 1 320px;
 justify-content: flex-end;
}

#header #header_cont #header_right_area .inquiry_area ul {
 column-gap:20px;
 display:flex;
 justify-content: flex-end;
 flex: 0 0 100%;
}

#header #header_cont #header_right_area .inquiry_area ul li {
 display:flex;
 width:calc(100% / 2 - 10px);
}

#header #header_cont #header_right_area .inquiry_area ul li a {
 border-radius:35px;
 color:var(--white);
 display:block;
 flex:1 1 auto;
 padding:10px 30px;
 text-decoration:none;
}

#header #header_cont #header_right_area .inquiry_area ul li a dl {
 align-items: center;
 column-gap:10px;
 display:flex;
 justify-content:center;
}

#header #header_cont #header_right_area .inquiry_area ul li a dl dt {
 flex:0 0 auto;
 text-align:center;
}

#header #header_cont #header_right_area .inquiry_area ul li a dl dt i {
 color:var(--white);
 font-size:1.2rem;
 line-height:1.4;
}

#header #header_cont #header_right_area .inquiry_area ul li a dl dd {
 flex:0 0 auto;
} 

#header #header_cont #header_right_area .inquiry_area ul li a dl dd span {
 display:block;
 font-size:1.4rem;
 font-weight:600;
 line-height:1.4;
}

#header #header_cont #header_right_area .inquiry_area ul li:first-child a {
 background-color:var(--main);
}

#header #header_cont #header_right_area .inquiry_area ul li:nth-child(2) a {
 background-color:var(--sub);
}

#header #header_cont #header_right_area .inquiry_area ul li a:hover {
 opacity:0.7;
 text-decoration:none;
}

#header #header_cont #menuBtn {
 display:none;
}

/*--- fixed ---*/

#header.fixed {
 background-color:var(--white);
 opacity: 1;
 transition: opacity 0.5s;
 position:fixed;
}

/*------------------------------------------------------------
nav
------------------------------------------------------------*/
#nav {
 display:flex;
 justify-content:start;
 flex:1;
 padding:0 30px;
 max-width:100%;
 opacity: 1;
 overflow: hidden;
}

nav {
 flex:1;
 overflow: hidden;
}

#nav.fixed {
 opacity: 0;
 transition: opacity 0.5s;
 position:fixed;
 top:83px;
}

#nav ul {
 column-gap:30px;
 display:flex;
 justify-content:start;
 overflow: hidden;
}

#nav ul li {
 overflow: hidden;
 max-width: calc(100% / 5 - 10px);
}

#nav ul li a {
 display: block;
 font-size:1.4rem;
 position:relative;
 white-space:nowrap;
 text-overflow: ellipsis;
 overflow: hidden;
}

#nav ul li a:hover {
 color:var(--link);
}

/*------------------------------------------------------------
main_visual
------------------------------------------------------------*/
#main_visual {
 display:flex;
}

#main_visual #main_visual_cont {
 align-items:center;
 background-color:var(--gray_ee);
 text-shadow: none;
 text-align:center;
 flex:1 1 1080px;
 display:flex;
 justify-content:center;
 margin:0 auto;
 padding:0 70px;
 position:relative;
}

#main_visual #main_visual_cont .page_title {
 column-gap:15px;
 display:flex;
 flex:0 1 1080px;
 justify-content:start;
 padding:0;
 position:relative;
}

#main_visual #main_visual_cont h2 {
 align-items:center;
 display:flex;
 height:360px;
 justify-content:start;
 z-index:100;
 padding:0 0 90px;
}

#main_visual #main_visual_cont h2 img {
 height:27px;
 width:auto;
}

#main_visual #main_visual_cont h2 i {
 color:var(--white);
 font-size:3.0rem;
 font-weight:600;
 line-height:1;
 margin-bottom:-2px;
}

#main_visual #main_visual_cont h2 span {
 color:var(--white);
 font-size:3.4rem;
 font-weight:600;
 line-height:1.4;
 padding:0;
 position:relative;
 z-index:11;
}

#main_visual #main_visual_cont .page_title ul {
 align-items: center;
 display: flex;
 height: auto;
 justify-content: start;
 padding:0 0 90px;
 position: relative;
 z-index: 90;
}

#main_visual #main_visual_cont .page_title ul li {
 align-items: center;
 border-radius: 3px;
 display: flex;
 justify-content: start;
 margin-left: 10px;
 padding: 0 0 0 10px;
}

#main_visual #main_visual_cont .page_title ul li i {
 font-size:1.3rem;
}

#main_visual #main_visual_cont .page_title ul li span {
 display: block;
 font-size:1.3rem;
 font-weight: 600;
 line-height: 1.6;
 padding: 5px 10px 5px 5px;
}

#main_visual #main_visual_cont > img {
 height:360px;
 object-fit:cover;
 object-position:left 25%;
 right:0;
 width:100%;
 position:absolute;
}

/*--- color-pattern ---*/

#main_visual #main_visual_cont.white:after {
 background: rgb(255,255,255);
 background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,0.2) 45%, rgba(255,255,255,0) 100%);
 opacity:0.7;
}

#main_visual #main_visual_cont.light_yellow:after {
 background: rgb(253,242,209);
 background: linear-gradient(90deg, rgba(253,242,209,1) 0%, rgba(253,242,209,1) 35%, rgba(253,242,209,0.2) 45%, rgba(253,242,209,0) 100%);
}

#main_visual #main_visual_cont.yellow:after {
background: rgb(248,245,110);
background: linear-gradient(90deg, rgba(248,245,110,1) 0%, rgba(248,245,110,1) 35%, rgba(248,245,110,0.2) 45%, rgba(248,245,110,0) 100%);
}

#main_visual #main_visual_cont.orange:after {
 background: rgb(240,120,0);
 background: linear-gradient(90deg, rgba(240,120,0,1) 0%, rgba(240,120,0,1) 35%, rgba(240,120,0,0.2) 45%, rgba(240,120,0,0) 100%);
}

#main_visual #main_visual_cont.light_orange:after {
 background: rgb(252,228,204);
 background: linear-gradient(90deg, rgba(252,228,204,1) 0%, rgba(252,228,204,1) 35%, rgba(252,228,204,0.2) 45%, rgba(252,228,204,0) 100%);
}

#main_visual #main_visual_cont.blue:after {
 background: rgb(179,215,251);
 background: linear-gradient(90deg, rgba(179,215,251,1) 0%, rgba(179,215,251,1) 35%, rgba(179,215,251,0.2) 45%, rgba(179,215,251,0) 100%);
}

#main_visual #main_visual_cont.turquoise:after {
 background: rgb(57,163,172);
 background: linear-gradient(90deg, rgba(57,163,172,1) 0%, rgba(57,163,172,1) 35%, rgba(57,163,172,0.2) 45%, rgba(57,163,172,0) 100%);
}

#main_visual #main_visual_cont.pale_gray:after {
 background: rgb(228,228,228);
 background: linear-gradient(90deg, rgba(228,228,228,1) 0%, rgba(228,228,228,1) 30%, rgba(228,228,228,0.2) 45%, rgba(228,228,228,0) 100%);
}

#main_visual #main_visual_cont.light_blue:after {
 background: rgb(222,234,246);
 background: linear-gradient(90deg, rgba(222,234,246,1) 0%, rgba(222,234,246,1) 35%, rgba(222,234,246,0.2) 45%, rgba(222,234,246,0) 100%);
}

#main_visual #main_visual_cont.light_blue h2 span {
 color:var(--gray_33);
}

/*--- second ---*/
#main_visual #main_visual_cont.second  {
 background-color:#EDF7FF;
 height:300px;
}

#main_visual #main_visual_cont.second > img {
 border-radius:0 0 0 30px;
 height:300px;
 opacity:0;
 -webkit-transition:opacity 3s;
 transition: opacity 3s;
 width:60%;
 z-index:11; 
}

#main_visual #main_visual_cont.second > img.lazyloaded {
 opacity:1;
}

/*------------------------------------------------------------
banner
------------------------------------------------------------*/
.banner_inquiy {
 position:fixed;
 right:0;
 bottom:240px;
 z-index:101;
}

.banner_inquiy .banner_inquiy_cont {
 display:flex;
 flex-wrap:wrap;
 justify-content:flex-end;
}

.banner_inquiy .banner_inquiy_cont a {
 background-color:#e7231b;
 border-radius:8px 0 0 8px;
 box-shadow:0 3px 0 #b9211b;
 display:flex;
 flex:0 0 96px;
 flex-wrap:wrap;
 justify-content:start;
 padding:15px 10px 0;
}

.banner_inquiy .banner_inquiy_cont a dl {
 display:flex;
 flex-wrap:wrap;
 flex:0 0 100%;
 justify-content:center;
}

.banner_inquiy .banner_inquiy_cont a dl dt {
 background-color:var(--white);
 border-radius:50%;
 display:flex;
 flex:0 0 45px;
 justify-content:center;
}

.banner_inquiy .banner_inquiy_cont a dl dt span {
 align-items:center;
 color:var(--gray_33);
 display:flex;
 flex:0 0 20px;
 justify-content:center; 
 padding:15px 0;
}

.banner_inquiy .banner_inquiy_cont a dl dt span i {
 font-size:1.2rem;
}

.banner_inquiy .banner_inquiy_cont a dl dd {
 display:flex;
 flex:0 0 100%;
 justify-content:center;
 padding:10px 0 5px;
 text-align:left;
}

.banner_inquiy .banner_inquiy_cont a dl dd span {
 color:var(--white);
 font-size:1.3rem;
 font-weight:600;
 writing-mode: vertical-rl;
 line-height:1.4;
 text-align:left;
}

.banner_inquiy .banner_inquiy_cont a .pic {
 flex:0 0 100%;
 justify-content:center;
 margin-top:10px;
 text-align:center; 
}

.banner_inquiy .banner_inquiy_cont a .pic img {
 width:76px;
 height:auto;
}

.banner_inquiy .banner_inquiy_cont a:hover {
 background-color:#0092D6;
 box-shadow:0 3px 0 #035F8B;
 text-decoration:none;
}

banner_inquiy .banner_inquiy_cont a:hover dl dt span {
 color:var(--gray_33);
}

.banner_instagram {
 display:block;
 position:fixed;
 right:0;
 bottom:10px;
 z-index:101;
}

.banner_instagram a {
 border-radius:8px 0 0 8px;
 display:block;
 box-shadow: 0px 5px 5px -6px rgba(0, 0, 0, 0.3);
 width:96px;
 height:200px;
}

.banner_instagram a img {
 border-radius:8px 0 0 8px;
}

/*------------------------------------------------------------
bread_crumb_list
------------------------------------------------------------*/
.bread_crumb_list {
 background-color:var(--white);
 border-top:1px solid var(--gray_ee);
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 flex:0 0 auto;
 margin:0;
 padding:0 5vw;
 width:100%;
}

.bread_crumb_list .bread_crumb_list_cont {
 display:flex;
 flex-wrap:wrap;
 justify-content:start;
 flex:0 1 880px;
 position:relative;
}

.bread_crumb_list .bread_crumb_list_cont ol {
 column-gap: 5px;
 display:flex;
 justify-content:start;
 padding:15px 0;
}

.bread_crumb_list .bread_crumb_list_cont ol li {
 align-items:center;
 display:flex;
 justify-content:start;
 column-gap:5px;
}

.bread_crumb_list .bread_crumb_list_cont ol li i {
 color:var(--gray_99);
 font-size:1.1rem;
}

.bread_crumb_list .bread_crumb_list_cont ol li > span {
 font-size:1.3rem;
}

.bread_crumb_list .bread_crumb_list_cont ol li a {
 align-items:center;
 display:flex;
 justify-content:start;
}

.bread_crumb_list .bread_crumb_list_cont ol li a span {
 font-size:1.3rem;
}

.bread_crumb_list .bread_crumb_list_cont ol li a i {
 color :var(--gray_99);
 font-size:1.1rem;
}

.bread_crumb_list .bread_crumb_list_cont ol li a:hover span {
 color:var(--link);
}

/*------------------------------------------------------------
footer
------------------------------------------------------------*/
#footer {
 background-color:var(--white);
 border-top:1px solid var(--gray_dd);
 display:flex;
 justify-content:center;
 flex-wrap:wrap;
 padding: 150px 5vw 0 5vw;
 position:relative;
 overflow:hidden;
}

#footer #footer_cont {
 column-gap:40px;
 display:flex;
 justify-content:space-between;
 flex:0 1 880px;
 flex-wrap:wrap;
 column-gap:50px;
 margin:0 auto;
 padding:25px 0 25px 0;
 position:relative;
 row-gap:30px;
 z-index:2;
}

#footer #footer_cont:before {
 aspect-ratio: 198/42;
 background-image: url('/wp-content/themes/tds/img/common/t_footer.webp');
 background-position: left center;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 left:0;
 top:-110px;
 position: absolute;
 width:50vw;
 max-height:100px;
 z-index: 1;
}

#footer #footer_cont #footer_cont_left {
 align-content: start;
 justify-content: start;
 gap:20px;
 position:relative;
 display:flex;
 flex-wrap:wrap;
 width:20vw;
}

#footer #footer_cont #footer_cont_left h2 {
 font-size:2.0rem;
 font-weight:600;
 line-height:1;
}

#footer #footer_cont #footer_cont_left h2 span {
 line-height:1;
}

#footer #footer_cont #footer_cont_right {
 flex:1;
}

#footer #footer_cont #footer_cont_right .footer_cont_right_cont {
 align-items:start;
 display:flex;
 justify-content:start;
}

#footer #footer_cont #footer_cont_right .footer_cont_right_cont .contents {
 align-items:start;
 display:flex;
 flex-wrap:wrap;
 justify-content:space-between;
}

#footer #footer_cont h3 {
 align-items:center;
 display:flex;
 justify-content:center;
 width:100%;
}

#footer #footer_cont h3 img {
 height:auto;
 width:225px;
}

#footer #footer_bottom {
 align-items: center;
 display: flex;
 justify-content: center;
 flex: 0 1 1080px;
 flex-direction:column;
 padding: 25px 0;
 position: relative;
 row-gap:50px;
 z-index: 2;
 width:100%;
}

/*------------------------------------------------------------
page_top 
------------------------------------------------------------*/
#page_top {
 display:flex;
 justify-content:center;
 flex:0 0 100%;
 margin-top:-20px;
 position:relative;
 z-index:100;
}

#page_top #page_top_cont {
 display:flex;
 flex-wrap:wrap;
 justify-content:flex-end;
 flex: 1 1 1080px;
 padding: 0 0 0 120px;
}

#page_top #page_top_cont a {
 background-color:var(--main);
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 padding:15px 20px 20px;
 text-align:center;
 text-decoration:none;
}

#page_top #page_top_cont a i { 
color:var(--white);
flex:0 0 100%;
}

#page_top #page_top_cont a span {
 color:var(--white);
 flex:0 0 100%;
 font-size:1.2rem;
 font-weight:600;
 padding-top:5px;
}

/*------------------------------------------------------------
copyright
------------------------------------------------------------*/
#copyright {
 background-color:var(--main);
 display:flex;
 justify-content:center;
 position:relative;
 width:100%;
}

#copyright p {
 display:flex;
 justify-content:center;
 flex:0 1 1080px;
 padding:15px;
}

#copyright p span {
 color:var(--white);
 font-size:1.0rem;
}

/*------------------------------------------------------------
title
------------------------------------------------------------*/
h2.section_title {
 align-items:center;
 column-gap:10px;
 display:flex;
 justify-content:start;
 position:relative;
 width:100%;
}

h3.section_title {
 align-items:center;
 column-gap:10px;
 display:flex;
 flex-direction:unset;
 justify-content:start;
 position:relative;
 width:100%;
}

.h3_title {
 align-items:center;
 display:flex;
 justify-content:start;
 padding:0 0 0 20px;
 position:relative;
}

.h3_title.full {
 width: calc(100% - 100px);
 margin: 0 auto;
}

.h3_title span {
 align-items:center;
 display:flex;
 font-size:1.8rem;
 font-weight:600;
 line-height:1.6;
 justify-content:start;
 padding:20px;
 position:relative;
 width:100%;
}

.h3_title span:before {
 background-color:var(--white);
 content:" ";
 height:20px;
 position:absolute;
 left:0;
 margin-top:-10px;
 top:50%;
 opacity:0.7;
 width:6px;
}

.h3_title .note {
 padding-right:15px;
 white-space:nowrap;
}

/*-- color-pattern ---*/
.h3_title.bg-pale-blue span:before {
 background-color:var(--blue);
}

.h3_title.bg-pale-orange span:before {
 background-color:var(--orange);
}

.h3_title.bg-orange span:before {
 background-color:var(--white);
 opacity:0.7;
}

/*------------------------------------------------------------
post-list
------------------------------------------------------------*/
.post-list {
 background-color:var(--white);
 border-top:1px solid var(--gray_dd);
 display:flex;
 flex-direction:column;
 width:100%;
}

.post-list li {
 border-bottom:1px solid var(--gray_dd);
}

.post-list li > a {
 column-gap:30px;
 display:flex;
 flex-wrap:wrap;
 padding:20px 30px;
 position:relative;
 row-gap:10px;
 width:100%;
}

.post-list li > a:after {
 content: "\f054";
 color: var(--gray_99);
 font-family:var(--icon);
 right: 16px;
 top: 50%;
 margin-top: -7px;
 position: absolute;
 font-size:1.1rem;
}

.post-list li a .pic {
 align-items:center;
 background-color:var(--gray_f0);
 display:flex;
 height:150px;
 min-width:300px;
 width:300px;
 justify-content:center;
 flex-basis: 300px;
}

.post-list li a .pic img {
 display:block;
 height:auto;
 width:100%;
 object-fit:cover;
 object-position:center top;
}

.post-list li a .news_content {
 align-content:center;
 display:flex;
 flex-wrap:wrap;
 flex-grow:1;
 justify-content:center;
 min-height: 100%;
 row-gap:10px;
 padding-right:80px;
 overflow-x:hidden;
 min-width: 300px;
 width: calc(100% - 330px);
}

.post-list li a .news_content .post_text {
 align-items: center;
 display:flex;
 flex-direction:column;
 flex-grow: 1;
 justify-content: center;
 row-gap:5px;
 width:100%;
}

.post-list li a .news_content .post_text h3 {
 color:var(--gray_33);
 font-size:2.0rem;
 font-weight:600;
 width:100%;
}

.post-list li a .news_content .post_text p {
 color:var(--gray_66);
 font-size:1.4rem;
 line-height:1.8;
 display: -webkit-box; 
 text-overflow: ellipsis;
 overflow: hidden;
 width: 100%;
}

.post-list li a .news_content .post_info {
 align-items:center;
 column-gap:10px;
 display:flex; 
 flex-shrink: 0;
 justify-content:start;
 width:100%;
}

.post-list li a .news_content .post_info .date {
 color:var(--gray_33);
 font-size:1.3rem;
}

.post-list li a .news_content .post_info .post_category {
 align-items:center;
 column-gap:3px;
 display:flex;
}

.post-list li a .news_content .post_info .post_category span {
 border-radius:3px;
 background-color:var(--gray_dd);
 font-weight:600; 
 line-height:1;
 padding:3px 4px;
}

.post-list li a .news_content .post_info .post_category span.category-news {
 background-color:var(--green);
 color:var(--white);
}

.post-list li a .news_content .post_info .post_category span.category-campaign {
 background-color:var(--light-yellow);
} 

.post-list li > a:hover {
 background-color:var(--pale-yellow);
}

/*------------------------------------------------------------
js-tab-box
------------------------------------------------------------*/
.js-tab-content {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 flex:0 1 1080px;
 row-gap:20px;
}

.js-tab-content > ul {
 align-items: start;
 display:flex;
 gap:10px;
 justify-content:center;
 flex:0 1 1080px;
 justify-content:space-between;
 padding:0 25px;
}

.js-tab-content > ul > li {
 background-color:var(--white);
 border-radius:6px;
 display:flex;
}

.js-tab-content > ul > li > dl {
 align-items:center;
 display:flex;
 flex-direction:column;
 justify-content:space-between;
 padding:15px;
 row-gap:15px;
}

.js-tab-content > ul > li > dl > dd {
 width:100%;
}

.js-tab-content > ul > li > dl > dd > a {
 align-items:center;
 column-gap:10px;
 display:flex;
 justify-content:space-between;
 border: 1px solid var(--gray_ee);
 border-radius: 3px;
 line-height: 1.6;
 padding: 15px;
 position: relative;
 width:100%;
}

.js-tab-content > ul > li > dl > dd > a:after {
content: "\f054";
color: var(--gray_99);
font-family:var(--icon);
right: 16px;
top: 50%;
margin-top: -7px;
position: absolute;
font-size:1.1rem;
}

.js-tab-content > ul > li > dl > dd > a img {
 position:absolute;
 left:15px;
 top:50%;
 margin-top:-8px;
}

.js-tab-content > ul > li.motor > dl > dd > a img {
 margin-top:-20px;
}

.js-tab-content > ul > li > dl > dd > a span {
 display: block;
 font-size: 1.5rem;
 font-weight: 600;
 line-height: 1.6;
}

.js-tab-content > ul > li > dl > dd > a:hover {
 background-color:var(--bg-hover-color);
}

.js-tab-content > ul > li > dl > dd.has-image > a {
 justify-content: start;
 padding: 15px 15px 15px 80px;
}

.js-tab-content > ul > li > dl > dd > ul > li > a {
 justify-content: start;
}

.js-tab-content > ul > li > dl > dd ul li a span {
 font-size: 1.5rem;
}

.js-tab-content > ul > li > dl > dd ul li a span br {
 display:none;
}

.js-tab-content > ul > li > a {
 align-items: center;
 background-color: var(--white);
 display: flex;
 justify-content: space-between;
 box-shadow: 0 3px 0 var(--gray_cc);
 border-radius: 6px;
 padding: 25px 25px;
 position:relative;
 width:100%;
}

.js-tab-content > ul > li > a:after {
 content: "\f054";
 color: var(--gray_99);
 font-family:var(--icon);
 right: 16px;
 top: 50%;
 margin-top: -7px;
 position: absolute;
 font-size:1.1rem;
}

.js-tab-content > ul > li > a:hover {
 background-color:var(--bg-hover-color);
}

.js-tab-content > ul > li > a:after {
 color:var(--orange);
}

.js-tab-content > ul > li > a div {
 align-items: center;
 column-gap:10px;
 display: flex;
 justify-content: start;
}

.js-tab-content > ul > li > a div span {
 font-size: 1.5rem;
 font-weight: 600;
 line-height: 1.6;
}

.js-tab-content > ul > li > dl > dd ul {
 align-items: start;
 display:flex;
 gap:10px;
 justify-content:space-between;
}

.js-tab-content > ul > li > dl > dd ul li {
 background-color:var(--white);
 border-radius:6px;
 display:flex;
 width:100%;
}

.js-tab-content > ul > li > dl > dd ul li a {
 align-items:center;
 column-gap:10px;
 display:flex;
 justify-content:start;
 border: 1px solid var(--gray_ee);
 border-radius: 3px;
 line-height: 1.6;
 padding: 15px;
 position: relative;
 width:100%;
}

.js-tab-content > ul > li > dl > dd ul li a:hover {
 background-color:var(--bg-hover-color);
}

.js-tab-content > ul > li > dl > dd ul li a:after {
 content: "\f054";
 color: var(--gray_99);
 font-family:var(--icon);
 right: 16px;
 top: 50%;
 margin-top: -7px;
 position: absolute;
 font-size:1.1rem;
}

.js-tab-content > ul.col-2 > li {
 width:calc(100% / 2 - 10px);
}

.js-tab-content > ul.col-3 > li {
 width:calc(100% / 3 - 10px);
}

.js-tab-content > ul > li.col-1-3 {
 width:calc(100% / 3 - 10px);
}

.js-tab-content > ul > li.col-2-3 {
 width:calc(100% / 3 * 2 - 10px);
}

/*------------------------------------------------------------
alert
------------------------------------------------------------*/
.alert {
 display:flex;
 padding: 15px 20px;
 gap:5px;
 flex-wrap:wrap;
 margin:0;
 border: 1px solid transparent;
 border-radius: 4px;
 line-height:1.6;
 min-width:200px;
 position:relative;
 width:100%;
}

.alert-success { background-color: #dff0d8; border-color: #d6e9c6; color: #468847;}
.alert-info { background-color: #d9edf7; border-color: #bce8f1; color: #3a87ad;}
.alert-warning { background-color: #fcf8e3; border-color: #fbeed5; color: #c09853;}
.alert-danger { background-color: #f2dede; border-color: #eed3d7; color: #b94a48;}
.alert-link { font-weight:700;}
.alert-link:hover { text-decoration:underline;}
.alert-success .alert-link { color: #356635;}
.alert-info .alert-link { color: #2d6987;}
.alert-warning .alert-link { color: #a47e3c;}
.alert-danger .alert-link { color: #953b39;}

.alert.ait_center {
 align-items:center;
}

.alert > dl {
 align-items:center;
 display:flex;
 flex:1 1 100%;
 justify-content:center;
}

.alert > dl dt {
 flex:0 0 16px;
 line-height: 1.6;
}

.alert > dl dt i {
 line-height: 1.6;
}

.alert > dl dt > img {
 height:auto;
 width:16px;
}

.alert > dl dd {
 flex:0 1 auto;
 padding-left:10px;
}

.alert > dl dd span {
 line-height:1.6;
}

.alert_box {
 display:flex;
 flex:0 0 100%;
 justify-content:center;
 margin:0;
 padding:0;
}

.alert_box > .alert {
 display:flex;
 flex:0 0 100%;
 gap:10px;
 justify-content:space-between;
}

.alert_box > .alert.ait-center {
 align-items:center;
}

.alert_box > .alert > dl {
 align-items:center;
 gap:10px;
 display:flex;
 flex:1 1 70%;
 justify-content:start;
}

.alert_box > .alert > dl > dt {
 align-items:center;
 display:flex;
 flex:0 1 auto;
 justify-content:start;
 padding:0;
}

.alert_box > .alert > dl > dt i {
 flex:0 0 30px;
}

.alert_box > .alert > dl > dt img {
 height:auto;
 width:20px;
}

.alert_box > .alert > dl > dd {
 align-items:center;
 display:flex;
 flex:1 1 auto;
 flex-wrap:wrap;
 justify-content:start;
}

.alert_box > .alert > dl > dd span {
 display:block;
 flex:0 0 100%;
 line-height:1.6;
 text-align:left;
}

.alert_box > .alert .btn {
 /*flex:1 1 200px;*/
}

.alert_box_b {
 display:flex;
 flex:0 0 100%;
 justify-content:center;
 margin:0;
 padding:0;
}

.alert_box_b > .alert {
 display: flex;
 flex: 0 0 100%;
 justify-content: space-between;
}

.alert_box_b > .alert.ait-center {
 align-items:center;
}

.alert_box_b > .alert > dl {
 align-items:center;
 display:flex;
 flex:1 1 70%;
 flex-wrap:wrap;
 justify-content:start;
}

.alert_box_b > .alert > dl > dt {
 align-items:center;
 display:flex;
 flex:0 0 100%;
 justify-content:start;
}

.alert_box_b > .alert > dl > dt span {
 font-size:1.2rem;
 line-height:1.6;
}

.alert_box_b > .alert > dl > dd {
 align-items:center;
 display:flex;
 flex:0 0 100%;
 flex-wrap:wrap;
 justify-content:start;
 margin-top:10px;
}

.alert_box_b > .alert > dl > dd span {
 display:block;
 flex:0 0 100%;
 line-height:1.6;
 text-align:left;
}

.alert_box_b > .alert p {
 align-items:center;
 column-gap:5px;
 display:flex;
 justify-content:start;
}

.alert_box_b > .alert p i {
font-size: 139%;
}

.alert_box_b > .alert p span {
font-size: 116%;
}

.alert_box.has-button .alert > dl {
 /*max-width: calc(100% - 210px);*/
}

.alert_box.has-button .btn {
 /*max-width:200px;*/
}
 
/*------------------------------------------------------------
stop
------------------------------------------------------------*/
.stop {
 display:flex;
 border:2px solid var(--deep-red);
 border-radius:6px;
 padding:20px;
 justify-content:center;
}

.stop p {
 color:var(--deep-red);
 font-size:1.5rem;
 font-weight:600;
}

/*------------------------------------------------------------
table_list
------------------------------------------------------------*/
.table_list {
 display:flex;
 flex:0 0 100%;
 justify-content:center;
 margin:0;
 padding:0;
 width: 100%;
}

.table_list .table_list_cont {
 border-radius:6px;
 display:flex;
 flex:0 1 1080px;
 justify-content:center;
 width: 100%;
 max-width:var(--max-width);
}

.table_list .table_list_cont > dl {
 border-radius:6px;
 display:flex;
 flex-direction:column;
 flex:1 1 100%;
 justify-content:center;
 width: 100%;
}

.table_list .table_list_cont > dl > dt {
 align-items:center;
 background-color:var(--gray_cc);
 /*border-radius:6px 6px 0 0;*/
 column-gap:5px;
 display:flex;
 flex:0 1 auto;
 font-size:1.8rem;
 justify-content:start;
 padding:20px;
}

.table_list .table_list_cont > dl > dt span {
 color:var(--white);
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.3;
}

.table_list .table_list_cont > dl > dt i {
 color:var(--white);
 font-size: 1.8rem;
 line-height: 1.3;
}

.table_list .table_list_cont > dl > dd {
 background-color:var(--white);
 border-top:none;
 display:flex;
 flex:1 0 auto;
 justify-content:center;
}

.table_list .table_list_cont > dl > dd.head_line {
 border-top:4px solid var(--gray_cc);
}

.table_list .table_list_cont > dl > dd:last-child {
 border-radius:0 0 6px 6px;
}

.table_list .table_list_cont > dl > dd > ul {
 display:flex;
 width:100%;
}

.table_list .table_list_cont > dl > dd > ul.di-grid {
 display:grid;
}

.table_list .table_list_cont > dl > dd > ul > li {
 border-left:1px solid var(--gray_cc);
 display:flex;
 font-size:1.2rem;
 flex-direction:column;
 row-gap:25px;
}

.table_list .table_list_cont > dl > dd.head_line > ul {
 background-color:var(--gray_ee);
}

.table_list .table_list_cont > dl > dd.head_line > ul > li {
 border-bottom:1px solid var(--gray_cc);
}

.table_list .table_list_cont > dl > dd ul.col-2 > li,
.table_list .table_list_cont > dl > dd ul.col-2 > li {
 border-left:1px solid var(--gray_cc);
 width:calc(100% / 2);
}

/*
.table_list .table_list_cont > dl > dd > ul > li:first-child,
.table_list .table_list_cont > dl > dd ul.col-2 > li:first-child {
 border-left:none;
}
*/

.table_list .table_list_cont > dl > dd ul.col-3 > li,
.table_list .table_list_cont > dl > dd ul.col-3 > li {
 border-right:1px solid var(--gray_cc);
 width:calc(100% / 3);
}

.table_list .table_list_cont > dl > dd ul.col-3 > li:last-child {
 border-right:none;
}

.table_list .table_list_cont > dl > dd > ul > li h3 {
 column-gap:10px;
 display:flex;
 font-size:1.6rem;
 padding:20px;
 width:100%;
}

.table_list .table_list_cont > dl > dd > ul > li h3 span {
 display:block;
}

.table_list .table_list_cont > dl > dd > ul > li .item-list {
 display:flex;
 flex-direction:column;
 row-gap:20px;
 padding:0 30px 30px;
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item {
 border-bottom:1px dotted var(--gray_cc);
 display:flex;
 flex-direction:column;
 row-gap:5px;
 padding-bottom:20px;
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item h4 {
 align-items:center;
 column-gap:10px;
 justify-content:space-between;
 display:flex;
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item h4 span:first-child {
 font-weight:600;
 font-size:1.9rem;
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item h4 span.condition {
 background-color:var(--white);
 border-radius: 15px;
 border:1px solid var(--blue);
 color:var(--blue);
 font-size:1.2rem;
 letter-spacing: -0.01em;
 line-height:1;
 padding: 5px 10px;
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item h4 span.both {
 border:1px solid var(--green);
 color:var(--green);
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item p {
 color:var(--gray_66);
 font-size:1.5rem;
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item table {
 border-top:1px solid var(--gray_dd);
 border-left:1px solid var(--gray_dd);
}

.table_list .table_list_cont > dl > dd > ul > li .item-list .item table th,
.table_list .table_list_cont > dl > dd > ul > li .item-list .item table td {
 border-right:1px solid var(--gray_dd);
 border-bottom:1px solid var(--gray_dd);
 font-size:1.5rem;
 padding:5px 10px;
}

.table_list .table_list_cont > dl > dd > ul > li ul {
 align-items:center;
 display:flex;
 justify-content:center;
 width:100%;
}

.table_list .table_list_cont > dl > dd > ul > li ul li {
 align-items:center;
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 justify-content:center;
 width:100%;
}

/*--- color-pattern ---*/

/*--- blue ---*/
.table_list.blue .table_list_cont > h4 {
 background-color:#0092D6;
}

.table_list.blue .table_list_cont > dl {
 border-right:4px solid var(--blue);
 border-bottom:4px solid var(--blue);
 border-left:4px solid var(--blue);
}

.table_list.blue .table_list_cont > dl > dt {
 background-color:var(--blue);
}

.table_list.blue .table_list_cont > dl > dt.condition {
 background-color:var(--blue);
}

.table_list.blue .table_list_cont > dl > dd > ul > li:first-child h3 {
 border-bottom:4px solid var(--blue);
}

.table_list.blue .table_list_cont > dl > dd > ul > li:last-child h3 {
 border-bottom:4px solid var(--pink);
}

/*=================================

2nd_page_template

=================================*/
#contents {
 background-color:var(--white);
 border-radius:10px;
 display:flex;
 flex:0 1 auto;
 flex-direction:column;
 justify-content:start;
 margin-top:-100px;
 max-width:var(--max-width);
 padding:50px;
 position:relative;
 row-gap:40px;
 width:100%;
 z-index:10;
}

#main.has_left_nav #contents {
 border-radius:10px 0 0 10px;
 margin-top:0;
 padding:0;
 max-width:calc(100% - 260px);
}

/*------------------------------------------------------------
contents_title
------------------------------------------------------------*/
.contents_title {
 border-radius:6px 6px 0 0;
 flex:0 1 auto;
 display:flex;
 flex-direction:column;
 justify-content:start;
 padding:0 20px ;
 position:relative;
 row-gap:30px;
 width:100%;
}

.contents_title .symbol {
 height:100px;
 left:50%;
 margin-left:-50px;
 margin-top:-90px;
 position:absolute;
 width:100px;
}

.contents_title .symbol figure {
 align-items:center;
 background-color:var(--white);
 border-radius:50%;
 display:flex;
 height:100px;
 justify-content:center;
 width:100px;
}

.contents_title .symbol figure i {
 font-size:2.7rem;
}

.contents_title .symbol figure img { 
 height:48px;
 width:auto;
}

.contents_title h2 {
 padding:0;
 text-align:center;
 position:relative;
 z-index:101;
}

.contents_title h2 span {
 display:block;
 font-size:2.7rem;
 font-weight:600;
 padding-bottom:20px;
}

.contents_title h2 span:before {
background-color: var(--sub2);
content: " ";
height: 5px;
position: absolute;
left: 50%;
bottom:0;
margin-left: -100px;
width:100px;
}

.contents_title h2 span:after {
background-color: var(--main);
content: " ";
height: 5px;
position: absolute;
right: 50%;
bottom:0;
margin-right:-100px;
width:100px;
}

.contents_title p {
 text-align:center;
 position:relative;
 z-index:101;
}

.contents_title p span {
 font-size:1.5rem;
 line-height:1.6;
}

/*------------------------------------------------------------
contents_title_b
------------------------------------------------------------*/
.contents_title_b {
 border-radius:6px 6px 0 0;
 flex:0 1 auto;
 display:flex;
 flex-direction:column;
 justify-content:start;
 padding:0 20px ;
 position:relative;
 row-gap:30px;
 width:100%;
}

.contents_title_b h2 {
 padding:0;
 text-align:center;
 position:relative;
 z-index:101;
}

.contents_title_b h2:after {
 background-image: url(/wp-content/themes/tds/img/common/i_start.png);
 background-position: left top;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 position: absolute;
 right: 130px;
 top:-10px;
 height: 40px;
 max-width: 40px;
 width:100%;
 z-index:1;
 aspect-ratio: 1 / 1; 
}

.contents_title_b h2 span {
 font-size: 2.7rem;
 font-weight: 600;
 position: relative;
 display: inline-block;
 padding: 10px 30px 20px 25px;
 min-width: 280px;
}

.contents_title_b h2 span:before {
 background-image: url(/wp-content/themes/tds/img/common/bg_contents_title_b_top.png);
 background-position: left top;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 position: absolute;
 left: 0;
 top:0;
 height: 100%;
 max-width: 300px;
 width:100%;
 z-index:1;
 aspect-ratio: 1191 / 218;
}

.contents_title_b h2 span:after {
 background-image: url(/wp-content/themes/tds/img/common/bg_contents_title_b_bottom.png);
 background-position: right bottom;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 position: absolute;
 right:-10px;
 bottom:0;
 height: 100%;
 max-width: 300px;
 width:100%;
 z-index:1;
 aspect-ratio: 1191 / 218;
}

/*------------------------------------------------------------
table-head-title
------------------------------------------------------------*/
.table-head-title {
 align-items: center;
 border-radius: 6px 6px 0 0;
 column-gap:10px;
 display: flex;
 justify-content: start;
 padding: 20px;
 position:relative;
 overflow:hidden;
}

.table-head-title i {
 color:var(--white);
 font-size:1.8rem;
 line-height: 1.3;
}

.table-head-title span {
 color:var(--white);
 flex:1;
 font-size:1.8rem;
 font-weight: 600;
 line-height: 1.6;
}

.table-head-title figure {
 height: 150px;
 width: 300px;
 margin: -20px;
 overflow: hidden;
 position: relative;
}

.table-head-title figure img {
 border-radius:0 6px 0 0;
 position:absolute;
 right:0;
 top:0;
 object-fit:cover;
 width:100%;;
 height:100%;
} 

/*------------------------------------------------------------
image_title
------------------------------------------------------------*/
.image_title {
 align-items:center;
 display:flex;
 justify-content:flex-end;
 flex:0 1 auto;
 margin:0 -20px;
 position:relative;
}

.image_title .image_title_cont {
 align-items:center;
 display:flex;
 justify-content:start;
 position:absolute;
 left:0;
}

.image_title .image_title_cont .title {
 display:flex;
 justify-content:start;
 margin-left:-30px;
 position:relative;
 z-index:1;
}

.image_title .image_title_cont .title h3 {
 align-items:center;
 display:flex;
 justify-content:start;
 padding:20px 80px 20px 80px;
 position:relative;
 z-index:1;
}

.image_title .image_title_cont .title h3 img {
 width:auto;
}

.image_title .image_title_cont .title h3 span {
 /*color:var(--gray_33);*/
 flex:1 0 auto;
 font-size:1.8rem;
 font-weight:600;
 padding-left:25px;
}

.image_title .image_title_cont .title h3:after {
 content:" ";
 width: 0;
 height: 0;
 border-style: solid; border-width: 0 30px 30px 0;
 border-color: transparent #715320 transparent transparent;
 left:0;
 bottom:-30px;
 position:absolute;
}

.image_title > img {
 height:200px;
 width:60%;
 object-fit:cover;
 object-position:center 30%;
}

.image_title .image_title_cont ul {
 align-items:center;
 gap:10px;
 display:flex;
 justify-content:center;
 padding:0 15px 0 15px;
}

.image_title .image_title_cont ul li {
 align-items:center;
 border-radius:3px;
 display:flex;
 justify-content:start;
 padding:0 0 0 10px;
}

.image_title .image_title_cont ul li i {
 font-size:1.3rem;
}

.image_title .image_title_cont ul li span {
 color:var(--white);
 display:block;
 font-weight:600;
 line-height:1.6;
 padding:5px 15px 5px 5px;
}

.image_title .image_title_cont ul li span.color-gray-cc {
 color:var(--gray_cc);
}

.image_title:before {
background: rgb(249,216,109);
background: linear-gradient(90deg, rgba(249,216,109,1) 0%, rgba(249,216,109,1) 45%, rgba(249,216,109,0.7) 55%, rgba(249,216,109,0.1) 60%, rgba(249,216,109,0) 100%);
content:" ";
position:absolute;
left:0;
top:0;
height:200px;
width:100%;
z-index:1;
}

/*--- color-patern ---*/
.image_title.purple:before {
 background: rgb(117,81,154);
 background: linear-gradient(90deg, rgba(117,81,154,1) 0%, rgba(117,81,154,1) 40%, rgba(117,81,154,0.7) 45%, rgba(117,81,154,0.1) 50%, rgba(117,81,154,0) 100%);
}

.image_title.purple .image_title_cont .title h3:after {
 border-color: transparent #3f245b transparent transparent;
}

.image_title.mos-green:before {
 background: rgb(114,142,74);
 background: linear-gradient(90deg, rgba(114,142,74,1) 0%, rgba(114,142,74,1) 40%, rgba(114,142,74,0.7) 45%, rgba(114,142,74,0.1) 50%, rgba(114,142,74,0) 100%);
}

.image_title.mos-green .image_title_cont .title h3:after {
 border-color: transparent #496423 transparent transparent;
}

.image_title.wine-red:before {
 background: rgb(196,98,98);
 background: linear-gradient(90deg, rgba(196,98,98,1) 0%, rgba(196,98,98,1) 40%, rgba(196,98,98,0.7) 45%, rgba(196,98,98,0.1) 50%, rgba(196,98,98,0) 100%);
}

.image_title.chamois .image_title_cont .title h3:after {
 border-color: transparent #7e3535 transparent transparent;
}

.image_title.chamois:before {
 background: rgb(211,148,31);
 background: linear-gradient(90deg, rgba(211,148,31,1) 0%, rgba(211,148,31,1) 40%, rgba(211,148,31,0.7) 45%, rgba(211,148,31,0.1) 50%, rgba(216,139,62,0) 100%);
}

.image_title.chamois .image_title_cont .title h3:after {
 border-color: transparent #7C654E transparent transparent;
}

.image_title.nile-blue .image_title_cont .title h3:after {
 border-color: transparent #3C5C59 transparent transparent;
}

.image_title.nile-blue:before {
 background: rgb(77,141,135);
 background: linear-gradient(90deg, rgba(77,141,135,1) 0%, rgba(77,141,135,1) 40%, rgba(77,141,135,0.7) 45%, rgba(77,141,135,0.1) 50%, rgba(77,141,135,0) 100%);
}

.image_title.nile-blue .image_title_cont .title h3:after {
 border-color: transparent #3C5C59 transparent transparent;
}

.image_title.light_blue .image_title_cont .title h3:after {
 border-color: transparent #0073A8 transparent transparent;
}

.image_title.light_blue:before {
 background: rgb(229,244,251);
 background: linear-gradient(90deg, rgba(229,244,251,1) 0%, rgba(229,244,251,1) 40%, rgba(229,244,251,0.7) 45%, rgba(229,244,251,0.1) 50%, rgba(229,244,251,0) 100%);
}

.image_title.light_blue .image_title_cont .title h3:after {
 border-color: transparent #0073A8 transparent transparent;
}

.image_title.light_green .image_title_cont .title h3:after {
 border-color: transparent #238053 transparent transparent;
}

.image_title.light_green:before {
 background: rgb(223,239,232);
 background: linear-gradient(90deg, rgba(223,239,232,1) 0%, rgba(223,239,232,1) 40%, rgba(223,239,232,0.7) 45%, rgba(223,239,232,0.1) 50%, rgba(223,239,232,0) 100%);
}

.image_title.light_green .image_title_cont .title h3:after {
 border-color: transparent #238053 transparent transparent;
}

.image_title.light_purple:before {
 background: rgb(230,227,237);
 background: linear-gradient(90deg, rgba(230,227,237,1) 0%, rgba(230,227,237,1) 40%, rgba(230,227,237,0.7) 45%, rgba(230,227,237,0.1) 50%, rgba(230,227,237,0) 100%);
}

.image_title.light_purple .image_title_cont .title h3:after {
 border-color: transparent #3f245b transparent transparent;
}

/*------------------------------------------------------------
flex_list
------------------------------------------------------------*/
.flex_list {
 column-gap:20px;
 display:flex;
 flex-wrap:wrap;
 flex:0 0 100%;
 justify-content:center;
 padding:30px 50px;
 row-gap:20px;
}

.flex_list.p-0 {
 padding:0;
}

.flex_list > ul {
 display:flex;
 flex-wrap:wrap;
 flex:0 0 100%;
 gap:20px;
 justify-content:space-between;
}

.flex_list .col-1-1 {
 column-gap:20px;
 display:flex;
 flex-wrap:wrap;
 flex:0 0 100%;
 justify-content:space-between;
 row-gap:20px;
}

.flex_list .col-1-1 li {
 width:calc(100% / 2 - 10px);
}

/*------------------------------------------------------------
grid_list
------------------------------------------------------------*/
.grid-list {
 align-items:start;
 display:flex;
 flex:0 1 auto;
 justify-content:center;
 padding:30px 50px;
}

.grid-list.p-0 {
 padding:0;
}

.grid-list.pb-0 {
 padding-bottom:0;
}

.grid-list.p-15 {
 padding:15px;
}

.grid-list.p-30 {
 padding:30px;
}

.grid-list > ul {
 align-items:start;
 display:grid;
 flex-wrap:wrap;
 flex:0 1 100%;
 column-gap: 20px;
 grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
 justify-content:space-between;
 row-gap: 20px;
 width:100%; 
}

.grid-list > ul li {
 align-items: center;
 display: flex;
 flex:0 1 100%;
 gap:10px;
 height:100%;
 justify-content:space-between;
 width:100%; 
}

.grid-list > ul li > a {
 align-items: start;
 display: flex;
 height:100%;
 justify-content:center;
 width:100%;
}

.grid-list > ul li a:hover i {
 color:var(--orange);
}

.grid-list > ul li img {
 height:auto;
 width:100%;
 object-fit:cover;
}

.grid-list > ul li .btn {
 width:100%;
}

.grid-list > ul li dl {
 display: flex;
 height: 100%;
 justify-content:space-between;
 position:relative;
 width:100%;
}

.grid-list > ul > li > dl > dt {
 position:relative;
 width:100%;
}

.grid-list > ul > li > dl > dt img {
object-fit: cover;
width: 100%;
height: auto;
}

.grid-list > ul li dl dt label {
 font-size:1.3rem;
 position:absolute;
 left:0;
 padding:5px 7px;
 top:0;
}

.grid-list > ul li dl dd {
 flex:1;
 overflow:hidden;
 width:100%;
}

.grid-list > ul li dl dd span {
 color:var(--gray_33);
 text-overflow: ellipsis;
 overflow: hidden;
 white-space: nowrap;
 width: 100%;
}

/*--- 2column ---*/
.grid-list > .col-2 {
 grid-template-columns: 1fr 1fr;
}

.grid-list.col-2 {
 display:grid;
 grid-template-columns: 1fr 1fr;
 gap:15px;
 padding:0;
}

/*--- 3column ---*/
.grid-list > .col-3 {
 grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
}

/*--- 4column ---*/
.grid-list > .col-4 {
 grid-template-columns: repeat(auto-fit, minmax(23%, 1fr)); 
}

/*--- 5column ---*/
.grid-list > .col-5 {
 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); 
}

/*--- 1-3 column ---*/
.grid-list.col-1-3 {
 display:grid;
 grid-template-columns: 33.3% 1fr;
 grid-gap: 30px;
}

.grid-list.col-1-3 > ul.col-1 {
 /*grid-template-columns: repeat(1, 320px);*/
 height:100%;
 width:100%;
}

.grid-list.col-1-3 > ul.col-1 li {
 height:100%;
}

.grid-list.col-1-3 > ul.col-1 li a {
 height:100%;
}

.grid-list.col-1-3 > ul.col-1 li a dl {
 /*height:100%;*/
}

.grid-list.col-1-3 > ul.col-1 li a dl dt {
 flex: 1 1 auto;
}

.grid-list.col-1-3 > ul.col-1 li a dl dt img {
 height: 100%;
 width: 100%;
 object-fit: cover;
}

.grid-list.col-1-3 > ul.col-1 li a dl dd {
 flex:0 0 28px;
}

.grid-list.col-1-3 > ul.col-3 {
 grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

/*------------------------------------------------------------
noheader_table_list
------------------------------------------------------------*/ 
.noheader_table_list {
 display:flex;
 flex:0 1 auto;
 justify-content:center;
 width:100%;
}

.noheader_table_list .table_list_cont {
 border-top:1px solid var(--gray_cc);
 display:flex;
 flex:0 1 1080px;
 flex-wrap:wrap;
 justify-content:center;
}

.noheader_table_list .table_list_cont > dl {
 border-right:1px solid var(--gray_cc);
 border-bottom:1px solid var(--gray_cc);
 border-left:1px solid var(--gray_cc);
 display:flex;
 flex:0 0 100%;
 flex-wrap:wrap;
 justify-content:space-between;
 width:100%;
}

.noheader_table_list .table_list_cont > dl > dt {
 align-content:center;
 display:flex;
 flex: 1 1 25%;
 justify-content:center;
 padding:20px;
 min-width: 200px;
}


.noheader_table_list .table_list_cont > dl > dd {
 align-content:center;
 display:flex;
 justify-content:start;
 flex: 1 0 75%;
 padding:20px;
}

.noheader_table_list .table_list_cont > dl > dd > div {
 display:grid;
 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
 width:100%;
}

/*------------------------------------------------------------
btn
------------------------------------------------------------*/
.btn {
 min-width:200px;
}

.btn > a {
 align-items:center;
 background-color:var(--white);
 border-radius:30px;
 border:1px solid var(--gray_cc);
 column-gap:5px;
 display:flex;
 font-size:1.5rem;
 justify-content:center;
 padding:15px 25px;
 position:relative;
}

.btn > a:after {
 content: "\f054";
 color: var(--gray_cc);
 font-family:var(--icon);
 right: 15px;
 top: 50%;
 margin-top: -10px;
 position: absolute;
 font-size:1.0rem;
}

.btn a > span {
 font-size:1.3rem;
 font-weight:600;
 text-overflow: ellipsis;
 line-height:1.6;
 overflow: hidden;
 padding-right:15px;
 white-space: nowrap;
}

.btn a:hover {
 background-color:var(--white);
 border:1px solid var(--main);
 box-shadow:none;
 color: var(--main);
}

.btn a:hover:after {
 color: var(--main); 
}

.btn a:hover span {
 color: var(--main);
}

.btn.large > a {
 padding:15px 30px;
}

/*--- color-pattern ---*/

.btn.blue a {
 background-color:var(--sub);
 border: 1px solid var(--sub);
}

.btn.blue a:after {
 color:var(--white);
}

.btn.blue a:hover {
 background-color:var(--white);
 border: 1px solid var(--sub);
}

.btn.blue a:hover:after {
 color:var(--sub);
}

.btn.blue a > i,
.btn.blue a > span {
 color:var(--white);
}

.btn.blue a:hover > i,
.btn.blue a:hover > span {
 color:var(--sub);
}

.btn.orange a {
 background-color:var(--orange);
}

.btn.orange a > i,
.btn.orange a > span {
 color:var(--white);
}

.btn.orange a:hover {
 background-color:var(--light-orange);
}

.btn.orange a:hover > i,
.btn.orange a:hover > span {
 color:var(--orange);
}

.btn.yellow a {
 background-color:var(--light-yellow);
 /*box-shadow:0 3px 0 #B9A526;*/
}

.btn.yellow a:hover {
 background-color:var(--light-yellow);
 /*box-shadow:var(--white);*/
}

.btn.yellow a:hover span { color:var(--blue);}

.btn.pink a {
 background-color:var(--pink);
 /*box-shadow:0 3px 0 #C4415A;*/
}

.btn.pink a:hover {
 background-color:var(--light-pink);
 /*box-shadow:var(--white);*/
}

.btn.green a {
 background-color:var(--green);
 /*box-shadow:0 3px 0 var(--deep-green);*/
}

.btn.green a:hover {
 background-color:var(--pale-green);
 /*box-shadow:var(--white);*/
}

.btn.green a > i,
.btn.green a > span {
 color:var(--white);
}

.btn.green a:hover > i,
.btn.green a:hover > span {
 color:var(--green);
}

.btn.main a {
 background-color:var(--main);
 border:1px solid var(--main);
 color:var(--white);
}

.btn.main a:hover {
 color:var(--white);
}

.btn.main a:hover:after {
 color:var(--white);
}

.btn.sub a {
 background-color:var(--sub);
 border:1px solid var(--sub);
 color:var(--white);
 font-weight:600;
}

.btn.sub a:after {
 color:var(--white);
}

.btn.sub a:hover {
 color:var(--white);
}

/*--- size ---*/
.btn.s_size > a {
 padding:5px 20px;
}

.btn.l_size > a {
 padding:15px 30px;
 min-width:260px;
}

/*------------------------------------------------------------
btn_link
------------------------------------------------------------*/
.btn_link {
 flex:1 1 auto;
}

.btn_link a {
 background-color:var(--light-yellow);
 border-radius:6px;
 box-shadow:0 3px 0 #b9ab53;
 display:flex;
 flex:0 1 auto;
 justify-content:center;
 padding:50px 40px 50px;
 position:relative;
}

.btn_link a:hover {
 background-color:#FAE97D;
 text-decoration:none;
}

/*--- color-pattern ---*/
.btn_link.light_blue a {
 background-color:#C7E9FA;
 box-shadow:0 3px 0 #80B5CE;
}

.btn_link.light_blue a:hover {
 background-color:#FAE97D;
 box-shadow: 0 3px 0 #b9ab53;
}

.btn_link a.double {
 padding:50px 40px 40px;
}

.btn_link a:after {
 color:var(--gray_cc);
 content:"\f054";
 font-family:var(--icon);
 position:absolute;
 margin-top:-4px;
 right:15px;
 top:50%;
}

.btn_link a dl {
 align-items:center;
 display:flex;
 flex-direction:column;
 justify-content:center;
 row-gap:15px;
}

.btn_link a dl dt {
 flex:0 1 auto;
 text-align:center;
}

.btn_link a dl dt i {
 font-size:3.0rem;
}

.btn_link a dl dd {
 text-align:center;
}

.btn_link a dl dd span {
 color:var(--gray_33);
 font-size:1.6rem;
 font-weight:600;
}

.btn_link a label {
 align-items:center;
 background-color:var(--white);
 column-gap:3px;
 display:flex;
 justify-content:start;
 border-radius:3px;
 position:absolute;
 top:10px;
 left:10px;
 padding:2px 5px;
}

.btn_link a label i {
 font-size:0.9rem; 
 line-height:1.6;
}

.btn_link a label span {
 font-size:0.9rem; 
 line-height:1.6;
}

.btn_link a:hover,
.btn_link a:hover {
 background-color:#FAE97D;
 text-decoration:none;
}

.btn_link a:hover:after {
 color:var(--orange);
}

.btn_link a:hover dl dt i {
 color:var(--orange);
}

.btn_link a:hover dl dd {
}

.btn_link a:hover dl dd span {
 color:var(--gray_33);
}

.btn_link a:hover .option i {
 color:var(--orange);
}

.btn_link a:hover .option span {
 color:var(--gray_33);
}

/*------------------------------------------------------------
dl-list
------------------------------------------------------------*/
.dl-list {
 display: flex;
 flex-direction: column;
 row-gap: 15px;
 align-items: start;
 justify-content: start;
 height: 100%;
}

.dl-list > dt {
width:100%;
}

.dl-list > dd {
 display:flex;
 flex-direction:column;
 row-gap:20px;
 width:100%;
}

.dl-list.has-figure {
 padding-right:200px;
 position:relative;
}

.dl-list.has-figure:after {
 background-image: url(/wp-content/themes/tdss/img/common/i_guide.webp);
 background-position: right bottom;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 position: absolute;
 right: 20px;
 bottom: -40px;
 height: auto;
 max-width: 200px;
 width:20vw;
 z-index:1;
 aspect-ratio: 181 / 200;
}

/*------------------------------------------------------------
ul-list
------------------------------------------------------------*/
.ul-list {
 display:flex;
 flex-direction:column;
 row-gap:5px;
}

.ul-list > li {
 align-items:start;
 gap:5px;
 display:flex;
 justify-content:start;
 font-size:1.4rem;
 flex:0 1 auto;
 flex-direction:column;
 padding-left:20px;
 position:relative;
}

.ul-list > li:before {
 content:"\f111";
 font-family: var(--icon);
 font-size:1.4rem;
 font-weight:700;
 left:0;
 top:1px;
 position:absolute;
}

.ul-list.purple > li:before {
 color:var(--light-purple);
}

.ul-list.mos-green > li:before {
 color:var(--light-mos-green);
}

.ul-list.wine-red > li:before {
 color:var(--wine-red );
}

.ul-list.pink > li:before {
 color:var(--pink);
}

.ul-list.blue > li:before {
 color:var(--blue);
}

.ul-list.orange > li:before {
 color:var(--pale-orange);
}

.ul-list.turquoise > li:before {
 color:var(--light-turquoise);
}

/*------------------------------------------------------------
pagination
------------------------------------------------------------*/
.pagination {
 align-items:center;
 column-gap:15px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 padding:20px 0;
 row-gap:20px;
 width:100%;
}

.pagination-nav {
 align-items:center;
 column-gap:15px;
 display:flex;
 justify-content:center;
 width:100%;
}

.pagination-nav li a {
 border:1px solid var(--gray_dd);
 color:var(--gray_33);
 font-size:1.5rem;
 padding:5px 10px;
 display:block;
}

.pagination-pages {
 align-items:center;
 column-gap:15px;
 display:flex;
 justify-content:center;
 width:100%;
}

.pagination-pages li.current {
 background-color:var(--blue);
 border:1px solid var(--blue);
 color:var(--white);
 font-size:1.5rem;
 padding:5px 10px;
}

.pagination-pages li a {
 border:1px solid var(--gray_dd);
 color:var(--gray_33);
 font-size:1.5rem;
 padding:5px 10px;
 display:block;
}

.pagination-pages a:hover {
 color:var(--blue);
}

/*------------------------------------------------------------
footer_widgets
------------------------------------------------------------*/
.footer-widgets {
column-gap:10px;
display:flex;
flex-wrap:wrap;
width: 100%;
}

.footer_cont_right_cont .footer-widgets {
 row-gap:30px;
}

.footer-widgets .footer-widget {
 display:flex;
 flex-direction:column;
 flex:1 0 auto;
 gap:15px;
 width:calc(100% / 3 - 15px);
}

.footer-widgets .footer-widget:first-child {
 width:25%;
}

.footer-widgets .footer-widget:nth-child(2) {
 width:25%;
}

.footer-widgets .footer-widget h4 {
 font-size:1.4rem;
 font-weight:600;
}

.footer-widgets .footer-widget h4 span {
 font-size:1.4rem;
 font-weight:600;
}

.footer-widgets .footer-widget ul {
 display:flex;
 flex-direction:column;
 row-gap:5px;
}

.footer-widgets .footer-widget ul li {

}

.footer-widgets .footer-widget ul li a {
 display:flex;
 font-size:1.4rem;
 padding:0 0 0 16px;
 position:relative;
}

.footer-widgets .footer-widget ul li a:before {
 background-color:var(--main);
 width:6px;
 height:10px;
 content:" ";
 clip-path: polygon(0 0, 100% 50%, 0 100%);
 margin-top:-5px;
 position:absolute;
 left:0;
 top:50%;
}

.footer-widgets .footer-widget ul li a:hover {
 color:var(--link);
}

.footer-widgets .footer-widget:last-child ul {
 column-gap:35px;
 flex-direction:unset;
 justify-content:start;
 width:100%;
}

/*------------------------------------------------------------
slide_area
------------------------------------------------------------*/
#slide_wrap {
 overflow:hidden;
 display:flex;
 flex:1;
 padding:0;
}

#slide_wrap ul.slideshow {
 align-items:center;
 display:flex;
 justify-content:space-between;
 animation: loop-slide 60s infinite linear 1s both;
 -webkit-animation: loop-slide 60s infinite linear 1s both;
 flex:1;
}

#slide_wrap ul.slideshow li {
 flex:0 0 auto;
 width:300px;
 height:160px;
}

#slide_wrap ul.slideshow li img {
 height:160px;
 width:280px;
 object-fit:cover;
 opacity:0;
 -webkit-transition:opacity 3s;
 transition:opacity 3s;
}
 
#slide_wrap ul.slideshow li img.lazyloaded {
 opacity:1;
}

@-webkit-keyframes loop-slide {
  from {
 transform: translateX(0);
  }
  to {
 transform: translateX(-100%);
  }
}

@keyframes loop-slide {
  from {
 transform: translateX(0);
  }
  to {
 transform: translateX(-100%);
  }
}

#slide_wrap.slide_paused:hover ul.slideshow {
 -webkit-animation-play-state:paused;
 animation-play-state: paused;
}

#slide_wrap.slide_paused:active ul.slideshow {
 -webkit-animation-play-state:paused;
 animation-play-state:paused;
}

/*------------------------------------------------------------
bg_line
------------------------------------------------------------*/
.bg_line {
 position:relative;
 overflow:hidden;
 width:100%;
}

.bg_line:before {
 aspect-ratio: 12 / 9;
 background-image: url(/wp-content/themes/tds/img/common/bg_figure01.webp);
 background-position: left top;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 left: -5vw;
 top: -2vw;
 position: absolute;
 width: 25vw;
 max-width:280px;
 height: 25vw;
 z-index:1;
}

.bg_line:after {
 aspect-ratio: 12 / 9;
 background-image: url(/wp-content/themes/tds/img/common/bg_figure01.webp);
 background-position: left top;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 right: -5vw;
 bottom:-2vw;
 position: absolute;
 width: 25vw;
 height: 25vw;
 max-width:280px;
 z-index:1;
}

.bg_line.pattern2:before {
 top:auto;
 left: -10vw;
 bottom: -12vw;
}

.bg_line.pattern2:after {
 right: -5vw;
 top: -7vw;
}

/*------------------------------------------------------------
grecaptcha-badge
------------------------------------------------------------*/
.grecaptcha-badge {
 z-index:101;
} 

/*------------------------------------------------------------
single-page
------------------------------------------------------------*/
.content-wrap {
 display: flex;
 flex-direction: column;
 row-gap: 30px;
 font-size: 1.5rem;
 line-height: 2.0;
 padding:0;
 z-index:1;
 max-width: 980px;
 margin: 0 auto;
 position:relative;
 width:100%;
}

.content-wrap img {
 max-width:100%;
 height:auto;
}

/*------------------------------------------------------------
work_style_list
------------------------------------------------------------*/
.work_style_list {
 padding:40px 5vw 20px;
 position:relative;
 width: 100%;
 z-index:2;
}

.work_style_list ul {
 column-gap:40px;
 display:flex;
 justify-content:space-between;
 flex-wrap:wrap;
 max-width:980px;
 margin: 0 auto;
 row-gap:0;
}

.work_style_list ul li {
 border-radius:15px;
 display:flex;
 flex-direction:column;
 flex: 1 1 auto;
 padding:30px;
 position:relative;
 width:calc(100% / 2 - 30px);
}

.work_style_list ul li:first-child {
 width:100%;
}

.work_style_list ul li h4 {
 display:flex;
 font-size:1.8rem;
 font-weight:600;
 justify-content:center;
}

.work_style_list ul li figure {
 align-items:center;
 /*aspect-ratio: 13 / 10;*/
 display:flex;
 justify-content:center;
}

.work_style_list ul li figure img {
 height:auto;
 max-width:200px;
 width:100%;
}

.work_style_list ul li .style_title {
 aspect-ratio: 270 / 104;
 display:flex;
 justify-content:center;
 top:-22px;
 right:0;
 bottom:auto;
 left:0;
 margin:auto;
 position:absolute;
}

.work_style_list ul li .style_title img {
 height:40px;
 width:auto;
}

.work_style_list ul li .work_time {
 background-color:var(--white);
 border-radius:6px 6px 0 0;
 padding:0 10px 10px;
 display:flex;
 flex-direction:column;
 row-gap:5px;
 align-items:center;
 justify-content:center;
}

.work_style_list ul li:first-child .work_time {
 padding:0 10px 25px;
}

.work_style_list ul li .work_time h6 {
 color:var(--main);
 font-size:1.8rem;
 font-weight:600;
 text-align:center;
 width:100%;
}

.work_style_list ul li .work_time > p {
 font-size:1.3rem;
 text-align:center;
 width:100%;
}

.work_style_list ul li dl.holiday {
 display:flex;
 justify-content:center;
 flex-direction:column;
 row-gap:15px;
 margin-top:-15px;
 margin-bottom:5px;
 position:relative;
 z-index:2;
}

.work_style_list ul li dl.holiday dt {
 display:flex;
 justify-content:center;
 position:relative;
}

.work_style_list ul li dl.holiday dt span {
 background-color:var(--main);
 border-radius:20px;
 display:block;
 font-size:1.2rem;
 font-weight:600;
 line-height:1.4;
 padding:5px 10px;
 position:relative;
 text-align:center;
 width:100%;
}

.work_style_list ul li dl.holiday dt span:after {
 background-color:var(--main);
 width: 20px;
 height: 16px;
 content:" ";
 clip-path: polygon(0 0, 100% 0%, 50% 100%);
 position:absolute;
 left:50%;
 margin-left:-10px;
 bottom:-10px;
}

.work_style_list ul li dl.holiday dd {
 display:flex;
 justify-content:center;
}

.work_style_list ul li dl.holiday dd .date {
 align-items:flex-end;
 display:flex;
 justify-content:center;
}

.work_style_list ul li dl.holiday dd .date span:first-child {
 color:var(--sub);
 font-size:2.8rem;
 font-weight:600;
 line-height: 1;
}

.work_style_list ul li dl.holiday dd .date span:nth-child(2) {
 font-size:1.2rem;
 font-weight:600;
 line-height: 1;
}

.work_style_list ul li .h5 {
 display:flex;
 justify-content:center;
 padding:20px 0 40px;
} 

.work_style_list ul li h5 span {
 font-size:1.8rem;
 font-weight:600;
}

.work_style_list ul li:first-child {
 background-color:#CFEEFA;
}

.work_style_list ul li:first-child dl.holiday dt span {
 background-color:#009FE8;
 color:var(--white);
}

.work_style_list ul li:first-child dl.holiday dt span:after {
 background-color:#009FE8;
}

.work_style_list ul li:nth-child(2) {
 width: 100%;
}

.work_style_list ul li:nth-child(2) h5 {
 display:flex;
 justify-content:center;
}

.work_style_list ul li:nth-child(2) h5 span {
 font-size:1.8rem;
 font-weight:600;
}

.work_style_list ul li:nth-child(3) {
 background-color:#DAFAF4;
}

.work_style_list ul li:nth-child(3) dl.holiday dt span {
 background-color:#0EA199;
 color:var(--white);
}

.work_style_list ul li:nth-child(3) dl.holiday dt span:after {
 background-color:#0EA199; 
}

.work_style_list ul li:nth-child(4) {
 background-color:#FDF8D8;
}

.work_style_list ul li:nth-child(4) dl.holiday dt span {
 background-color:var(--light-yellow);
}

.work_style_list ul li:nth-child(4) dl.holiday dt span:after {
 background-color:var(--light-yellow);
}

.work_style_list ul li .work_style_detail {
 column-gap:30px;
 display:flex;
 justify-content:center;
 /*flex-direction:column;*/
 flex-wrap:wrap;
 flex:1;
 row-gap:0;
 padding:0;
}

.work_style_list ul li:first-child .work_style_detail {
 margin-top:15px;
}

.work_style_list ul li .work_style_detail dl {
 align-items:center;
 background-color:var(--white);
 border-radius:0;
 display:flex;
 flex-direction:column;
 justify-content:center;
 row-gap:0;
 padding:0 15px 15px;
 width:100%;
}

.work_style_list ul li .work_style_detail dl:last-child {
 border-radius:0 0 6px 6px;
 padding:0 15px 25px;
}

.work_style_list ul li:first-child .work_style_detail dl {
 padding:15px;
}

.work_style_list ul li .work_style_detail dl dt {
 font-weight:600;
 font-size:1.4rem;
 line-height:1.6;
 text-align:center;
 width:100%;
}

.work_style_list ul li .work_style_detail dl dd {
 line-height:1.6;
 font-size:1.4rem;
 text-align:center;
 width:100%;
}

.work_style_list ul li .work_style_detail p.note {
 font-size:1.1rem;
 margin-top:10px; 
 text-align:center;
 width:100%;
}

.work_style_list ul li:first-child figure img {
 max-width:300px;
}

.work_style_list ul li:first-child .work_style_detail dl {
 width:calc(100% / 2 - 15px);
}

/*------------------------------------------------------------
conversion
------------------------------------------------------------*/
.conversion {
 background-color:var(--white);
 display:flex;
 justify-content:center;
 padding:50px 5vw;
}

.conversion .conversion_cont {
 display:flex;
 justify-content:center;
 max-width:1080px;
}

.conversion .conversion_cont ul {
 column-gap:80px;
 display:flex;
 justify-content:center;
 max-width: 1080px;
 width: 100%;
}

.conversion .conversion_cont ul li {
 min-width:260px;
 max-width:calc(100% / 2 - 20px);
}

.conversion .conversion_cont ul li a {
 background-color:var(--main);
 border-radius:6px;
 color:var(--white);
 display:flex;
 font-size:1.6rem;
 font-weight:600;
 justify-content:center;
 padding:25px 30px;
 position:relative;
}

.conversion .conversion_cont ul li a:after {
 color:var(--white);
 content:"\f054";
 font-family:var(--icon);
 font-size:1.2rem;
 position:absolute;
 margin-top:-9px;
 right:15px;
 top:50%;
}

.conversion .conversion_cont ul li.entry a {
 background-color:var(--sub);
}

.conversion .conversion_cont ul li a:hover {
 opacity:0.7;
}

/*------------------------------------------------------------
requirements_list
------------------------------------------------------------*/
.requirements_list {
 align-items: center;
 display:flex;
 flex-direction: column;
 flex: 0 1 auto;
 justify-content: start;
 row-gap:0;
 padding: 50px 5vw;
 position:relative;
}

.requirements_list .requirements_list_cont {
 background-color: var(--white);
 border-radius: 10px 10px 0 0;
 display: flex;
 flex: 0 1 auto;
 flex-direction: column;
 justify-content:center;
 max-width: var(--max-width);
 padding: 0 50px 20px;
 position: relative;
 row-gap: 20px;
 width: 100%;
 margin:0 auto;
 max-width:980px;
 z-index:100;
}

.requirements .requirements_cont h2 {
 align-items: center;
 display:flex;
 flex-direction: column; 
 justify-content:center;
 position:relative;
 width:100%;
}

.requirements_list .requirements_list_cont h2 span {
 font-size:2.6rem;
 font-weight:600;
 padding:50px 20px 20px;
 position:relative;
 display:block;
 text-align:center;
 width:100%;
}

.requirements_list .requirements_list_cont h2 span:before {
 background-color:var(--main);
 content:" ";
 height:5px;
 position:absolute;
 left:50%;
 top:0;
 margin-left:-120px;
 width:120px;
}

.requirements_list .requirements_list_cont h2 span:after {
 background-color:var(--sub);
 content:" ";
 height:5px;
 position:absolute;
 right:50%;
 top:0;
 margin-right:-120px;
 width:120px;
}

.requirements_list .requirements_list_cont ul {
 column-gap:20px;
 display:flex;
 justify-content:space-between;
 padding:0 5vw;
}

.requirements_list .requirements_list_cont ul li {
 width:calc(100% / 3 - 20px);
}

.requirements_list .requirements_list_cont ul li a {
 align-items:start;
 border-radius: 10px;
 display: flex; 
 height: 100%;
 flex-grow: 1;
 justify-content:center;
 padding:25px 20px;
 position:relative;
}

.requirements_list .requirements_list_cont ul li a:before {
 background-color: var(--white);
 border-radius: 10px;
 border: 1px solid var(--main);
 content:" ";
 height:100%;
 position:absolute;
 top:0;
 width:100%;
 z-index:1; 
}

.requirements_list .requirements_list_cont ul li a dl {
 align-items: center;
 display: flex; 
 justify-content:center;
 flex-direction:column;
 row-gap:10px;
 z-index:2;
}

.requirements_list .requirements_list_cont ul li a dl dt {
 align-items: center;
 display: flex; 
 justify-content:center;
}

.requirements_list .requirements_list_cont ul li a dl dt img {
 aspect-ratio:22 / 30;
 height:auto;
 max-width:80px;
}

.requirements_list .requirements_list_cont ul li a dl dd {
 font-size:1.5rem;
 line-height:1.6;
 text-align:center;
}

.requirements_list .requirements_list_cont ul li a:hover:before {
 background-color: var(--light-yellow);
 border-radius: 10px;
 border: 1px solid var(--light-yellow);
 content:" ";
 height:100%;
 position:absolute;
 width:100%;
 z-index:1;
}

.requirements_list .requirements_list_bottom {
 background-color: var(--white);
 border-radius: 0 0 10px 10px;
 display: flex;
 flex: 0 1 auto;
 flex-direction: column;
 justify-content:center;
 max-width: var(--max-width);
 padding: 0 50px 30px;
 position: relative;
 width: 100%;
 margin:0 auto;
 max-width:980px;
 z-index:100;
}

.requirements_list .requirements_list_bottom dl {
 align-items: center;
 display: flex; 
 justify-content:center;
 flex-direction:column;
}

.requirements_list .requirements_list_bottom dl dt {
 color:var(--gray_cc);
 font-size:2.2rem;
 line-height:1.6;
 font-family:Roboto,Helvetica, Arial;
}

.requirements_list .requirements_list_bottom dl dd {
 color:var(--gray_cc);
 font-size:1.2rem;
 font-family:Roboto,Helvetica, Arial;
 line-height:1.6;
}

/*------------------------------------------------------------
requirements_detail_list
------------------------------------------------------------*/
.requirements_detail_list {
 align-items: center;
 display:flex;
 flex-direction: column;
 flex: 0 1 auto;
 justify-content: start;
 row-gap:50px;
 padding: 0 5vw;
 position:relative;
}

.requirements_detail_list:before {
 background-image: url(/wp-content/themes/tds/img/common/i_start.png);
 background-position: left top;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 position: absolute;
 right: 30px;
 top:-40px;
 height:40px;
 max-width: 40px;
 width:100%;
 z-index:1;
 aspect-ratio: 1 / 1; 
}

.requirements_detail_list:after {
 background-image: url(/wp-content/themes/tds/img/common/i_start.png);
 background-position: left bottom;
 background-repeat: no-repeat;
 background-size: contain;
 content: " ";
 position: absolute;
 left: 10px;
 bottom: 0px;
 height: 40px;
 max-width: 40px;
 width: 100%;
 z-index: 1;
 aspect-ratio: 1 / 1;
}

.requirements_detail_list .requirements_detail_list_cont {
 /*background-color: var(--white);*/
 border-radius:0;
 column-gap:20px;
 display: flex;
 flex: 0 1 auto;
 flex-direction: column;
 justify-content:center;
 max-width: var(--max-width);
 padding: 20px 0 0;
 position: relative;
 row-gap: 80px;
 width: 100%;
 z-index:100;
}

.requirements_detail_list .requirements_detail_list_cont ul {
 column-gap:50px;
 display:flex;
 flex-wrap:wrap;
 justify-content:space-between;
 row-gap:50px;
}

.requirements_detail_list .requirements_detail_list_cont ul li {
 display:flex;
 justify-content:space-between;
 flex-direction:column;
 row-gap:15px;
 padding:0 30px;
 position:relative;
 width:calc(100% / 2 - 25px);
}

.requirements_detail_list .requirements_detail_list_cont ul li:after {
 background-color:var(--gray_dd);
 content:" ";
 height:100%;
 position:absolute;
 right:-30px;
 top:0;
 width:1px;
}

.requirements_detail_list .requirements_detail_list_cont ul li:nth-child(even):after {
 content:none;
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.occupation {
 display:flex;
 justify-content:space-between;
 row-gap:15px;
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.occupation dt {
 display:flex;
 justify-content:center;
 width:120px;
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.occupation dt img {
 aspect-ratio: 22 / 30;
 height: auto;
 max-width: 120px;
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.occupation dd {
 align-items:center;
 display:flex;
 font-size: 2.0rem;
 font-weight:600;
 justify-content:center;
 line-height:1.6;
 text-align:center;
 flex:1;
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.jobs {
 align-items:center;
 display:flex;
 flex-direction:column;
 justify-content:start;
 row-gap:5px;
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.jobs dt {
 /*color:var(--main);*/
 font-size: 1.4rem;
 font-weight:600;
 text-align:center;
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.jobs dd {
 align-items:center;
 column-gap:15px;
 display:flex;
 justify-content:center; 
}

.requirements_detail_list .requirements_detail_list_cont ul li dl.jobs dd span {
 background-color:var(--black);
 border-radius:20px;
 color:var(--white);
 display:block;
 font-size: 1.2rem;
 padding:5px 20px;
}

.requirements_detail_list .requirements_detail_list_cont ul li p {
 font-size: 1.5rem;
 flex-grow:1;
 font-weight:400;
 line-height:1.8;
}

.requirements_detail_list .requirements_detail_list_cont ul li p.note {
 font-size: 1.2rem;
 font-weight:400;
 line-height:1.6; 
}

.requirements_detail_list .requirements_detail_list_cont ul li .btn_link_area {
 column-gap:20px;
 display:flex;
 justify-content:space-between;
}

.requirements_detail_list .requirements_detail_list_cont ul li .btn_link_area .btn {
 min-width:auto;
 width:calc(100% / 2 - 10px);
}

.requirements_detail_list .requirements_detail_list_cont ul li .btn_link_area .btn a {
 background-color:var(--main);
 border:1px solid var(--main);
 color:var(--white);
 display:block;
 font-size: 1.4rem;
 padding:10px 20px; 
 text-align:center;
}

.requirements_detail_list .requirements_detail_list_cont ul li .btn_link_area .btn a:after {
 color:var(--white);
 opacity:0.7;
}

.requirements_detail_list .requirements_detail_list_cont ul li .btn_link_area .btn a:hover {
 opacity:0.7;
}

.requirements_detail_list .requirements_detail_list_cont ul li .btn_link_area .btn a:hover:after {
 color:var(--white);
}

.requirements_detail_list .requirements_detail_list_bottom {
 display:flex;
 justify-content:center;
 width:100%; 
 z-index:2;
}

.requirements_detail_list .requirements_detail_list_bottom ul {
 column-gap:40px;
 display:flex;
 justify-content:center;
 width:100%;
}

.requirements_detail_list .requirements_detail_list_bottom ul li {
 column-gap:20px;
 display:flex;
 justify-content:center;
 min-width:auto;
}

.requirements_detail_list .requirements_detail_list_bottom ul li .btn {
}

.requirements_detail_list .requirements_detail_list_bottom ul li .btn a {
 display:block;
 font-size: 1.4rem;
 padding:10px 20px;
 text-align:center;
}

/*------------------------------------------------------------
process
------------------------------------------------------------*/
#process {
 align-items: center;
 display:flex;
 flex-direction: column;
 flex: 0 1 auto;
 justify-content: start;
 row-gap:50px;
 padding: 0 5vw;
 position:relative;
}

#process:before  {
 background-image: url(/wp-content/themes/tds/img/common/bg_step.webp);
 background-position:center center;
 background-repeat: no-repeat;
 background-size: contain;
 content:" ";
 height:100%;
 position:absolute;
 width:100%;
}

#process #process_cont {
 border-radius:0;
 column-gap:20px;
 display: flex;
 flex: 0 1 auto;
 flex-direction: column;
 justify-content:center;
 max-width: var(--max-width);
 padding: 20px 0 0;
 position: relative;
 row-gap: 50px;
 width: 100%;
 z-index:100;
}

#process #process_cont ul {
 column-gap:20px;
 display:flex;
 width:100%;
}

#process #process_cont ul li {
 display: flex;
 flex-direction: column;
 position: relative;
 row-gap: 20px;
 width:calc(100% / 3 - 20px);
}

#process #process_cont ul li .number {
 align-items:center;
 display:flex;
 justify-content:center;
 position:relative;
}

#process #process_cont ul li:before {
 border:1px dotted var(--gray_99);
 content:" ";
 height:1px;
 position:absolute;
 left:-50%;
 top:30px;
 width:100%;
}

#process #process_cont ul li:first-child:before {
 content:none;
}

#process #process_cont ul li .number span {
 background-color:var(--white);
 border:1px solid var(--gray_dd);
 border-radius:50%;
 font-size:1.5rem;
 font-weight:600;
 height:60px;
 line-height:60px;
 text-align:center;
 width:60px;
 z-index:2;
}

#process #process_cont ul li dl {
 display:flex;
 flex-direction:column;
 justify-content:center;
 row-gap:10px;
}

#process #process_cont ul li dl dt {
 display:flex;
 justify-content:center;
}

#process #process_cont ul li dl dt img {
 aspect-ratio:1 / 1;
 height: 80px;
 max-width: 80px;
 width: 100%;
}

#process #process_cont ul li dl dd {
 text-align:center;
}

/*------------------------------------------------------------
banner
------------------------------------------------------------*/
.banner {
 padding:80px 5vw; 
}

.banner a {
 align-items:center;
 display:flex;
 justify-content:center;
 overflow:hidden;
}

.banner a figure {
 max-width:780px;
 width:100%;
}

.banner a figure img {
 height:100%;
 opacity:0;
 -webkit-transition:opacity 3s, transform 0.35s ease-in-out;
 transition: opacity 3s, transform 0.35s ease-in-out;
 width:100%;
}

.banner a figure img.lazyloaded {
 opacity:1; 
}

.banner a:hover figure img {
 opacity:0.7;
 transform: scale(1.15) rotate(2deg);
}

/*------------------------------------------------------------
banner_area
------------------------------------------------------------*/
.banner_area {
 padding:80px 5vw;
}

.banner_area .banner_area_cont {
 display:flex;
 flex-direction:column;
 row-gap:40px;
 max-width:880px;
 margin:0 auto;
}

.banner_area .banner_area_cont ul {
 display:flex;
 column-gap:40px;
 justify-content:center;
 row-gap:40px;
 width:100%;
}

.banner_area .banner_area_cont ul li {
 display:flex;
}

.banner_area .banner_area_cont ul li a {
 display:flex;
 align-items:center;
 justify-content:center;
}

.banner_area .banner_area_cont ul li a img {
 height:100%;
 opacity:0;
 -webkit-transition:opacity 3s;
 transition: opacity 3s;
 width:100%;
}

.banner_area .banner_area_cont ul li a img.lazyloaded {
 opacity:1; 
}

.banner_area .banner_area_cont ul:first-child li {
 width:calc(100% / 2 - 20px);
 max-width:420px;
}

.banner_area .banner_area_cont ul:nth-child(2) li {
 width:calc(100% / 3 - 20px);
 max-width:300px;
}

.banner_area .banner_area_cont ul li a:hover {
 opacity:0.8;
}

/*------------------------------------------------------------
training_system
------------------------------------------------------------*/
.training_system {
 padding: 50px 5vw 0;
}

.training_system .training_system_cont {
 display: flex;
 flex-direction: column;
 max-width: 880px;
 margin: 0 auto;
}

.training_system .training_system_cont a {
 display:block;
 overflow:hidden;
}

.training_system .training_system_cont a img {
 height:auto;
 width:100%;
}

.training_system .training_system_cont a:hover img {
 opacity:0.7;
}

/*------------------------------------------------------------
scroll_nav
------------------------------------------------------------*/
.scroll_nav {
 position: relative;
 display: flex;
 justify-content: flex-end;
 width: 100%;
 padding-right: 52px;
 z-index: 10;
 transform-origin:left center;
}

.scroll_nav_line {
 position: absolute;
 right:0;
 top:50%;
 width:44px;
 height:0px;
 margin-top:-1px;
}

.scroll_nav_line:after {
 content:" ";
 display: block;
 width: 100%;
 height: 0;
 border-color:var(--main);
 border-bottom-width:2px;
 border-style:solid;
 transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0s linear 0.5s;
 transform-origin:left center ;
 transform: scale(0.001, 1);
 opacity: 0;
}

.scroll_nav_text {
 color:var(--main);
 font-size: 1.1rem;
 font-weight:400;
 line-height:1;
 overflow: hidden;
}

.scroll_nav_text span {
 display: block;
 transform: translate3d(0, 100%, 0);
 transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.scroll_nav.is-active.is-inview .scroll_nav_text {
 animation: bounce 2.5s infinite;
}

.scroll_nav.is-active.is-inview .scroll_nav_text span {
 transform: none;
}

.scroll_nav.is-active.is-inview .scroll_nav_line {
 animation: scroll_nav-line 2.5s infinite 851ms;
}

.scroll_nav.is-active.is-inview .scroll_nav_line:before {
 content:" ";
 width: 0;
 height: 0;
 border-top-width:5px;
 border-top-style: solid;
 border-bottom-width:5px;
 border-top-color:transparent;
 border-bottom-style: solid;
 border-bottom-color:transparent;
 border-left-width:9px;
 border-left-style: solid;
 border-left-color:var(--main);
 border-right:none;
 right:-1px;
 top:50%;
 margin-top:-4px;
 position:absolute;
 z-index:3; 
}

.scroll_nav.is-active.is-inview .scroll_nav_line:after {
 transform: none;
 opacity: 1;
 transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1), opacity 0s linear;
}

.is-body-touch .scroll_nav {
 display:none;
}

@keyframes scroll_nav-line {
0% {
 transform-origin: 0% 50%;
 transform: scale(1, 1); }
20% {
 transform-origin: 100% 50%;
 transform: scale(0.9, 1); }
20.01% {
 transform-origin: 100% 50%; }
38% {
 transform-origin: 100% 0%;
 transform: scale(0, 1); }
}

@keyframes bounce {
0%, 15%, 38%, 60%, 75% {
 transform: translateX(0); }
30% {
 transform: translateX(-10px); }
45% {
 transform: translateX(-5px); }
}

/*------------------------------------------------------------
causal_meeting
------------------------------------------------------------*/
#causal_meeting {
 position:fixed;
 bottom:10px;
 left:10px;
 z-index:103;
 display:none;
}

#causal_meeting a {
 align-items:center;
 background-color:var(--light-yellow);
 border-radius:6px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 padding:15px 20px 20px;
 row-gap:5px;
 max-width:200px;
}

#causal_meeting a figure {
 aspect-ratio: 116 / 94;
 max-width:70px;
}

#causal_meeting a figure img {
 height:100%;
 width:100%;
}

#causal_meeting a dl {
 align-items:center;
 display:flex;
 flex-direction:column;
 justify-content:center;
 row-gap:5px;
}

#causal_meeting a dl dt {
 font-size:1.2rem;
 font-weight:600;
}

#causal_meeting a dl dd {
 font-size:1.1rem;
}

#causal_meeting a:hover {
 opacity:0.8;
}

/*------------------------------------------------------------
sitemap
------------------------------------------------------------*/
#sitemap {
 display: flex;
 flex-direction: column;
 row-gap: 50px;
 padding: 0 50px 20px;
}

#sitemap h3 {
 font-size: 1.5rem;
}

#sitemap p {
 font-size: 1.5rem;
}

#sitemap .widget-area {
 column-gap: 45px;
 display: flex;
 flex-wrap: wrap;
 justify-content: start;
 row-gap: 30px;
 width: 100%;
}

#sitemap .widget-area .footer-widget {
 column-gap: 10px;
 display: flex;
 flex-direction: column;
 row-gap: 10px;
 min-width: calc(100%/5);
}

#sitemap .widget-area .footer-widget h4 a {
 color:var(--gray_33);
 font-size: 1.5rem;
 font-weight: 600;
}

#sitemap .widget-area .footer-widget h4 a:hover {
 color: var(--link);
}

#sitemap .widget-area .footer-widget ul {
 display: flex;
 flex-direction: column;
 row-gap: 5px;
}

#sitemap .widget-area .footer-widget ul li {
 display: flex;
 flex-direction: column;
 row-gap: 5px;
}

#sitemap .widget-area .footer-widget ul li a {
 align-items: center;
 column-gap: 5px;
 color: var(--gray_33);
 font-size: 1.3rem;
 display: flex;
 padding:0 0 0 20px;
 position:relative;
}

#sitemap .widget-area .footer-widget ul li a:before {
 background-color: var(--main);
 width: 6px;
 height: 10px;
 content: " ";
 clip-path: polygon(0 0, 100% 50%, 0 100%);
 margin-top: -5px;
 position: absolute;
 left: 0;
 top: 50%;
}

#sitemap .widget-area .footer-widget ul li a:hover {
 color: var(--link);
}

/*------------------------------------------------------------
section_list
------------------------------------------------------------*/
ul.section_list {
 display:flex;
 flex-direction:column;
 position:relative;
 width:100%;
}

ul.section_list:before {
 background-image: linear-gradient(90deg, rgba(4, 71, 156, 1), rgba(107, 239, 213, 1));
 content:"";
 height:1px;
 position:absolute;
 left:0;
 top:0;
 width:200px;
}

ul.section_list:after {
 background-color:var(--gray_dd);
 content:"";
 height:1px;
 position:absolute;
 right:0;
 top:0;
 width:calc(100% - 220px);
}

ul.section_list li {
 display:flex;
 flex-direction:column;
 position:relative;
}

ul.section_list li:before {
 background-image: linear-gradient(90deg, rgba(4, 71, 156, 1), rgba(107, 239, 213, 1));
 content:"";
 height:1px;
 position:absolute;
 left:0;
 bottom:0;
 width:200px;
}

ul.section_list li:after {
 background-color:var(--gray_dd);
 content:"";
 height:1px;
 position:absolute;
 right:0;
 bottom:0;
 width:calc(100% - 220px);
}

ul.section_list li dl {
 align-items:center;
 column-gap:20px;
 display:flex;
 flex:0 0 100%;
 justify-content:start;
 padding:35px 0 40px 0;
 row-gap:15px;
 position:relative;
 width:100%;
}

ul.section_list li dl dt {
 align-items:center;
 column-gap:15px;
 display:flex;
 flex:1 1 20%;
 font-weight:600;
 justify-content:center;
 line-height:2.2;
 padding:0;
 min-width: 200px;
 flex-grow: 1;
}

ul.section_list li dl dd {
 column-gap:20px;
 display:flex;
 font-size:1.5rem;
 line-height:2.2;
 flex-wrap:wrap;
 width:100%;
}

ul.section_list li dl dd h3 {
 font-size:1.5rem;
 font-weight:600;
 line-height:2.2;
 margin-bottom:5px;
 width:100%;
}

ul.section_list li dl dd p {
 line-height:2.2;
 margin-bottom:25px;
 width:100%;
}

ul.section_list li dl dd .btn {
 margin-bottom:25px;
}

ul.section_list li dl dd p:last-child {
 margin-bottom:0;
}

ul.section_list li dl dd .btn:last-child {
 margin-bottom:0;
}

ul.section_list li dl dd p a {
 color:var(--link);
}

ul.section_list li dl dd p a:hover {
 text-decoration:underline;
}

ul.section_list li dl dd.checklist > span {
 padding-left:24px;
 position:relative;
 width:calc(100% / 2 - 10px);
}

ul.section_list li dl dd.checklist > span:before {
 background-image: url(/wp-content/themes/tds/img/common/i_check.webp);
 background-position:center center;
 background-repeat: no-repeat;
 background-size: contain;
 content:" ";
 height:16px;
 position:absolute;
 left:0;
 top:5px;
 width:100%;
 max-width:16px;
}

ul.section_list li dl dd .note {
 font-size:1.2rem;
 line-height:1.6;
}

/*------------------------------------------------------------
section_block
------------------------------------------------------------*/
.section_block {
 display: flex;
 border-top:1px solid var(--gray_dd);
}

.section_block .section_block_cont {
 align-items: center;
 text-shadow: none;
 text-align: center;
 flex: 1 1 1080px;
 display: flex;
 justify-content: center;
 margin:0 auto;
 padding:0;
 position: relative;
}

.section_block .section_block_cont .section_block_title {
 display: flex;
 justify-content:center;
 align-items: start;
 flex-direction: column;
 row-gap: 20px;
 padding: 0 50px;
 width: 100%;
 z-index: 2;
 max-width: 880px;
 margin: 0 auto;
 min-height: 300px;
}

.section_block .section_block_cont .section_block_title figure {

}

.section_block .section_block_cont .section_block_title figure img {
 height:80px;
 width:auto;
}

.section_block .section_block_cont .section_block_title p {
 font-size:1.6rem;
 font-weight:600;
 text-align:left;
}

.section_block .section_block_cont > img {
 border-radius: 0 0 0 30px;
 height: 300px;
 object-fit: cover;
 object-position: left 25%;
 position: absolute;
 right: 0;
 width: 60%;
 z-index:1; 
}

/*------------------------------------------------------------
section_cont
------------------------------------------------------------*/
.section_cont {
 display:flex;
}

.section_cont .section_cont_left {
 width:300px;
}

.section_cont .section_cont_left .pic {
 height:100%;
 min-height:300px;
 width:300px;
}

.section_cont .section_cont_left .pic img {
 border-radius:0 10px 10px 0;
 height:100%;
 object-fit:cover;
}

.section_cont .section_cont_right {
 display:flex;
 flex-direction:column;
 flex:1;
 row-gap:25px;
 padding: 50px 5vw 50px 50px;
}

.section_cont .section_cont_right h3 {
 font-size:2.6rem;
 font-weight:600;
 line-height:1;
}

/*------------------------------------------------------------
animation
------------------------------------------------------------*/
.border {
 display: inline;
 position: relative;
 background: linear-gradient(transparent 75%, #DAFAF4 0%);
 background-size: 0% 100%;
 background-repeat: no-repeat;
 transition: background-size 3s ease-out;
}

.animationStart .border {
 background-size: 100% 100%;
}

.border.yellow {
 background: linear-gradient(transparent 75%, #fffad6 0%);
}

@keyframes border_anim {
  0%{
　background:transparent;
    width: 0%;
  }
  100%{
　background: linear-gradient(transparent 70%, #f00 0%);
    width: 100%;
  }
}


/* fadeUp */
.fadeUp {
 animation-name:fadeUpAnime;
 animation-duration:0.5s;
 animation-fill-mode:forwards;
 opacity:0;
}

@keyframes fadeUpAnime{
  from {
  opacity: 0;
  transform: translateY(100px);
  }
  to {
  opacity: 1;
  transform: translateY(0);
  }
}
.fadeUpTrigger{
  opacity: 0;
}

/* fadeFromLeft */
.fadeFromLeft {
 animation-timing-function:ease;
 animation-name:fadeFromLeftAnime;
 animation-delay:0.65s;
 animation-duration:1.5s;
 animation-fill-mode:forwards;
 opacity:0;
}

@keyframes fadeFromLeftAnime{
  from {
 opacity: 0;
  transform: translateX(-100px);
  }
  to {
  opacity: 1;
  transform: translateX(10px);
  }
}

.fadeFromLeftTrigger{
 opacity: 0;
}

/* fadeFromRight */
.fadeFromRight {
animation-timing-function:ease;
animation-name:fadeFromRightAnime;
animation-delay:0.65s;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeFromRightAnime{
  from {
 opacity: 0;
  transform: translateX(5vw);
  }
  to {
 opacity: 1;
  transform: translateX(0);
  }
}
.fadeFromRightTrigger{
 opacity: 0;
}

/* fadeIn */
.fadeIn {
animation-name:fadeInAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeInAnime{
  from {
 opacity: 0;
  }
  to {
 opacity: 1;
  }
}
.fadeInTrigger {
 opacity: 0;
}

/* bound */
.bound {
animation-name: bound-anim;
animation-duration: 1.5s;
animation-iteration-count: 1;
transform: translateY(0);

}
@keyframes bound-anim {
	0% { transform:scale(1) translateY(0); }
	30% { transform:scale(0.96,1.04) translateY(-20px); }
	60% { transform: scale(1) translateY(0); }
	90% { transform: scale(1.15,0.9) translateY(-20px); }
}

/*--- borderScale ---*/

@keyframes border-scale {
 0% {
 transform: scale(0, 1);
 }
 100% {
 transform: scale(1, 1);
 }
}

/*--- fadeUpLazy ---*/

.fadeUp .fadeIn500ms {
 animation-name: fadeIn500ms;
 animation-delay: 500ms;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 opacity: 0;
 transform: translateY(30px);
}

@keyframes fadeIn500ms {
 0% {
 }
 100% {
 opacity: 1;
 transform: translateY(-0);
 }
}

.fadeUp .fadeIn1000ms {
 animation-name: fadeIn1000ms;
 animation-delay: 1s;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 opacity: 0;
 transform: translateY(30px);
}

@keyframes fadeIn1000ms {
 0% {
 }
 100% {
 opacity: 1;
 transform: translateY(-0);
 }
}

.animation_on .fadeIn1500ms,
.fadeUp .fadeIn1500ms {
 animation-name: fadeIn1500ms;
 animation-delay: 1500ms;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 opacity: 0;
 transform: translateY(30px);
}

@keyframes fadeIn1500ms {
 0% {
 }
 100% {
 opacity: 1;
 transform: translateY(-0);
 }
}

.fadeUp .fadeIn2000ms {
 animation-name: fadeIn2000ms;
 animation-delay: 2s;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 opacity: 0;
 transform: translateY(30px);
}

@keyframes fadeIn2000ms {
 0% {
 }
 100% {
 opacity: 1;
 transform: translateY(-0);
 }
}

.fadeUp .fadeIn2500ms {
 animation-name: fadeIn2500ms;
 animation-delay: 2500ms;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 opacity: 0;
 transform: translateY(30px);
}

@keyframes fadeIn2500ms {
 0% {
 }
 100% {
 opacity: 1;
 transform: translateY(-0);
 }
}

.fadeUp .fadeIn3000ms {
 animation-name: fadeIn3000ms;
 animation-delay: 3s;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 opacity: 0;
 transform: translateY(30px);
}

@keyframes fadeIn3000ms {
 0% {
 }
 100% {
 opacity: 1;
 transform: translateY(-0);
 }
}

.fadeUp .fadeIn3500ms {
 animation-name: fadeIn3500ms;
 animation-delay: 3500ms;
 animation-duration: 1.5s;
 animation-fill-mode: forwards;
 opacity: 0;
 transform: translateY(30px);
}

@keyframes fadeIn3500ms {
 0% {
 }
 100% {
 opacity: 1;
 transform: translateY(-0);
 }
}

/*------------------------------------------------------------
staff_voice
------------------------------------------------------------*/
#staff_voice {
 display:block;
 justify-content:center;
 flex-direction:unset;
 flex:0;
 padding:0 0 50px 0;
}

#staff_voice .title {
 align-items:center;
 background-color:var(--white);
 background-image:url('/wp-content/themes/tds/img/top/bg_staff_voice.webp');
 background-position:right top;
 background-repeat:no-repeat;
 background-size:50vw auto;
 display:flex;
 justify-content:center;
 max-height:500px;
 padding:50px 5vw;
 overflow:hidden;
 position:relative;
 width:100%;
 z-index:2;
}

#staff_voice .title figure {
 aspect-ratio:3 / 2;
 max-height:160px;
 position:relative;
 width:auto;
}

#staff_voice .title figure:after {
 aspect-ratio:68 / 102;
 background-image:url('/wp-content/themes/tds/img/common/figure_voice.webp');
 background-position:center bottom;
 background-repeat:no-repeat;
 background-size:contain;
 content:" ";
 right:-20px;
 bottom:0px;
 position:absolute;
 width:68px;
 height:102px;
 z-index:1;
}

#staff_voice .title figure img {
 height:100%;
 width:100%;
}

#staff_voice .title h2 {
 background-color:#0EA199;
 background-image:url('/wp-content/themes/tds/img/top/bg_title_training_system.png');
 background-position:center center;
 background-repeat:no-repeat;
 background-size:cover;
 border-radius:10px;
 display:flex;
 justify-content:center;
 padding:50px;
 position:relative;
 min-width:70vw;
 max-width:980px;
}

#staff_voice .title h2 span {
 border:6px solid var(--white);
 color:var(--white);
 display:block;
 font-size:1.8rem;
 font-weight:600;
 padding:15px 45px;
}

#staff_voice #staff_voice_cont {
 display:flex;
 justify-content:space-between;
 flex-direction:column;
 padding:50px 5vw;
 max-width: 1080px;
 margin: 0 auto;
}

#staff_voice #staff_voice_cont ul#voice_list .slick-list {
 overflow:visible;
}

#staff_voice #staff_voice_cont ul#voice_list {
 width: 980px;
 z-index:1;
}

#staff_voice #staff_voice_cont ul#voice_list li {
 background-color:var(--white);
 border-radius:20px;
 column-gap:50px;
 display:flex;
 justify-content:space-between;
 padding:50px;
 position:relative;
 float: left;
}

#staff_voice #staff_voice_cont ul#voice_list li:before {
 aspect-ratio:58 / 42;
 background-image:url('/wp-content/themes/tds/img/top/i_quote_gray.png');
 background-position:center bottom;
 background-repeat:no-repeat;
 background-size:contain;
 content:" ";
 left:50px;
 top:-20px;
 position:absolute;
 width:58px;
 height:42px;
 z-index:1;
}

#staff_voice #staff_voice_cont ul#voice_list li:after {
 aspect-ratio:58 / 42;
 background-image:url('/wp-content/themes/tds/img/top/i_quote_gray.png');
 background-position:center bottom;
 background-repeat:no-repeat;
 background-size:contain;
 content:" ";
 right:50px;
 bottom:-20px;
 position:absolute;
 width:58px;
 height:42px;
 z-index:1;
 transform:rotate(-180deg);
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_left {
 display:flex;
 flex-direction:column;
 justify-content:center;
 row-gap:20px;
 width:calc(50% - 25px);
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_left h2 {
 font-size:3.2rem;
 font-weight:600;
 line-height:1.6;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_left p {
 font-size:1.4rem;
 line-height:1.6;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_left dl dd img {
 height:auto;
 max-width:400px;
 width:100%;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_right {
 align-items:center;
 display:flex;
 justify-content:center;
 position:relative;
 width:calc(50% - 25px);
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_right p {
 left:-30px;
 top:40px;
 position:absolute;
 z-index:3;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_right p span {
 background-color:var(--main);
 border-radius:6px;
 color:var(--white);
 display:block;
 font-size:1.1rem;
 font-weight:600;
 padding:10px 20px;
 position:relative;
 z-index:3;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_right p span:after {
 background-color:var(--main);
 width:20px;
 height:16px;
 content:" ";
 clip-path:polygon(0 0, 100% 0%, 100% 100%);
 position:absolute;
 right:30px;
 bottom:-15px;
 z-index:3;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_right figure {
 aspect-ratio:1 / 1;
 max-width:500px;
 width:100%;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_right figure img {
 height:100%;
 opacity:0;
 -webkit-transition:opacity 3s;
 transition: opacity 3s;
 width:100%;
}

#staff_voice #staff_voice_cont ul#voice_list li .voice_detail_right figure img.lazyloaded {
 opacity:1; 
}

#staff_voice #voice_thumbnail {
 column-gap:20px;
 display:flex;
 justify-content:center;
 margin-top:-40px;
 position:relative;
 width:100%;
 z-index:2;
}

#staff_voice #voice_thumbnail .slick-list,
#staff_voice #voice_thumbnail .slick-track {
 width:100%;
 display:flex;
 justify-content:center;
 column-gap:30px;
}

#staff_voice #voice_thumbnail li {
 width:auto !important;
}

#staff_voice #voice_thumbnail li figure {
 aspect-ratio:1 / 1;
 background-color:var(--white);
 border-radius:40px;
 border:3px solid var(--gray_cc);
 height:80px;
 width:80px;
}

#staff_voice #voice_thumbnail li figure img {
 border-radius:40px;
 height:100%;
 opacity:0;
 -webkit-transition:opacity 3s;
 transition: opacity 3s;
 width:100%;
}

#staff_voice #voice_thumbnail li figure img.lazyloaded {
 opacity:1;
}

#staff_voice #voice_thumbnail li.slick-current figure {
 background-color:var(--light-yellow);
}

#staff_voice .btn {
 max-width:280px;
 margin:0 auto;
}

/*------------------------------------------------------------
qualifications
------------------------------------------------------------*/
#qualifications {
 background-color:#F2FBFF;
 padding:50px 5vw;
}

#qualifications #qualifications_cont {
 background-color:var(--white);
 border-radius:20px;
 display:flex;
 justify-content:center;
 flex-direction:column;
 margin:0 auto;
 max-width:980px;
 row-gap:30px;
 padding:50px 50px;
 width:100%;
}

#qualifications #qualifications_cont .caption {
 display:flex;
 justify-content:center;
 margin-top:-50px; 
}

#qualifications #qualifications_cont .caption span {
 background-color: var(--sub);
 border-radius: 40px;
 color:var(--white);
 display: block;
 font-size: 1.6rem;
 font-weight: 600;
 line-height: 1.4;
 padding: 10px 10px;
 position: relative;
 text-align: center;
 width: 100%;
 max-width:500px;
}

#qualifications #qualifications_cont .caption span:after {
 background-color: var(--sub);
 width: 20px;
 height: 16px;
 content: " ";
 clip-path: polygon(0 0, 100% 0%, 50% 100%);
 position: absolute;
 left: 50%;
 margin-left: -10px;
 bottom: -10px;
}

#qualifications #qualifications_cont h2 {
 display: inline-block;
 font-size:3.2rem;
 line-height:1.6;
 font-weight:600;
 text-align:center;
}

#qualifications #qualifications_cont p {
 font-size:1.5rem;
 line-height:1.6;
 text-align:center;
}

#qualifications #qualifications_cont .btn {
 display:flex;
 justify-content:center; 
 max-width: 280px;
 margin: 0 auto;
}

.qualifications_map {
 display:flex;
 justify-content:center;
}

.qualifications_map ul {
 align-items:center;
 column-gap:20px;
 display:flex;
 justify-content:center;
 padding-bottom:30px;
}

.qualifications_map ul li {
 min-width:calc(100% / 3 - 30px);
 max-width:calc(100% / 2 - 30px);
 position:relative;
}

.qualifications_map ul li:nth-child(2) {
 max-width:60px;
 min-width:60px;
}

.qualifications_map ul li img {
 aspect-ratio:1 / 1;
 height:auto;
 width:100%;
 max-width:300px;
}

.qualifications_map ul li:first-child:after {
 aspect-ratio:41 / 55;
 background-image:url('/wp-content/themes/tds/img/workstyle/i_career_up.webp');
 background-position:center bottom;
 background-repeat:no-repeat;
 background-size:contain;
 content:" ";
 bottom: -40px;
 left: 50%;
 position: absolute;
 width: 82px;
 height: 110px;
 z-index: 1;
 margin-left: -42px;
}

.qualifications_map ul li:last-child:after {
 aspect-ratio:41 / 55;
 background-image:url('/wp-content/themes/tds/img/workstyle/i_salary_up.webp');
 background-position:center bottom;
 background-repeat:no-repeat;
 background-size:contain;
 content:" ";
 bottom: -40px;
 left: 50%;
 position: absolute;
 width: 82px;
 height: 110px;
 z-index: 1;
 margin-left: -38px;
}