@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'),
	local('Yu Gothic Medium'),
	local('YuGothic-Regular');
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'),
	local('Yu Gothic');
}
/* oleo-script-regular - latin */
@font-face {
	font-display: swap;
	font-family: 'Oleo Script';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/oleo-script-v14-latin-regular.woff2') format('woff2'),
		url('../fonts/oleo-script-v14-latin-regular.woff') format('woff');
}
/* oleo-script-700 - latin */
@font-face {
	font-display: swap;
	font-family: 'Oleo Script';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/oleo-script-v14-latin-700.woff2') format('woff2'),
		url('../fonts/oleo-script-v14-latin-700.woff') format('woff');
}

body { min-width: 1240px; min-height: 100vh; background: #fff; color: #000; font-size: 14px; font-weight: normal; line-height: 1.5; font-family : MyYuGothicM, YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; -webkit-text-size-adjust: 100%; position: relative; font-feature-settings: "palt"; letter-spacing: 0.08em;}
body.noscroll{ overflow: hidden;}

.mincho{ font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;}
.gothic{ font-family : MyYuGothicM, YuGothic, sans-serif;}

input,
select,
textarea { font-size: 13px;}

div { box-sizing: border-box;}

a { color: #000; text-decoration: none;}
a:hover { color: #000; text-decoration: underline;}
a:hover img { opacity: 0.75;}

.ofi { object-fit: cover; width: 100%; height: 100%;}

.br_pc{ display: block;}
.br_sp{ display: none;}
.view_pc{ display: block;}
.view_sp{ display: none;}

.oleo{ font-family: 'Oleo Script';}

.inner{ width: 90%; max-width: 1200px; margin: 0 auto;}
.inner_lg{ width: 90%; max-width: 1400px; margin: 0 auto;}
.inner_sm{ width: 90%; max-width: 1000px; margin: 0 auto;}

@media screen and (max-width: 600px) {
body,
input,
select,
textarea { font-size: 16px;}
body { min-width: 0;}
.br_pc{ display: none;}
.br_sp{ display: block;}
.view_pc{ display: none;}
.view_sp{ display: block;}
}

/* ---------------------------------------------------
	Global Header
------------------------------------------------------ */
#g_header { position: fixed; width: 100%; min-width: 1240px; height: 90px; z-index: 200; background: #fff;}
.hd_logo{ padding: 20px 0 0 2%; width: 245px; height: auto;}
.hd_logo img{ width: 100%; height: auto;}
.hd_list{ display: flex; position: absolute; top: 0; right: 340px; height: 90px;}
.hd_list li{ position: relative;}
.hd_list li a{ display: flex; align-items: center; height: 90px; font-size: 18px; font-weight: bold; padding: 0 20px;}
.hd_list li a:hover{ color: #ff7200; text-decoration: none;}
.hd_list .hd_list_in { display: none; width: 360px; position: absolute; top: 90px; left: 0; background-color: #fff; padding: 0 0 5px; }
.hd_list li:hover .hd_list_in { display: block; }
.hd_list .hd_list_in li { height: 50px; position: relative; }
.hd_list .hd_list_in li:not(:first-child)::before{ content: ""; width: 320px; height: 1px; background-color: #eee8dc; position: absolute; top: 0; left: 20px; }
.hd_list .hd_list_in li a { display: flex; justify-content: flex-start; align-items: center; color: #000; text-decoration: none; position: relative; height: 50px; font-size: 16px; font-weight: bold; padding: 0 20px;}
.hd_list .hd_list_in li a::before { content: ''; display: block; width: 8px; height: 8px; border-top: 2px solid #f77900; border-left: 2px solid #f77900; transform: rotate(135deg); position: absolute; right: 25px; top: calc(50% - 4px); transition: right 0.5s; }
.hd_list .hd_list_in li a:hover::before { right: 20px; }
.hd_btn_01{ width: 90px; height: 90px; position: absolute; top: 0; right: 250px; display: flex; justify-content: center; align-items: center; cursor: pointer; transition: opacity 0.5s; opacity: 1;}
.hd_btn_01::before,
.hd_btn_01::after{ content: ""; position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto auto; display: block; width: 40px; height: 2px; background: #c9c9c9; transform-origin: center center; opacity: 0; transition: opacity 0.5s;}
.hd_btn_01:hover::before,
.hd_btn_01:hover::after{ background: #999;}
.hd_btn_01::before{ transform: rotate(-45deg);}
.hd_btn_01::after{ transform: rotate(45deg);}
.hd_btn_01 img{ opacity: 1; transition: opacity 0.5s;}
.hd_btn_01.on img{ opacity: 0;}
.hd_btn_01.on::before,
.hd_btn_01.on::after{ opacity: 1;}
.hd_btn_02{ width: 240px; position: absolute; top: 0; right: 0;}
.hd_btn_02 a{ display: block; height: 90px; width: 100%; font-size: 18px; font-weight: bold; color: #fff; text-align: center; line-height: 90px; background: rgb(251,159,25); background: rgb(255,114,0); background: linear-gradient(90deg, rgba(255,114,0,1) 0%, rgba(255,114,0,1) 100%);}
.hd_btn_02 a:hover{ text-decoration: none; background: rgb(251,159,25); background: linear-gradient(90deg, rgba(251,159,25,1) 0%, rgba(255,130,4,1) 100%);}
.hd_btn_03{ display: none;}

@media screen and (max-width: 600px) {
#g_header { height: 56px; min-width: 100%;}
.hd_logo{ padding: 9px 0 0 10px; width: 146px;}
.hd_list{ display: none; }
.hd_btn_01{ width: 56px; height: 56px; right: 110px;}
.hd_btn_01::before,
.hd_btn_01::after{ content: ""; position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto auto; display: block; width: 30px; height: 2px; background: #c9c9c9; transform-origin: center center; opacity: 0; transition: opacity 0.5s;}
.hd_btn_02{ width: 44px; height: 44px; top: 6px; right: 60px;}
.hd_btn_02 a{ height: 44px; width: 44px; border-radius: 44px; background: #ff7200 url("../img/ico_mail_01.svg") 11px 12px no-repeat; background-size: 26px; text-indent: 100%; white-space: nowrap; overflow: hidden;}
.hd_btn_02 a:hover{ background: #ff7200 url("../img/ico_mail_01.svg") 11px 12px no-repeat; background-size: 26px;}
.hd_btn_03{ display: block;}
}

/* ---------------------------------------------------
	Side Menu
------------------------------------------------------ */
@media screen and (max-width: 600px) {
#sidemenu { height: 56px; width: 56px; box-sizing: border-box; cursor: pointer; position: fixed; z-index: 201; top: 0; right: 0; background: #fff;}
#sidemenu > .bar{ transition: all 0.3s; box-sizing: border-box; position: absolute; height: 2px; width: 100%; text-indent: 100%; white-space: nowrap; overflow: hidden; z-index: 2; transform-origin: center center;}
#sidemenu > .bar::after{ content: ""; height: 2px; width: 30px; display: block; background: #ff7200; position: absolute; top: 0; left: 0;}
#sidemenu > .bar:nth-of-type(1) { top: 18px; left: 13px;}
#sidemenu > .bar:nth-of-type(2) { top: 27px; left: 13px;}
#sidemenu > .bar:nth-of-type(3) { top: 36px; left: 13px; width: 30px;}
/*#sidemenu:hover > .bar:nth-of-type(3) { width: 20px;}*/
#sidemenu.on > .bar:nth-of-type(1) { transform: rotate(135deg); top: 37px; left: -8px; }
#sidemenu.on > .bar:nth-of-type(2) { opacity: 0; }
#sidemenu.on > .bar:nth-of-type(3) { transform: rotate(-135deg); top: 28px; left: 14px; width: 30px;}
#sidemenu.on > .bar::after{ background: #c9c9c9;}
/*#sidemenu:hover > .bar::after{ background: #999;}*/
}

/* ---------------------------------------------------
	Form Site Search
------------------------------------------------------ */
.form_sitesearch{ border: solid 1px #d2d2d2; border-radius: 70px; height: 70px; width: 100%; display: flex; justify-content: space-between;}
.form_sitesearch input[type="text"]{ height: 70px; width: 70%; font-size: 18px; line-height: 70px; padding: 0 20px 0 100px; border: none; border-radius: 0; outline: none; background-image: url("../img/ico_loupe_01.svg"); background-repeat: no-repeat; background-position: left 45px center; background-color: transparent !important; background-size: 30px; outline: none; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

.form_sitesearch input[type="text"]:-webkit-autofill,
.form_sitesearch input[type="text"]:autofill { transition: background-color 10000s ease-in-out 0s; background-image: url("../img/ico_loupe_01.svg") !important; background-repeat: no-repeat; background-position: left 45px center; background-color: transparent !important; background-size: 30px;}

.form_sitesearch input[type="submit"] { width: 30%; height: 70px; border-radius: 0 70px 70px 0; background: #ff9542; color: #fff; font-size: 18px; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; outline:none; }
.form_sitesearch input[type="submit"]:hover{ text-decoration: none; background: rgb(251,159,25); background: linear-gradient(90deg, rgba(251,159,25,1) 0%, rgba(255,130,4,1) 100%);}

@media screen and (max-width: 600px) {
.form_sitesearch{ border-radius: 50px; height: 50px;}
.form_sitesearch input[type="text"] { height: 50px; width: 70%; font-size: 16px; line-height: 50px; padding: 0 10px 0 60px; background-position: left 25px center; background-size: 20px;
}
.form_sitesearch input[type="submit"] { width: 30%; height: 50px; border-radius: 0 50px 50px 0; font-size: 16px;}
}

/* ---------------------------------------------------
Box Sub Header
------------------------------------------------------ */
.sub_header{ display: flex; flex-direction: column; align-items: flex-end; background: #f1f1f1; border-top: solid 1px #e4e4e4; border-bottom: solid 1px #e4e4e4; /*position: fixed;*/position: absolute; top: 90px; left: 0; width: 100%; min-width: 1240px; height: 110px; z-index: 100;}
.sub_header.fixed{ position: fixed; top: 0;}
.sub_header .sub_logo{ width: 167px; position: absolute; top: 15px; left: 2%;}
.sub_header .sub_box_01{ display: flex; justify-content: flex-end; padding: 15px 2% 0 0;}
.sub_header .sub_box_01 .sub_telnum{ padding: 0 20px 0 0;}
.sub_header .sub_box_01 .sub_telnum .sub_tel{ font-size: 18px; line-height: 1.1;}
.sub_header .sub_box_01 .sub_telnum .sub_tel .tel-link{ font-size: 24px;}
.sub_header .sub_box_01 .sub_telnum .sub_open{ font-size: 14px; line-height: 1.1;}
.sub_header .sub_box_01 .sub_telnum .sub_ico{ display: none;}
.sub_header .sub_box_01 .sub_btn_01,
.sub_header .sub_box_01 .sub_btn_02{ background: #333; color: #fff; font-size: 16px; line-height: 38px; height: 40px; display: block; border-radius: 5px; position: relative; border: solid 1px #333; box-sizing: border-box; transition: all 0.5s;}
.sub_header .sub_box_01 .sub_btn_01:hover,
.sub_header .sub_box_01 .sub_btn_02:hover{ color: #333; background: #fff; text-decoration: none;}
.sub_header .sub_box_01 .sub_btn_01::after,
.sub_header .sub_box_01 .sub_btn_02::after{ content: ""; display: block; width: 8px; height: 8px; transform: rotate(-45deg); transform-origin: center center; position: absolute; top: 0; bottom: 0; right: 15px; margin: auto 0; transition: all 0.5s;}
.sub_header .sub_box_01 .sub_btn_01::after{ border-right: solid 2px #5bb446; border-bottom: solid 2px #5bb446;}
.sub_header .sub_box_01 .sub_btn_02::after{ border-right: solid 2px #c56f30; border-bottom: solid 2px #c56f30;}
.sub_header .sub_box_01 .sub_btn_01:hover::after,
.sub_header .sub_box_01 .sub_btn_02:hover::after{ border-right: solid 2px #333; border-bottom: solid 2px #333; right: 10px;}
.sub_header .sub_box_01 .sub_btn_01{ padding: 0 40px 0 30px; margin: 0 8px 0 0;}
.sub_header .sub_box_01 .sub_btn_02{ padding: 0 55px; margin: 0;}
.sub_header .sub_box_02{ padding: 10px 2% 0 0;}
.sub_header .sub_box_02 .scroll,
.sub_header .sub_box_02 .scroll .simplebar-mask,
.sub_header .sub_box_02 .scroll .simplebar-offset{ position: static;}
.sub_header .sub_box_02 .scroll .simplebar-scrollbar{ height: 0;}
.sub_header .sub_box_02 .scroll .simplebar-placeholder{ display: none;}
.sub_header .sub_box_02 ul{ display: flex;}
.sub_header .sub_box_02 ul li{ margin: 0 0 0 30px; font-size: 16px; line-height: 1.1;}
.sub_header .sub_box_02 ul li a{ display: block; padding: 10px 0;}
.sub_header .sub_box_02 ul li a:hover{ color: #ff7200; text-decoration: none;}
.sub_header .sub_box_02 ul li .nolink{ display: block; padding: 10px 0; color: #aaa;}

@media screen and (max-width: 600px) {
.sub_header{ border-bottom: solid 1px #bfbfbf; top: 56px; min-width: 100%; height: 144px; overflow: hidden;}
.sub_header .sub_logo{ width: 96px; top: 8px; left: 10px;}
.sub_header .sub_box_01{ flex-wrap: wrap; padding: 5px 2% 0; width: 100%;}
.sub_header .sub_box_01 .sub_telnum{ padding: 10px 0 10px 120px; width: 100%; text-align: right;}
.sub_header .sub_box_01 .sub_telnum .sub_tel{ font-size: 14px; transition: opacity 0.5s; opacity: 100;}
.sub_header .sub_box_01 .sub_telnum .sub_tel .tel-link{ font-size: 19px;}
.sub_header .sub_box_01 .sub_telnum .sub_open{ font-size: 11px; transition: opacity 0.5s; opacity: 100;}
.sub_header.fixed .sub_box_01 .sub_telnum .sub_tel,
.sub_header.fixed .sub_box_01 .sub_telnum .sub_open{ opacity: 0;}
.sub_header .sub_box_01 .sub_telnum .sub_ico{ display: block; visibility: visible; opacity: 0; position: absolute; top: 15px; right: 70px; transition: opacity 0.5s;}
.sub_header.fixed .sub_box_01 .sub_telnum .sub_ico{ opacity: 100; transition-delay: 0.5s;}
.sub_header .sub_box_01 .sub_btn_01,
.sub_header .sub_box_01 .sub_btn_02{ font-size: 13px; line-height: 28px; height: 30px; border-radius: 5px; text-align: center;}
.sub_header .sub_box_01 .sub_btn_01::after,
.sub_header .sub_box_01 .sub_btn_02::after{ right: 10px;}
.sub_header .sub_box_01 .sub_btn_01:hover::after,
.sub_header .sub_box_01 .sub_btn_02:hover::after{ border-right: solid 2px #333; border-bottom: solid 2px #333; right: 5px;}
.sub_header .sub_box_01 .sub_btn_01{ width: 59%; padding: 0; margin: 0 2% 0 0;}
.sub_header .sub_box_01 .sub_btn_02{ width: 39%; padding: 0; margin: 0;}
.sub_header .sub_box_02{ padding: 0; border-top: solid 1px #bfbfbf; width: 100%; overflow: hidden; position: absolute; bottom: 0; left: 0;}
.sub_header .sub_box_02 .scroll{ width: 100%; overflow-x: auto; white-space: nowrap; overflow-scrolling: touch; position: relative;}
.sub_header .sub_box_02 .scroll .simplebar-mask{ position: absolute;}
.sub_header .sub_box_02 .scroll .simplebar-offset{ position: absolute;}
.sub_header .sub_box_02 .scroll .simplebar-track.simplebar-horizontal { bottom: 0px !important; height: 6px !important; background: #B5B5B5; border-radius: 0; margin: 0; }
.sub_header .sub_box_02 .scroll .simplebar-scrollbar { height: 6px !important; background: #666; border-radius: 0; top: 0 !important; }
.sub_header .sub_box_02 .scroll .simplebar-scrollbar:before{ background-color: transparent;}
.sub_header .sub_box_02 .scroll .simplebar-placeholder{ display: block;}
.sub_header .sub_box_02 ul{ width: 100%;}
.sub_header .sub_box_02 ul li{ margin: 0 10px; font-size: 13px; display: inline-block;}
.sub_header .sub_box_02 ul li a{ padding: 15px 10px 19px;}
.sub_header .sub_box_02 ul li .nolink{ padding: 15px 10px 19px;}
}

/* ---------------------------------------------------
	Global Navigation
------------------------------------------------------ */
#gnav { transition: all 0.5s; opacity: 0; visibility: hidden; display: none;}

@media screen and (max-width: 600px) {
#gnav { position: fixed; top: 0px; right: 0; overflow: auto; width: 100%; height: calc( 100% - 56px ); padding: 0; box-sizing: border-box; z-index: 199; background-color: #fff; display: block;}
#gnav.on { opacity: 1; visibility: visible; top: 56px;}
#gnav .gnav_inner{ padding: 30px 0 0; width: 90%; margin: 0 auto; background: #fff; box-sizing: border-box;}
#gnav .gnav_list{ font-weight: bold; font-size: 17px; padding: 15px 0 0;}
#gnav .gnav_list li{ border-bottom: solid 1px #d5d5d5;}
#gnav .gnav_list li:last-child{ border-bottom: none;}
#gnav .gnav_list li a{ display: block; width: 100%; padding: 15px 0;}
#gnav .gnav_list .gnav_list_in{ font-weight: normal; font-size: 15px;}
#gnav .gnav_list .gnav_list_in li{ border-bottom: none;}
#gnav .gnav_list .gnav_list_in li a{ padding: 0 0 15px 15px;}
#gnav .gn_btn_01{ width: 100%;}
#gnav .gn_btn_01 a{ display: block; width: 100%; background: #ff7200; color: #fff; font-size: 18px; text-align: center; padding: 15px 0;}
#gnav #gnav_close{ display: block; color: #c9c9c9; font-size: 14px; padding: 45px 0 0; width: 80px; height: 30px; margin: 20px auto 0; text-align: center; position: relative; cursor: pointer;}
#gnav #gnav_close::before,
#gnav #gnav_close::after{ content: ""; display: block; width: 40px; height: 2px; background: #c9c9c9; position: absolute; top: 25px; left: 0; right: 0; margin: 0 auto; transform-origin: center center;}
#gnav #gnav_close::before{ transform: rotate(-45deg);}
#gnav #gnav_close::after{ transform: rotate(45deg);}
#gnav #gnav_close:hover{ color: #999;}
#gnav #gnav_close:hover::before,
#gnav #gnav_close:hover::after{ background: #999;}
}

/* ---------------------------------------------------
	Site Search
------------------------------------------------------ */
#sitesearch { position: fixed; top: 0; bottom: 0; right: 0; overflow: auto; width: 100%; padding: 0; box-sizing: border-box; z-index: 198; transition: all 0.5s; opacity: 0; visibility: hidden; background-color: #fff; background-image: url("../img/bg_deco_01.png"); background-repeat: no-repeat; background-position: calc( 50% - 500px ) top; background-size: 507px;}
#sitesearch.on { opacity: 1; visibility: visible; top: 90px;}
#sitesearch .sitesearch_inner{ padding: 180px 0 0; width: 700px; /*min-height: 100%;*/ margin: 0 auto; box-sizing: border-box;}
#sitesearch .sitesearch_tit{ font-size: 18px; font-weight: bold; line-height: 1; position: relative; padding: 0 0 10px; margin: 100px 0 20px;}
#sitesearch .sitesearch_tit::before,
#sitesearch .sitesearch_tit::after{ content: ""; width: 100%; height: 1px; background: #d5d5d5; position: absolute; bottom: 0; left: 0;}
#sitesearch .sitesearch_tit::after{ width: 96px; background: #ff9542;}
#sitesearch .sitesearch_tit span{ font-size: 24px; font-weight: 700; padding: 0 10px 0 0; color: #ff9542;}
#sitesearch .sitesearch_list{ display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap;}
#sitesearch .sitesearch_list li{ margin: 0 15px 15px 0; font-size: 14px;}
#sitesearch .sitesearch_list li a{ display: block; background: #f5f5f5; padding: 5px 10px; border-radius: 20px;}
#sitesearch #sitesearch_close{ display: block; color: #c9c9c9; font-size: 16px; padding: 50px 0 0; width: 80px; height: 30px; margin: 50px auto 0; text-align: center; position: relative; cursor: pointer;}
#sitesearch #sitesearch_close::before,
#sitesearch #sitesearch_close::after{ content: ""; display: block; width: 50px; height: 2px; background: #c9c9c9; position: absolute; top: 25px; left: 0; right: 0; margin: 0 auto; transform-origin: center center;}
#sitesearch #sitesearch_close::before{ transform: rotate(-45deg);}
#sitesearch #sitesearch_close::after{ transform: rotate(45deg);}
#sitesearch #sitesearch_close:hover{ color: #999;}
#sitesearch #sitesearch_close:hover::before,
#sitesearch #sitesearch_close:hover::after{ background: #999;}

@media screen and (max-width: 600px) {
#sitesearch { background-image: none; height: calc( 100% - 56px );}
#sitesearch.on { top: 56px;}
#sitesearch .sitesearch_inner{ padding: 30px 0 0; width: 90%;}
#sitesearch .sitesearch_tit{ font-size: 17px; padding: 0 0 10px; margin: 30px 0 20px;}
#sitesearch .sitesearch_tit::after{ width: 96px;}
#sitesearch .sitesearch_tit span{ font-size: 24px; padding: 0 10px 0 0;}
#sitesearch .sitesearch_list li{ margin: 0 10px 10px 0; font-size: 14px;}
#sitesearch .sitesearch_list li a{ padding: 5px 10px; border-radius: 20px;}
#sitesearch #sitesearch_close{ font-size: 14px; padding: 45px 0 0; width: 80px; height: 30px; margin: 20px auto 0;}
#sitesearch #sitesearch_close::before,
#sitesearch #sitesearch_close::after{ width: 40px; height: 2px; top: 25px; left: 0; right: 0; margin: 0 auto;}
}

/* ---------------------------------------------------
	Section 404
------------------------------------------------------ */
.sec_404{ padding: 100px 0 150px; width: 92%; max-width: 1200px; margin: 0 auto; text-align: center;}
.sec_404 .tit{ font-size: 36px; line-height: 1.5; color: #cb5219;}
.sec_404 .body{ font-size: 16px; line-height: 2; padding: 20px 0 0;}
.sec_404 .body a{ text-decoration: underline;}

@media screen and (max-width: 600px) {
.sec_404{ padding: 50px 0 50px;}
.sec_404 .tit{ font-size: 26px;}
.sec_404 .body{ font-size: 14px; line-height: 1.7; text-align: left; padding: 10px 0 0;}
}

/* ---------------------------------------------------
	Contents
------------------------------------------------------ */
#contents { overflow: hidden; padding: 90px 0 0;}

@media screen and (max-width: 600px) {
#contents { padding: 56px 0 0;}
}

/* ----共通 ブログ形式 ツーカラム---- */
#wrap_blog { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; max-width: 1200px; width: 96%; margin: 0 auto;}
#wrap_blog #main{ width: calc( 100% - 330px);}
#wrap_blog #aside{ width: 250px;}

/*#wrap_blog.single { max-width: 1350px;}*/

@media screen and (max-width: 600px) {
#wrap_blog { width: 90%; flex-direction: column;}
#wrap_blog #main{ width: 100%; order: 1;}
#wrap_blog #aside{ width: 100%; order: 3;}
}

/* ---------------------------------------------------
	Common Parts
------------------------------------------------------ */
/* ----共通 見出しタイトルtype1---- */
.cmn_tit_01{ padding: 60px 0 50px; display: flex; flex-direction: column; align-items: center; text-align: center;}
.cmn_tit_01 .en{ font-family: 'Oleo Script'; font-weight: 700; font-size: 24px; background: #ff8204; background: linear-gradient(90deg, rgba(251,159,25,1) 15%, rgba(255,130,4,1) 85%); -webkit-background-clip: text; color: transparent; }
.cmn_tit_01 .ja{ font-weight: 600; font-size: 32px; line-height: 1.4; padding: 20px 0 0;}

@media screen and (max-width: 600px) {
.cmn_tit_01{ padding: 30px 5% 20px;}
.cmn_tit_01 .en{ font-size: 20px; }
.cmn_tit_01 .ja{ font-size: 23px; padding: 5px 0 0;}
}

/* ----共通 見出しタイトルtype2---- */
.cmn_tit_02{ font-size: 30px; font-weight: bold; line-height: 1.5; padding: 50px 0 30px;}

@media screen and (max-width: 600px) {
.cmn_tit_02{ font-size: 20px;padding: 30px 5% 15px;}
}

/* ----共通 見出しタイトルtype3---- */
.cmn_tit_03{ font-size: 34px; font-weight: bold; line-height: 1.5; padding: 50px 0 30px; text-align: center;}

@media screen and (max-width: 600px) {
.cmn_tit_03{ font-size: 22px;padding: 30px 0 15px;}
}

/* ----共通 wrap要素type1(主にセクション要素下部、ボタンのwrapで使用)---- */
.cmn_wrap_01{ padding: 50px 0 60px; text-align: center; width: 100%;}

@media screen and (max-width: 600px) {
.cmn_wrap_01{ padding: 20px 5% 30px;}
}

/* ----共通 wrap要素type2(主にセクション要素下部、ボタンのwrapで使用)---- */
.cmn_wrap_02{ padding: 0 0 60px; text-align: center; width: 100%;}

@media screen and (max-width: 600px) {
.cmn_wrap_02{ padding: 0 5% 30px;}
}

/* ----共通 ボタンtype1(オレンジ線・白背景)---- */
.cmn_btn_01{ display: inline-block; min-width: 350px; font-size: 18px; line-height: 1.4; color: #f77900; font-weight: 700; background: #fff; border: solid 1px #f77900; border-radius: 100px; margin: 0 auto; padding: 25px 60px 25px 40px; position: relative; text-align: center; box-sizing: border-box; transition: all 0.5s;}
.cmn_btn_01::after{ content: ""; display: block; position: absolute; top: 0; bottom: 0; right: 40px; margin: auto 0; width: 10px; height: 10px; border-right: solid 2px #f77900; border-bottom: solid 2px #f77900; transform: rotate(-45deg); transform-origin: center center; transition: right 0.5s;}
.cmn_btn_01:hover{ color: #fff; background: #f77900; text-decoration: none;}
.cmn_btn_01:hover::after{ border-right: solid 2px #fff; border-bottom: solid 2px #fff; right: 35px;}

@media screen and (max-width: 600px) {
.cmn_btn_01{ min-width: 100%; font-size: 16px; background: #fff; border: solid 1px #f77900; padding: 15px 30px 15px 20px; box-sizing: border-box;}
.cmn_btn_01::after{ right: 25px; width: 8px; height: 8px; border-right: solid 1px #f77900; border-bottom: solid 1px #f77900; }
.cmn_btn_01:hover::after{ border-right: solid 1px #fff; border-bottom: solid 1px #fff; right: 20px;}
}

/* ----共通 ボタンtype2(グレー線・グレー背景)---- */
.cmn_btn_02{ display: inline-block; min-width: 350px; font-size: 18px; line-height: 1.4; color: #fff; font-weight: 700; background: #333; border: solid 1px #333; border-radius: 100px; margin: 0 auto; padding: 25px 60px 25px 40px; position: relative; text-align: center; box-sizing: border-box; transition: all 0.5s;}
.cmn_btn_02::after{ content: ""; display: block; position: absolute; top: 0; bottom: 0; right: 40px; margin: auto 0; width: 10px; height: 10px; border-right: solid 2px #f77900; border-bottom: solid 2px #f77900; transform: rotate(-45deg); transform-origin: center center; transition: right 0.5s;}
.cmn_btn_02:hover{ color: #333; background: #fff; text-decoration: none;}
.cmn_btn_02:hover::after{ border-right: solid 2px #333; border-bottom: solid 2px #333; right: 35px;}

@media screen and (max-width: 600px) {
.cmn_btn_02{ min-width: 100%; font-size: 16px; background: #333; border: solid 1px #333; padding: 15px 30px 15px 20px; box-sizing: border-box;}
.cmn_btn_02::after{ right: 25px; width: 8px; height: 8px; border-right: solid 1px #f77900; border-bottom: solid 1px #f77900; }
.cmn_btn_02:hover::after{ border-right: solid 1px #333; border-bottom: solid 1px #333; right: 20px;}
}

/* ----下層ページ共通 メインタイトルtype1---- */
.cmn_maintit_01{ background-image: url("../img/bg_deco_03.png"); background-repeat: no-repeat; background-position: right top; background-size: 489px; width: 100%;}
.cmn_maintit_01 .tit{ padding: 80px 0 60px; display: flex; flex-direction: column; align-items: center; text-align: center;}
.cmn_maintit_01 .tit .en{ font-family: 'Oleo Script'; font-weight: 400; font-size: 44px; background: #ff8204; background: linear-gradient(90deg, rgba(251,159,25,1) 15%, rgba(255,130,4,1) 85%); -webkit-background-clip: text; color: transparent; }
.cmn_maintit_01 .tit .ja{ font-weight: 600; font-size: 22px; line-height: 1.2; padding: 20px 0 0;}

@media screen and (max-width: 600px) {
.cmn_maintit_01{ background-size: 200px;}
.cmn_maintit_01 .tit{ padding: 80px 0 30px;}
.cmn_maintit_01 .tit .en{ font-size: 34px; }
.cmn_maintit_01 .tit .ja{ font-size: 16px; line-height: 1.2; padding: 0;}
}

/* ----下層ページ共通 Breadcrumbs---- */
.breadcrumbs { margin: 0 auto; padding: 10px 0; width: 96%; max-width: 1200px; font-size: 14px; text-align: left; background: #fff; position: relative; z-index: 10;}
.breadcrumbs li { display: inline-block; line-height: 1.4;}
.breadcrumbs li:before { content: '>'; margin: 0 5px;}
.breadcrumbs li:first-child:before { display: none;}
.breadcrumbs li a:hover{ color: #ff7200; text-decoration: none;}

@media screen and (max-width: 600px) {
.breadcrumbs { padding: 10px 15px; width: 100%; font-size: 12px;}
}

/* ----共通 無料デモサイト申し込みブロック---- */
.cmn_trial{ height: 360px; background: linear-gradient(90deg, rgba(251,159,25,1) 15%, rgba(255,130,4,1) 85%); position: relative; z-index: 1; overflow: hidden;}
.cmn_trial::before{ content: ""; display: block; background: url("../img/bg_deco_04.png") no-repeat 0 0; background-size: 602px; width: 602px; height: 251px; position: absolute; top: 0; left: 0; z-index: 2;}
.cmn_trial .trial_txt_01,
.cmn_trial .trial_btn_01,
.cmn_trial .trial_btn_02{ position: absolute; z-index: 3;}
.cmn_trial .trial_txt_01{ top: 100px; left: 50%; margin: 0 0 0 -600px; font-size: 28px; font-weight: bold; color: #fff;}
.cmn_trial .trial_btn_01{ bottom: 90px; left: 50%; margin: 0 0 0 -500px;}
.cmn_trial .trial_btn_02{ top: 70px; bottom: 0; left: 50%; width: 690px; height: 220px; margin: 0 0 0 -100px; }

@media screen and (max-width: 600px) {
.cmn_trial{ height: auto; padding: 50px 0;}
.cmn_trial::before{ content: ""; display: block; background: url("../img/bg_deco_04.png") no-repeat 0 0; background-size: 301px; width: 301px; height: 126px; position: absolute; top: 0; left: 0; z-index: 2;}
.cmn_trial .trial_txt_01,
.cmn_trial .trial_btn_01,
.cmn_trial .trial_btn_02{ position: relative; z-index: 3;}
.cmn_trial .trial_txt_01{ top: inherit; left: inherit; margin: 0 0 20px; font-size: 20px; text-align: center;}
.cmn_trial .trial_btn_01{ bottom: inherit; left: inherit; margin: 0 auto; width: 90%; min-width: 90%; display: block;}
.cmn_trial .trial_btn_02{ top: inherit; bottom: inherit; left: inherit; width: 90%; height: auto; margin: 20px auto 0; display: block;}
}

/* ----共通 フッター上部リンクブロック---- */
.cmn_links_01{ height: 311px; background: linear-gradient(90deg, rgba(251,159,25,1) 15%, rgba(255,130,4,1) 85%); position: relative; z-index: 1; overflow: hidden;}
.cmn_links_01::before{ content: ""; display: block; background: url("../img/bg_deco_05.png") no-repeat 0 0; background-size: 677px; width: 677px; height: 311px; position: absolute; top: 0; left: 50%; margin: 0 0 0 -750px; z-index: 2;}
.cmn_links_01 ul{ width: 90%; max-width: 1300px; height: 311px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 3;}
.cmn_links_01 ul li{ width: 30%;}
.cmn_links_01 ul li a{ background-color: #fff; background-repeat: no-repeat; border-radius: 10px; height: 180px; padding: 0 0 0 12%; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; transition: opacity 0.5s;}
.cmn_links_01 ul li a:hover{ text-decoration: none; opacity: 0.8;}
.cmn_links_01 .en{ font-family: 'Oleo Script'; font-weight: 400; font-size: 18px; background: #ff8204; background: linear-gradient(90deg, rgba(251,159,25,1) 15%, rgba(255,130,4,1) 85%); -webkit-background-clip: text; color: transparent; }
.cmn_links_01 .ja{ font-size: 22px; font-weight: 600; line-height: 1.2; padding: 0;}
.cmn_links_01 ul li.link_01 a{ background-image: url("../img/ico_link_01.svg"); background-position: center right 18%; background-size: 74px;}
.cmn_links_01 ul li.link_02 a{ background-image: url("../img/ico_link_02.svg"); background-position: center right 18%; background-size: 76px;}
.cmn_links_01 ul li.link_03 a{ background-image: url("../img/ico_link_03.svg"); background-position: center right 15%; background-size: 80px;}

@media screen and (max-width: 600px) {
.cmn_links_01{ height: auto; padding: 25px 0;}
.cmn_links_01 ul{ height: auto; flex-direction: column;}
.cmn_links_01 ul li{ width: 100%; margin: 5px 0;}
.cmn_links_01 ul li a{ height: 100px; padding: 0 0 0 10%;}
.cmn_links_01 .en{ font-size: 18px;}
.cmn_links_01 .ja{ font-size: 20px;}
.cmn_links_01 ul li.link_01 a{ background-position: center right 10%; background-size: 54px;}
.cmn_links_01 ul li.link_02 a{ background-position: center right 10%; background-size: 56px;}
.cmn_links_01 ul li.link_03 a{ background-position: center right 10%; background-size: 60px;}
}

/* ----共通 新着記事一覧type1(4件横並び／2カラム2段)---- */
.cmn_postlist_01{ display: flex; justify-content: center; padding: 0 1%; max-width: 1400px; margin: 0 auto;}
.cmn_postlist_01 article{ width: 23%; margin: 0 1%; text-align: left;}
.cmn_postlist_01 article a{ display: block;}
.cmn_postlist_01 article a:hover{ text-decoration: none;}
/*.cmn_postlist_01 .img{ overflow: hidden; width: 100%;}
.cmn_postlist_01 .img img{ width: 100%; height: auto; transition: all 0.5s; aspect-ratio: 3 / 2;}
.cmn_postlist_01 article a:hover .img img{ transform: scale(1.1); transform-origin: center center;}*/
.cmn_postlist_01 article a .box_img{ overflow: hidden; width: 100%;}
.cmn_postlist_01 article a .box_img img{ width: 100%; height: auto; transition: all 0.5s; aspect-ratio: 3 / 2;}
.cmn_postlist_01 article a:hover .box_img img{ transform: scale(1.1); transform-origin: center center;}

.cmn_postlist_01 .cat{ background: #333333; color: #fff; display: inline-block; padding: 10px; font-size: 14px; line-height: 1.2; position: relative; top: -20px; left: 0;}
.cmn_postlist_01 .tit{ padding: 20px 0 10px; font-size: 18px; font-weight: 700; line-height: 1.5;}
.cmn_postlist_01 article a:hover .tit{ color: #ff7200;}
.cmn_postlist_01 .body{ font-size: 16px; line-height: 1.6; padding: 0 0 10px;}
.cmn_postlist_01 .date{ font-size: 14px; line-height: 1.2;}
.cmn_postlist_01 .date span{ display: inline-block;}
.cmn_postlist_01 .date span.update{ margin: 0 0 0 1em;}

@media screen and (max-width: 600px) {
.cmn_postlist_01{ flex-wrap: wrap; justify-content: space-between; padding: 0;}
.cmn_postlist_01 article{ width: 47%; margin: 0 0 4%;}
.cmn_postlist_01 article a .box_img{ margin: 0 0 10px;}
.cmn_postlist_01 .cat{ padding: 5px; font-size: 11px; line-height: 1.2; position: relative; top: -10px; left: 0;}
.cmn_postlist_01 .tit{ padding: 0 0 5px; font-size: 14px; line-height: 1.3;}
.cmn_postlist_01 .body{ display: none;}
.cmn_postlist_01 .date{ font-size: 13px; line-height: 1.2; padding: 0 0 10px;}
.cmn_postlist_01 .date span{ display: inline-block;}
.cmn_postlist_01 .date span.update{ display: block; margin: 0;}
}

/* ----共通 新着記事一覧type2(縦並び画像なし)---- */
.cmn_postlist_02{ width: 90%; max-width: 1100px; margin: 0 auto;}
.cmn_postlist_02 li{ border-bottom: solid 1px #d9d9d9; padding: 10px 0; clear: both; overflow: hidden;}
.cmn_postlist_02 li a{ display: flex; align-items: flex-start; justify-content: flex-start; position: relative;}
.cmn_postlist_02 li a::after{ content: ""; width: 8px; height: 8px; display: block; border-bottom: solid 2px #000; border-right: solid 2px #000; position: absolute; top: 0; bottom: 0; right: 20px; margin: auto 0; transform: rotate(-45deg); transition: right 0.5s;}
.cmn_postlist_02 li a:hover{ text-decoration: none;}
.cmn_postlist_02 li a:hover::after{ right: 15px;}
.cmn_postlist_02 li a p{ box-sizing: border-box;}
.cmn_postlist_02 li a p.date{ width: 140px; padding: 10px 0 0 20px; font-size: 14px; line-height: 1.2;}
.cmn_postlist_02 li a p.cat{ width: auto; background: #333333; color: #fff; display: inline-block; padding: 10px; font-size: 14px; line-height: 1.2;}
.cmn_postlist_02 li a p.tit{ width: 700px; margin: 0 0 0 auto; padding: 7px 50px 7px 20px; font-size: 16px; line-height: 1.5;}
.cmn_postlist_02 li a:hover .tit{ color: #ff7200;}

@media screen and (max-width: 600px) {
.cmn_postlist_02{ width: 90%; max-width: 90%; margin: 0 auto;}
.cmn_postlist_02 li{ border-bottom: solid 1px #d9d9d9; padding: 10px 0; clear: both; overflow: hidden;}
.cmn_postlist_02 li a{ flex-wrap: wrap; padding: 0 10px;}
.cmn_postlist_02 li a::after{ content: ""; width: 8px; height: 8px; display: block; border-bottom: solid 2px #000; border-right: solid 2px #000; position: absolute; top: 0; bottom: 0; right: 20px; margin: auto 0; transform: rotate(-45deg); transition: right 0.5s;}
.cmn_postlist_02 li a p{ box-sizing: border-box;}
.cmn_postlist_02 li a p.date{ width: auto; padding: 4px 10px 0 0; font-size: 13px; line-height: 1.2;}
.cmn_postlist_02 li a p.cat{ width: auto; background: #333333; color: #fff; display: inline-block; padding: 5px; font-size: 10px; line-height: 1.2;}
.cmn_postlist_02 li a p.tit{ width: 100%; margin: 0; padding: 10px 30px 0 0; font-size: 15px; line-height: 1.3;}
}

/* ----共通 新着記事一覧type3(4件横並び／縦並び画像あり)---- */
.cmn_postlist_03{ display: flex; justify-content: center; padding: 0 1%; max-width: 1400px; margin: 0 auto;}
.cmn_postlist_03 article{ width: 23%; margin: 0 1%;}
.cmn_postlist_03 article a{ display: block;}
.cmn_postlist_03 article a:hover{ text-decoration: none;}
.cmn_postlist_03 article a .box_img{ overflow: hidden; width: 100%;}
.cmn_postlist_03 article a .box_img img{ width: 100%; height: auto; transition: all 0.5s; aspect-ratio: 3 / 2;}
.cmn_postlist_03 article a:hover .box_img img{ transform: scale(1.1); transform-origin: center center;}
.cmn_postlist_03 article a .box_cat{ display: flex; flex-wrap: wrap; align-items: flex-start; position: relative; top: -20px; left: 0; min-height: 20px;}
.cmn_postlist_03 article a .box_cat .cat{ background: #333333; color: #fff; display: block; padding: 10px; font-size: 14px; line-height: 1.2; margin: 0 5px 5px 0;}
.cmn_postlist_03 article a .tit{ padding: 0 0 10px; font-size: 18px; font-weight: 700; line-height: 1.5;}
.cmn_postlist_03 article a:hover .tit{ color: #ff7200;}
.cmn_postlist_03 article a .body{ font-size: 16px; line-height: 1.6; padding: 0 0 10px;}
.cmn_postlist_03 article a .date{ font-size: 14px; line-height: 1.2;}
.cmn_postlist_03 article a .date span{ display: inline-block;}
.cmn_postlist_03 article a .date span.update{ margin: 0 0 0 1em;}

@media screen and (max-width: 600px) {
.cmn_postlist_03{ flex-direction: column; width: 90%; max-width: 90%; padding: 0;}
.cmn_postlist_03 article{ width: 100%; margin: 0 0 20px;}
.cmn_postlist_03 article a{ display: flex; justify-content: space-between;}
.cmn_postlist_03 article a .box_img{ width: 38%;}
.cmn_postlist_03 article a .box_txt{ width: 58%;}
.cmn_postlist_03 article a .box_cat{ position: static; min-height: 0;}
.cmn_postlist_03 article a .box_cat .cat{ padding: 5px; font-size: 11px; line-height: 1.2; margin: 0 5px 5px 0;}
.cmn_postlist_03 article a .tit{ padding: 5px 0; font-size: 14px; line-height: 1.3;}
.cmn_postlist_03 article a .body{ display: none;}
.cmn_postlist_03 article a .date{ font-size: 13px; line-height: 1.2; padding: 0 0 5%;}
.cmn_postlist_03 article a .date span.update{ display: block; margin: 0;}
}

/* ----下層ページ共通 新着記事一覧type4(3件横並び／縦並び画像あり)---- */
.cmn_postlist_04{ display: flex; justify-content: flex-start; flex-wrap: wrap; padding: 0; border-bottom: solid 1px #e4e4e4;}
.cmn_postlist_04 article{ width: 30%; margin: 0 5% 50px 0;}
.cmn_postlist_04 article:nth-of-type(3n){ margin: 0 0 50px 0;}
.cmn_postlist_04 article a{ display: block;}
.cmn_postlist_04 article a:hover{ text-decoration: none;}
.cmn_postlist_04 article .box_img{ overflow: hidden; width: 100%;}
.cmn_postlist_04 article .box_img img{ width: 100%; height: auto; transition: all 0.5s; aspect-ratio: 3 / 2;}
.cmn_postlist_04 article a:hover .box_img img{ transform: scale(1.1); transform-origin: center center;}
.cmn_postlist_04 article .box_cat{ display: flex; flex-wrap: wrap; align-items: flex-start; position: relative; top: -20px; left: 0; min-height: 20px;}
.cmn_postlist_04 article .cat{ background: #333333; color: #fff; display: block; padding: 10px; font-size: 14px; line-height: 1.2; margin: 0 5px 5px 0;}
.cmn_postlist_04 article .tit{ padding: 0 0 10px; font-size: 18px; font-weight: 700; line-height: 1.5;}
.cmn_postlist_04 article a:hover .tit{ color: #ff7200;}
.cmn_postlist_04 article .body{ font-size: 16px; line-height: 1.6; padding: 0 0 10px;}
.cmn_postlist_04 article .date{ font-size: 14px; line-height: 1.2;}
.cmn_postlist_04 article .date span{ display: inline-block;}
.cmn_postlist_04 article .date span.update{ margin: 0 0 0 1em;}

@media screen and (max-width: 600px) {
.cmn_postlist_04{ flex-direction: column; width: 100%; margin: 0; padding: 0;}
.cmn_postlist_04 article{ width: 100%; margin: 0 0 20px;}
.cmn_postlist_04 article a{ display: flex; justify-content: space-between;}
.cmn_postlist_04 article .box_img{ width: 38%;}
.cmn_postlist_04 article .box_txt{ width: 58%;}
.cmn_postlist_04 article .box_cat{ display: flex; flex-wrap: wrap; align-items: flex-start; position: static; top: 0; left: 0; min-height: 0;}
.cmn_postlist_04 article .cat{ padding: 5px; font-size: 11px; line-height: 1.2;}
.cmn_postlist_04 article .tit{ padding: 5px 0; font-size: 14px; line-height: 1.3;}
.cmn_postlist_04 article .body{ display: none;}
.cmn_postlist_04 article .date{ font-size: 13px; line-height: 1.2; padding: 0 0 5%;}
.cmn_postlist_04 article .date span.update{ display: block; margin: 0;}
}

/* ----下層ページ共通 新着記事一覧type5(1件目だけフルカラム、3件横並び／縦並び画像あり)---- */
.cmn_postlist_05{ display: flex; justify-content: flex-start; flex-wrap: wrap; padding: 0; border-bottom: solid 1px #e4e4e4;}
#strategy .cmn_postlist_05{ border-bottom: none;}
.cmn_postlist_05 article{ width: 30%; margin: 0 5% 50px 0; position: relative;}
.cmn_postlist_05 article:first-of-type{ width: 100%; margin: 0 0 50px 0;}
.cmn_postlist_05 article:nth-of-type(3n+1){ margin: 0 0 50px 0;}
.cmn_postlist_05 article a{ display: flex; flex-direction: column;}
.cmn_postlist_05 article:first-of-type a{ flex-direction: row; justify-content: space-between;}
.cmn_postlist_05 article a:hover{ text-decoration: none;}
.cmn_postlist_05 article .box_img{ overflow: hidden; width: 100%;}
.cmn_postlist_05 article:first-of-type .box_img{ width: 48%;}
.cmn_postlist_05 article .box_img img{ width: 100%; height: auto; transition: all 0.5s; aspect-ratio: 3 / 2;}
.cmn_postlist_05 article a:hover .box_img img{ transform: scale(1.1); transform-origin: center center;}
.cmn_postlist_05 article .box_txt{ width: 100%;}
.cmn_postlist_05 article:first-of-type .box_txt{ width: 48%;}
.cmn_postlist_05 article .box_cat{ display: flex; flex-wrap: wrap; align-items: flex-start; position: relative; top: -20px; left: 0; min-height: 20px;}
.cmn_postlist_05 article:first-of-type .box_cat{ top: 0; min-height: 0;}
.cmn_postlist_05 article .cat{ background: #333333; color: #fff; display: block; padding: 10px; font-size: 14px; line-height: 1.2; margin: 0 5px 5px 0;}
.cmn_postlist_05 article:first-of-type .cat{ top: 0;}
.cmn_postlist_05 article .tit{ padding: 0 0 10px; font-size: 18px; font-weight: 700; line-height: 1.5;}
.cmn_postlist_05 article:first-of-type .tit{ padding: 20px 0 10px;}
.cmn_postlist_05 article a:hover .tit{ color: #ff7200;}
.cmn_postlist_05 article .body{ font-size: 16px; line-height: 1.6; padding: 0 0 10px;}
.cmn_postlist_05 article .date{ font-size: 14px; line-height: 1.2;}
.cmn_postlist_05 article .date span{ display: inline-block;}
.cmn_postlist_05 article .date span.update{ margin: 0 0 0 1em;}

@media screen and (max-width: 600px) {
.cmn_postlist_05{ flex-direction: column; width: 100%; margin: 0; padding: 0;}
.cmn_postlist_05 article{ width: 100%; margin: 0 0 25px;}
.cmn_postlist_05 article:first-of-type,
.cmn_postlist_05 article:nth-of-type(3n+1){ margin: 0 0 25px 0;}
.cmn_postlist_05 article a,
.cmn_postlist_05 article:first-of-type a{ display: flex; justify-content: space-between; flex-direction: row;}
.cmn_postlist_05 article .box_img,
.cmn_postlist_05 article:first-of-type .box_img{ width: 38%;}
.cmn_postlist_05 article .box_txt,
.cmn_postlist_05 article:first-of-type .box_txt{ width: 58%;}
.cmn_postlist_05 article .box_cat{ display: flex; flex-wrap: wrap; align-items: flex-start; position: static; top: 0; left: 0; min-height: 0;}
.cmn_postlist_05 article .cat{ padding: 5px; font-size: 11px; line-height: 1.2;}
.cmn_postlist_05 article .tit{ padding: 5px 0; font-size: 14px; line-height: 1.3;}
.cmn_postlist_05 article:first-of-type .tit{ padding: 5px 0;}
.cmn_postlist_05 article .body{ display: none;}
.cmn_postlist_05 article .date{ font-size: 13px; line-height: 1.2; padding: 0 0 5%;}
.cmn_postlist_05 article .date span.update{ display: block; margin: 0;}
.cmn_postlist_05 .cmn_wrap_01{ padding: 0 0 30px;}
}

/* ----下層ページ共通 タグ一覧---- */
[class*="cmn_postlist_"] .tags{ display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; margin: 20px 0 0;}
[class*="cmn_postlist_"] .tags .tag{ margin: 0 5px 5px 0; font-size: 14px; display: block;}

[class*="cmn_postlist_"] .tags .tag a{ display: block;  background: #f5f5f5; padding: 5px 10px; border-radius: 20px; transition: all 0.5s;}
[class*="cmn_postlist_"] .tags .tag a:hover{ background: #f77900; color: #fff; text-decoration: none;}

@media screen and (max-width: 600px) {
[class*="cmn_postlist_"] .tags{ margin: 5px 0 0;}
[class*="cmn_postlist_"] .tags .tag{ margin: 0 5px 5px 0; font-size: 11px; padding: 0; border-radius: 20px;}
}

/* ----共通 Single ブロック---- */
.cmn_postsingle{ padding: 0 0 110px; overflow: hidden; border-bottom: solid 1px #e4e4e4;}
/*.cmn_postsingle article .box_cat{ display: flex; flex-wrap: wrap; align-items: flex-start;}
.cmn_postsingle article .cat{ background: #333333; color: #fff; display: block; padding: 10px; font-size: 14px; line-height: 1.2; margin: 0 5px 5px 0;}*/
.cmn_postsingle article .tit{ font-size: 28px; font-weight: bold; line-height: 1.7; padding: 15px 0 30px;}
.cmn_postsingle article .date{ font-size: 14px; line-height: 1;}
.cmn_postsingle article .date .update{ margin: 0 0 0 0.5em;}
.cmn_postsingle article .cats{ display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start; margin: 10px 0 0;}
.cmn_postsingle article .cats span{ font-size: 14px; line-height: 1.2; margin: 10px 10px 0 0; padding: 5px 10px;}
.cmn_postsingle article .cats span.parent{ background: #333; color: #fff; border: solid 1px #333;}
.cmn_postsingle article .cats span.child{ background: #fff; color: #333; border: solid 1px #333;}
.cmn_postsingle article .tags{ display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-end; margin: 10px 0 0;}
.cmn_postsingle article .tags .tag{ font-size: 14px; line-height: 1.2; margin: 10px 10px 0 0; background: #f5f5f5; padding: 5px 10px; border-radius: 20px;}
.cmn_postsingle article .box_img{ width: 100%; padding: 20px 0 0;}
.cmn_postsingle article .box_img img{ width: 100%; height: auto;}
.cmn_postsingle article .body{ padding: 30px 0 0; font-size: 16px; line-height: 2.25;}
.cmn_postsingle article .body h2{ font-size: 24px; font-weight: bold; line-height: 1.7; padding: 30px 0 10px; margin: 0 0 20px; position: relative; display: block; width: 100%;}
.cmn_postsingle article .body h2::before,
.cmn_postsingle article .body h2::after{ content: ""; display: block; height: 3px; position: absolute; bottom: 0; left: 0;}
.cmn_postsingle article .body h2::before{ width: 100%; background: #e8e8e8; }
.cmn_postsingle article .body h2::after{ width: 184px; background: #ff9542; }
.cmn_postsingle article .body h3{ font-size: 20px; font-weight: bold; line-height: 1.7; padding: 15px; position: relative; background: #f5f5f5; margin: 30px 0 20px; display: block; width: 100%; box-sizing: border-box;}
.cmn_postsingle article .body h4{ font-size: 18px; font-weight: bold; line-height: 1.7; padding: 0 0 0 20px; position: relative; margin: 30px 0 20px 0; display: block; width: 100%; box-sizing: border-box;}
.cmn_postsingle article .body h4::before{ content: ""; display: block; width: 5px; height: 100%; background: #333333; position: absolute; top: 0; left: 0;}
.cmn_postsingle article .body h5{ font-size: 16px; font-weight: bold; display: block; width: 100%;}
.cmn_postsingle article .body h6{}
.cmn_postsingle article .body p{ padding: 0 0 1.3em;}
.cmn_postsingle article .body a{color: #ff8204; text-decoration: underline;}
.cmn_postsingle article .body strong{ font-weight: bold; position: relative; text-decoration: underline; text-underline-offset: -0.2em; text-decoration-thickness: 0.5em; text-decoration-color: rgba(253, 255, 121, 1); text-decoration-skip-ink: none; }
.cmn_postsingle article .body img{ margin: 0 0 20px;}
.cmn_postsingle article .body blockquote{ margin: 0 0 20px;}
.cmn_postsingle article .body blockquote,
.cmn_postsingle article .body cite{ /*font-size: 15px; line-height: 1.7;*/ font-style: normal;}
.cmn_postsingle article .body blockquote a{ color: #666666;}
.cmn_postsingle article .body blockquote a:hover{ text-decoration: none;}
.cmn_postsingle article .body ul{ list-style-type: disc; margin: 0 0 1.3em 1em;}
.cmn_postsingle article .body ol{ list-style-type: decimal; margin: 0 0 1.3em 1.5em;}

.cmn_postsingle article .body p span.font_bold { font-weight:bold; font-size:1.1em;}

/* 入れ子ボックス .inbox */
.cmn_postsingle article .body .inbox{ background: #fffced; border: solid 1px #ffd265; padding: 45px; margin: 0 0 20px;}
.cmn_postsingle article .body .inbox h3{ background: #ffce82;}

/* プラグインTOC+のスタイル上書き */
#toc_container{ padding: 40px 50px !important; width: 100% !important;}
.toc_title a{ text-decoration: underline !important; color: #000 !important;}
.toc_title a:hover{ text-decoration: none !important; color: #ff8204 !important;}
.toc_list a{ text-decoration: underline !important; color: #666666 !important;}
.toc_list a:hover{ text-decoration: none !important; color: #ff8204 !important;}


@media screen and (max-width: 600px) {
.cmn_postsingle{ padding: 0 0 30px;}
/*.cmn_postsingle article .cat{ padding: 5px; font-size: 11px; line-height: 1.2;}*/
.cmn_postsingle article .tit{ font-size: 22px; font-weight: bold; line-height: 1.7; padding: 0 0 15px;}
.cmn_postsingle article .date{ font-size: 13px; line-height: 1;}
.cmn_postsingle article .cats span{ font-size: 13px; line-height: 1.2; margin: 5px 5px 0 0; padding: 5px 10px;}
.cmn_postsingle article .tags .tag{ font-size: 13px; line-height: 1.2; margin: 5px 5px 0 0; padding: 5px 10px;}
.cmn_postsingle article .box_img{ padding: 15px 0 0;}
.cmn_postsingle article .body{ padding: 15px 0 0;}
.cmn_postsingle article .body h2{ font-size: 22px; line-height: 1.5; padding: 0 0 10px 0; margin: 0 0 10px;}
.cmn_postsingle article .body h3{ font-size: 18px; padding: 5px 15px; margin: 0 0 10px; box-sizing: border-box;}
.cmn_postsingle article .body h4{ font-size: 18px; margin: 5px 0;}
.cmn_postsingle article .body h5{}
.cmn_postsingle article .body h6{}
.cmn_postsingle article .body p{ padding: 0 0 1em;}
.cmn_postsingle article .body img{ margin: 0 0 10px;}
.cmn_postsingle article .body blockquote{ margin: 0 0 10px;}

/* 入れ子ボックス .inbox */
.cmn_postsingle article .body .inbox{ padding: 5%; margin: 0 0 15px;}

/* プラグインTOC+のスタイル上書き */
#toc_container{ padding: 5% !important;}
}

/* ----共通 Single用の前後ページリンクブロック---- */
.cmn_prev_next{ width: 100%; display: flex; justify-content: space-between; margin: 50px 0 100px; position: relative;}
.cmn_prev_next::before{ content: ""; width: 1px; height: 100%; background: #c0c0c0; display: block; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto;}
.cmn_prev_next > div{ width: 50%; border-top: solid 1px #c0c0c0; border-bottom: solid 1px #c0c0c0; box-sizing: border-box;}
.cmn_prev_next > div.prev{ margin: 0 auto 0 0; border-left: solid 1px #c0c0c0;}
.cmn_prev_next > div.prev a{ padding: 15px 20px 15px 50px;}
.cmn_prev_next > div.next{ margin: 0 0 0 auto; border-right: solid 1px #c0c0c0;}
.cmn_prev_next > div.next a{ padding: 15px 50px 15px 20px;}
.cmn_prev_next a{ display: flex; align-items: center; height: 100%; box-sizing: border-box; position: relative;}
.cmn_prev_next > div.prev a::before,
.cmn_prev_next > div.next a::before{ content: ""; display: block; width: 20px; height: 20px; border-right: 3px solid #f5983f; border-bottom: 3px solid #f5983f; position: absolute; top: 0; bottom: 0; margin: auto 0;}
.cmn_prev_next > div.prev a::before{ left: 18px; transform: rotate(135deg);}
.cmn_prev_next > div.next a::before{ right: 18px; transform: rotate(-45deg);}
.cmn_prev_next .thumb{ width: 190px;}
.cmn_prev_next .thumb .ofi{ width: 100%; height: 140px;}
.cmn_prev_next .text{ padding: 0 0 0 20px; width: calc( 100% - 210px );}
.cmn_prev_next .text .cat{ display: inline-block; background: #333333; color: #fff; padding: 5px 10px; font-size: 14px; line-height: 1.2; margin: 0 0 10px;}
.cmn_prev_next .text .tit{ display: block; font-size: 18px; font-weight: bold; line-height: 1.4; max-height: 2.8em; overflow: hidden;}
.cmn_prev_next .text .update{ display: block; font-size: 14px; line-height: 1.2; margin: 8px 0 0;}

@media screen and (max-width: 600px) {
.cmn_prev_next{ display: flex; flex-direction: column; margin: 30px 0 50px; border-top: solid 1px #c0c0c0; order: 2;}
.cmn_prev_next::before{ display: none;}
.cmn_prev_next > div{ width: 100%; height: auto; border: solid 1px #c0c0c0;}
.cmn_prev_next > div.prev{ float: none; border-top: none;}
.cmn_prev_next > div.prev a{ padding: 15px 15px 15px 50px;}
.cmn_prev_next > div.next{ float: none; border-top: none;}
.cmn_prev_next > div.next a{ padding: 15px 50px 15px 15px;}
.cmn_prev_next a{ flex-direction: column;}
.cmn_prev_next .thumb{ width: 100%;}
.cmn_prev_next .thumb .ofi{ height: 160px;}
.cmn_prev_next .text{ padding: 10px 0 0 0; width: 100%;}
.cmn_prev_next .text .cat{ padding: 5px 10px; font-size: 13px; margin: 0 0 5px;}
.cmn_prev_next .text .tit{ font-size: 16px;}
.cmn_prev_next .text .update{ font-size: 13px; margin: 5px 0 0;}
}

/* ----共通 ページナビブロック---- */
.page_navi { width: 100%; padding: 50px 0;}
.page_navi .wp-pagenavi { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.page_navi span,
.page_navi a { padding: 10px; margin: 2px 5px; box-sizing: border-box; line-height: 1; font-size: 18px;}
.page_navi .current { background: #fd9a3b; color: #fff; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; }

@media screen and (max-width: 600px) {
.page_navi { padding: 30px 0;}
}


/* ----サービスページ共通 Section Case Studies---- */
.cmn_sec_casestudies{ padding: 0 0 90px;}
.cmn_sec_casestudies a:hover{ text-decoration: none;}
.cmn_sec_casestudies .txt_01{ font-size: 24px; text-align: center;}
.cmn_sec_casestudies .txt_01 .num{ display: inline-block; font-weight: 700; font-size: 60px; background: #ff8204; background: linear-gradient(90deg, rgba(251,159,25,1) 15%, rgba(255,130,4,1) 85%); -webkit-background-clip: text; color: transparent; }
.cmn_sec_casestudies .txt_02{ font-size: 16px; text-align: center;}
.cmn_sec_casestudies .box_ticker{ margin: 50px 0; width: 100%;}
.cmn_sec_casestudies .box_ticker .box_case{ padding: 0 20px;}
.cmn_sec_casestudies .img{ width: 100%;}
.cmn_sec_casestudies .img img{ width: 100%; height: 220px;}
.cmn_sec_casestudies .status{ display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; padding: 10px 0 5px;}
.cmn_sec_casestudies .status span{ border: solid 1px #cbcbcb; padding: 5px 10px; margin: 0 5px 5px 0; font-size: 14px; line-height: 1;}
.cmn_sec_casestudies .tit{ font-size: 16px; line-height: 1.4;}
.cmn_sec_casestudies a:hover .tit{ color: #ff7200;}
.cmn_sec_casestudies .box_btn{ text-align: center;}

@media screen and (max-width: 600px) {
.cmn_sec_casestudies{ padding: 0 0 40px;}
.cmn_sec_casestudies .txt_01{ font-size: 20px;}
.cmn_sec_casestudies .txt_01 .num{ font-size: 40px;}
.cmn_sec_casestudies .txt_02{ font-size: 14px;}
.cmn_sec_casestudies .box_ticker{ margin: 30px 0;}
.cmn_sec_casestudies .box_ticker .box_case{ padding: 0 10px;}
.cmn_sec_casestudies .status{ padding: 10px 0 5px;}
.cmn_sec_casestudies .status span{ padding: 2px 3px; margin: 0 3px 3px 0; font-size: 10px; line-height: 1;}
.cmn_sec_casestudies .tit{ font-size: 15px; line-height: 1.4;}
.cmn_sec_casestudies .box_btn{ padding: 0 5%;}
}

/* ----サービスページ共通 Section Information / Column---- */
.cmn_wrap_serv01{ width: 90%; max-width: 1360px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start; border-bottom: solid 1px #e4e4e4; padding: 0 0 80px;}
.cmn_sec_info,
.cmn_sec_column{ width: 45%;}
.cmn_sec_info .cmn_tit_01,
.cmn_sec_column .cmn_tit_01{ text-align: left; align-items: flex-start;}
.cmn_sec_info .cmn_tit_01 .ja,
.cmn_sec_column .cmn_tit_01 .ja{ font-size: 28px;}
.cmn_sec_info .box_btn,
.cmn_sec_column .box_btn{ text-align: right;}

@media screen and (max-width: 600px) {
.cmn_wrap_serv01{ flex-direction: column; border-bottom: none; padding: 0;}
.cmn_sec_info,
.cmn_sec_column{ width: 100%; border-bottom: solid 1px #e4e4e4; padding: 0 0 50px;}
.cmn_sec_info .cmn_tit_01,
.cmn_sec_column .cmn_tit_01{ text-align: center; align-items: center; padding: 30px 0 20px;}
.cmn_sec_info .cmn_tit_01 .ja,
.cmn_sec_column .cmn_tit_01 .ja{ font-size: 23px; padding: 5px 0 0;}
.cmn_sec_info .box_btn,
.cmn_sec_column .box_btn{ text-align: center;}
}

/* ----サービスページ共通 Section Information---- */
.cmn_sec_info ol{ list-style-type: none; padding: 0 0 50px;}
.cmn_sec_info ol li{ border-bottom: solid 1px #eee8dc; padding: 20px 0;}
.cmn_sec_info ol li a{ display: block; position: relative; width: 100%; color: #333; padding: 0 0 0 120px; box-sizing: border-box;}
.cmn_sec_info ol li a:hover{ text-decoration: none;}
.cmn_sec_info time{ position: absolute; top: 5px; left: 10px; font-size: 14px; font-weight: bold;}
.cmn_sec_info .box_cat{ display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;}
.cmn_sec_info .cate{ width: auto; background: #fff; border: solid 1px #333; display: block; padding: 5px 10px; font-size: 14px; line-height: 1.2; margin: 0 5px 5px 0;}
.cmn_sec_info .tit{ display: block; font-size: 16px; font-weight: bold; line-height: 1.75; padding: 8px 0 0;}
.cmn_sec_info ol li a:hover .tit{ color: #ff7200;/* text-decoration: underline;*/}

@media screen and (max-width: 600px) {
.cmn_sec_info ol{ padding: 0 0 20px;}
.cmn_sec_info ol li{ padding: 10px 0;}
.cmn_sec_info ol li a{ display: block; padding: 0;}
.cmn_sec_info time{ position: static; font-size: 12px;}
.cmn_sec_info .cate{ padding: 5px 10px; font-size: 11px; line-height: 1.2;}
.cmn_sec_info .tit{ font-size: 15px; line-height: 1.75; padding: 3px 0 0;}
}

/* ----サービスページ共通 Section Column---- */
.cmn_sec_column ol{ list-style-type: none; padding: 0 0 50px;}
.cmn_sec_column ol li{ padding: 10px 0;}
.cmn_sec_column ol li a{ display: block; position: relative; width: 100%; min-height: 145px; color: #333; padding: 0 0 0 240px; box-sizing: border-box;}
.cmn_sec_column ol li a:hover{ text-decoration: none;}
.cmn_sec_column .thumb{ position: absolute; top: 0; left: 0; width: 220px; height: auto;}
.cmn_sec_column .thumb img.ofi{ width: 100%; height: 145px;}
.cmn_sec_column .box_cat{ display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start;}
.cmn_sec_column .cate{ width: auto; background: #fff; border: solid 1px #333; display: block; padding: 5px 10px; font-size: 14px; line-height: 1.2; margin: 0 5px 5px 0;}
.cmn_sec_column .tit{ display: block; font-size: 16px; font-weight: bold; line-height: 1.75; padding: 8px 0 0;}
.cmn_sec_column ol li a:hover .tit{ color: #ff7200;/* text-decoration: underline;*/}
.cmn_sec_column time{ display: block; font-size: 14px; font-weight: bold;}

@media screen and (max-width: 600px) {
.cmn_sec_column ol{ padding: 0;}
.cmn_sec_column ol li{ padding: 0 0 20px;}
.cmn_sec_column ol li a{ min-height: auto; padding: 0;}
.cmn_sec_column .thumb{ position: static; display: block; width: 100%; height: auto; padding: 0 0 10px;}
.cmn_sec_column .thumb img.ofi{ width: 100%; height: auto;}
.cmn_sec_column .cate{ padding: 5px 10px; font-size: 11px; line-height: 1.2;}
.cmn_sec_column .tit{ font-size: 15px; line-height: 1.75; padding: 3px 0 0;}
.cmn_sec_column time{ font-size: 12px;}
}

/* ----サービスページ共通 Section FAQ---- */
.cmn_sec_faq{ padding: 0 0 90px;}
.cmn_sec_faq .txt_01{ text-align: center; font-size: 18px; line-height: 1.7; padding: 0 0 40px;}
.cmn_sec_faq dl{ border: solid 2px #d6d6d6; border-radius: 10px; background: #fff; margin: 0 0 20px; box-sizing: border-box; font-size: 16px; line-height: 1.6; padding: 0 0 30px;}
.cmn_sec_faq dl dt{ padding: 45px 90px 20px 100px; font-weight: bold; position: relative; cursor: pointer;}
.cmn_sec_faq dl dt::before{ content: ""; background: url("../img/txt_q_01.svg") no-repeat 0 0; width: 24px; height: 35px; display: block; position: absolute; top: 40px; left: 50px;}
.cmn_sec_faq dl dt::after{ content: ""; display: block; width: 15px; height: 15px; border-bottom: solid 2px #f77900; border-right: solid 2px #f77900; transform: rotate(45deg); transform-origin: center center; position: absolute; top: 45px; right: 40px; transition: transform 0.5s;}
.cmn_sec_faq dl dt.active::after{ transform: rotate(-135deg);}
.cmn_sec_faq dl dd{ border-top: dashed 1px #bcbcbc; margin: 0 90px 0 40px; padding: 25px 0 0 130px; position: relative;}
.cmn_sec_faq dl dd::before{ content: ""; background: url("../img/txt_a_01.svg") no-repeat 0 0; width: 24px; height: 28px;  display: block; position: absolute; top: 20px; left: 80px;}
.cmn_sec_faq .box_btn{ text-align: center; padding: 50px 0 0;}

@media screen and (max-width: 600px) {
.cmn_sec_faq{ padding: 0 0 50px;}
.cmn_sec_faq .txt_01{ text-align: left; font-size: 16px; line-height: 1.7; padding: 0 5% 20px;}
.cmn_sec_faq dl{ margin: 0 0 20px; font-size: 15px; line-height: 1.6; padding: 0 0 10px;}
.cmn_sec_faq dl dt{ padding: 20px 45px 10px 50px;}
.cmn_sec_faq dl dt::before{ top: 14px; left: 15px;}
.cmn_sec_faq dl dt::after{ top: 19px; right: 20px;}
.cmn_sec_faq dl dd{ margin: 0 45px 0 20px; padding: 15px 0 10px 45px;}
.cmn_sec_faq dl dd::before{ top: 10px; left: 10px;}
.cmn_sec_faq .box_btn{ padding: 10px 5% 0;}
}

/* ----関連記事---- */
.related_list{ list-style-type: none !important; display: flex; justify-content: flex-start; margin: 0 !important;}
.related_list li{ width: 32%; margin: 0 2% 0 0;}
.related_list li:last-child{ margin: 0;}
.related_list li a{ display: block; line-height: 1.5; color: #000 !important; text-decoration: none !important; font-weight: normal;}
.related_list li a:hover{ text-decoration: none !important;}
.related_list li a img{ width: 100%; height: auto;}
.related_list li a .box_img{ overflow: hidden; width: 100%;}
.related_list li a .box_img img{ width: 100%; height: auto; aspect-ratio: 3 / 2;}
.related_list li a .tit{ padding: 0 0 10px; font-size: 18px; font-weight: 700; line-height: 1.5;}
.related_list li a:hover .tit{ color: #ff7200;}
.related_list li a .body{ font-size: 16px; line-height: 1.6; padding: 0 0 10px;}
.related_list li a .date{ font-size: 13px; line-height: 1.2;}
.related_list li a .date span{ display: inline-block;}
.related_list li a .date span.update{ margin: 0 0 0 1em;}

@media screen and (max-width: 600px) {
.related_list{ flex-direction: column; width: 90%; max-width: 90%; padding: 10px 0 0;}
.related_list li{ width: 100%; margin: 0 0 20px;}
.related_list li a{ display: flex; justify-content: space-between;}
.related_list li a .box_img{ width: 38%; padding: 0;}
.related_list li a .box_txt{ width: 58%;}
.related_list li a .tit{ padding: 5px 0; font-size: 14px; line-height: 1.3;}
.related_list li a .body{ display: none;}
.related_list li a .date{ font-size: 13px; line-height: 1.2; padding: 0 0 5%;}
.related_list li a .date span.update{ display: block; margin: 0;}
}



@media screen and (max-width: 600px) {}

/* ---------------------------------------------------
	Aside
------------------------------------------------------ */
/* ----共通 見出しtype1---- */
.side_tit_01{ display: flex; flex-direction: column;}
.side_tit_01 span.en{ font-family: 'Oleo Script'; font-weight: 700; font-size: 22px; background: #ff8204; background: linear-gradient(90deg, rgba(251,159,25,1) 15%, rgba(255,130,4,1) 85%); -webkit-background-clip: text; color: transparent; padding: 0 0 5px;}
.side_tit_01 span.ja{ font-weight: 600; font-size: 18px; line-height: 1.4; padding: 10px 0 20px; position: relative;}
.side_tit_01 span.ja::before,
.side_tit_01 span.ja::after{ content: ""; display: block; width: 100%; height: 1px; background: #d5d5d5; position: absolute; top: 0; left: 0;}
.side_tit_01 span.ja::after{ width: 90px; background: #ff9542;}

@media screen and (max-width: 600px) {
.side_tit_01 span.en{ font-size: 20px; padding: 0 0 5px;}
.side_tit_01 span.ja{ font-size: 16px; padding: 5px 0 10px;}
}

/* ----共通 ウィジェットブロック---- */
.widget_box{ }

/* ----アクセスランキング---- */
.side_ranking{ list-style-type: none; counter-reset: count 0;}
.side_ranking li{ position: relative; z-index: 1; padding: 0 0 40px;}
.side_ranking li::before{ content: counter(count) ""; counter-increment: count 1; position: absolute; top: 7px; left: 8px; z-index: 3; font-size: 18px; font-weight: bold; line-height: 1; color: #fff;}
.side_ranking li::after{ content: ""; position: absolute; top: 0; left: 0; z-index: 2; width: 0; height: 0; border-style: solid; border-top: 25px solid #ff8b1b; border-bottom: 25px solid transparent; border-left: 25px solid #ff8b1b; border-right: 25px solid transparent;}
.side_ranking li a{}
.side_ranking li a .thumb{ display: block; padding: 0 0 10px;}
.side_ranking li a .cat{ display: inline-block; border: solid 1px #d5d5d5; line-height: 1; font-size: 14px; padding: 5px 10px;}
.side_ranking li a .tit{ display: block; font-size: 15px; font-weight: bold; line-height: 1.5; padding: 5px 0;}
.side_ranking li a .update{ display: block; font-size: 13px; line-height: 1; padding: 0;}

@media screen and (max-width: 600px) {

}


/* ----ワード検索---- */
.wp-block-search{ border: solid 1px #d2d2d2; border-radius: 46px; height: 46px; width: 100%; display: flex; justify-content: space-between; margin: 0 0 70px;}
.wp-block-search input[type="search"] { height: 46px; width: 80%; font-size: 16px; line-height: 46px; padding: 0 5px 0 15px; border: none; border-radius: 30px 0 0 30px; outline: none; background: none; }
.wp-block-search button[type="submit"] { width: 20%; height: 46px; border-radius: 0 46px 46px 0; background: #ff9542; color: #fff; font-size: 18px; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; box-sizing: border-box; cursor: pointer; outline:none; padding: 0; margin: 0;}
.wp-block-search button[type="submit"]:hover{ text-decoration: none; background: rgb(251,159,25); background: linear-gradient(90deg, rgba(251,159,25,1) 0%, rgba(255,130,4,1) 100%);}

@media screen and (max-width: 600px) {
.wp-block-search{ margin: 0 0 50px;}
}


/* ----カテゴリー---- */
.widget-terms{ margin: 20px 0 70px;}
.widget-terms li{ font-size: 16px; font-weight: bold; padding: 5px 0;}
.widget-terms li a{}

@media screen and (max-width: 600px) {

}

/* ----キーワード---- */
.widget-tags{ margin: 0 0 70px; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; font-size: 14px; line-height: 1.1;}
.widget-tags li{ display: block;}
.widget-tags li a{ display: block; background: #f5f5f5; padding: 10px 15px; margin: 5px; border-radius: 50px; transition: all 0.5s;}
.widget-tags li a:hover{ background: #f77900; color: #fff; text-decoration: none;}

/* ---------------------------------------------------
	Return to top of page
------------------------------------------------------ */
#pagetop{ position: fixed; bottom: 30px; right: 30px; z-index: 101; width: 50px; height: 50px; transition: bottom 0.5s;}
#pagetop:hover{ bottom: 34px;}
#pagetop a{ display: block; width: 50px; height: 50px; background: #3a3a3a; border-radius: 50px; text-indent: 100%; white-space: nowrap; overflow: hidden; transition: bottom 0.5s;}
#pagetop a::before{ content: ""; width: 14px; height: 14px; border-right: solid 2px #fff; border-top: solid 2px #fff; position: absolute; top: 20px; left: 0; right: 0; margin: 0 auto; transform: rotate(-45deg); transform-origin: center center;}

@media screen and (max-width: 600px) {
#pagetop{ bottom: 10px; right: 10px;}
#pagetop:hover{ bottom: 14px;}
}

/* ---------------------------------------------------
	ChatGPT
------------------------------------------------------ */
#btn_gpt_wrap { display: none; width: 214px; position: fixed; bottom: 23px; right: 85px; z-index: 100; align-items: center;}
#btn_gpt { display: flex; align-items: center;}
#btn_gpt a { display: block;}
#btn_gpt div { position: relative; display: flex; align-items: center; justify-content: center; background: url(../img/services/489ban/btn_gpt1.png)no-repeat center center; height: 60px; width: 165px; background-size: contain; text-align: center;}
#btn_gpt p { font-size: 12px; font-weight: bold; padding: 0 0 2px 8px; line-height: 1.3; color: #fff;}
#btn_gpt >img { width: 53px; height: 53px;}
#btn_gpt_close { display: block; position: absolute; width: 13px; height: 13px; left: 8px; top: 8px; }
#btn_gpt_close::before, #btn_gpt_close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 1px; height: 13px; background: #fff; }
#btn_gpt_close::before { transform: translate(-50%,-50%) rotate(45deg);}
#btn_gpt_close::after { transform: translate(-50%,-50%) rotate(-45deg);}

@media screen and (max-width: 600px) {
#btn_gpt_wrap { bottom: 3px; right: 65px;}
}


/* ---------------------------------------------------
	Global Footer
------------------------------------------------------ */
#g_footer{ position: relative; z-index: 99;}
#g_footer a:hover{ color: #ff7200; text-decoration: none;}
.ft_block_01{ background: #3a3a3a; color: #fff;}
.ft_block_01 ul{ width: 100%; display: flex; justify-content: center; padding: 40px 0;}
.ft_block_01 ul li{ font-size: 18px; margin: 0 20px;}
.ft_block_01 ul li a{ color: #fff; padding: 20px; display: block;}
.ft_block_02{ background: #f0f0f0; padding: 50px 0 10px;}
.ft_block_02_in{ width: 90%; max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;}
.ft_block_02_in > div{ width: 30%; margin: 0 0 40px;}
.ft_block_02_in > div .acc_tit{ font-size: 18px; font-weight: bold;}
.ft_block_02_in > div ul li{ margin: 10px 0 0; font-size: 16px;}
.ft_block_02_in > div ul li:before{ content: "・";}
.ft_block_03{ background: #f0f0f0; border-top: solid 1px #e3e3e3; padding: 40px 0 0;}
.ft_block_03_in{ width: 90%; max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; font-size: 16px; line-height: 1.8;}
.ft_copyright{ display: block; background: #f0f0f0; width: 100%; padding: 30px 0; text-align: center; font-size: 14px; line-height: 1.5;}

@media screen and (max-width: 600px) {
.ft_block_01 ul{ flex-direction: column; padding: 20px 0;}
.ft_block_01 ul li{ font-size: 18px; margin: 0; text-align: center;}
.ft_block_01 ul li a{ padding: 10px 0;}
.ft_block_02{ padding: 0;}
.ft_block_02_in{ width: 100%; max-width: 100%; margin: 0; flex-direction: column;}
.ft_block_02_in > div{ width: 100%; margin: 0;}
.ft_block_02_in > div .acc_tit{ font-size: 17px; font-weight: bold; padding: 15px 30px; position: relative;}
.ft_block_02_in > div .acc_tit::before,
.ft_block_02_in > div .acc_tit::after{ content: ""; display: block; width: 20px; height: 2px; background: #000; position: absolute; top: 27px; right: 20px; transition: all 0.5s; transform-origin: center center;}
.ft_block_02_in > div .acc_tit::after{ transform: rotate( 90deg ); }
.ft_block_02_in > div .acc_tit.active::after{ transform: rotate( 0deg ); opacity: 0;}
.ft_block_02_in > div ul{ background: #fff; padding: 15px 30px;}
.ft_block_02_in > div ul li{ margin: 0; font-size: 15px; padding: 8px 0;}
.ft_block_03{ padding: 20px 0 0;}
.ft_block_03_in{ width: 90%; max-width: 90%; margin: 0 auto; align-items: center; flex-direction: column; font-size: 15px; text-align: center;}
.ft_addr{ padding: 10px 0;}
.ft_copyright{ padding: 20px 0; font-size: 12px; line-height: 1.5;}
}

@media screen and (max-width: 320px) {
.ft_block_03_in{ font-size: 12px;}
.ft_copyright{ font-size: 11px;}
}


/* ---------------------------------------------------
	Global Footer (/services/の下層ページで適用されるフッター)
------------------------------------------------------ */
.ft_serv_01{ background: #f0f0f0; width: 100%; display: flex; justify-content: center; padding: 50px 0;}
.ft_serv_01 .ft_logo{ width: 280px; border-right: solid 1px #cfcfcf;}
.ft_serv_01 .ft_serv_01_in{ width: 920px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 0 0 0 100px;}
.ft_serv_01 .ft_telnum .ft_tel{ font-size: 20px; line-height: 1.1;}
.ft_serv_01 .ft_telnum .ft_tel .tel-link{ font-size: 28px; font-weight: bold;}
.ft_serv_01 .ft_telnum .ft_open{ font-size: 14px; padding: 5px 0 0; text-align: right;}
.ft_serv_01 .ft_btns{ display: flex;}
.ft_serv_01 .ft_btns a{ background: #333; color: #fff; border: solid 1px #333; font-size: 16px; line-height: 58px; height: 60px; display: block; border-radius: 30px; position: relative; box-sizing: border-box; transition: all 0.5s;}
.ft_serv_01 .ft_btns a:hover{ color: #333 !important; background: #fff;}
.ft_serv_01 .ft_btns a::after{ content: ""; display: block; width: 8px; height: 8px; transform: rotate(-45deg); transform-origin: center center; position: absolute; top: 0; bottom: 0; right: 15px; margin: auto 0; transition: right 0.5s;}
.ft_serv_01 .ft_btns a.ft_btn_01::after{ border-right: solid 2px #5bb446; border-bottom: solid 2px #5bb446;}
.ft_serv_01 .ft_btns a.ft_btn_02::after{ border-right: solid 2px #c56f30; border-bottom: solid 2px #c56f30;}
.ft_serv_01 .ft_btns a.ft_btn_01:hover::after,
.ft_serv_01 .ft_btns a.ft_btn_02:hover::after{ border-right: solid 2px #333; border-bottom: solid 2px #333; right: 10px;}
.ft_serv_01 .ft_btns a.ft_btn_01{ padding: 0 55px; margin: 0 20px 0 0;}
.ft_serv_01 .ft_btns a.ft_btn_02{ padding: 0 55px; margin: 0 15px 0 0;}
.ft_serv_01 .ft_links{ width: 100%; padding: 30px 0 0; display: flex; justify-content: space-between;}
.ft_serv_01 .ft_links ul{ display: flex; flex-direction: column; justify-content: space-between;}
.ft_serv_01 .ft_links ul li{ font-size: 18px; font-weight: bold; padding: 5px 0;}
.ft_serv_01 .ft_links ul li .nolink{ color: #aaa;}
.ft_serv_01 .ft_links ul li ul{ padding: 5px 0 0;}
.ft_serv_01 .ft_links ul li ul li{ font-size: 16px; font-weight: normal; padding: 0 0 0 1em; position: relative;}
.ft_serv_01 .ft_links ul li ul li::before{ content:""; display: block; width: 5px; height: 1px; background: #000; position: absolute; top: 12px; left: 4px;}
.ft_serv_02{ background: #f0f0f0; width: 100%; border-top: solid 1px #cfcfcf;}
.ft_serv_02 .ft_serv_02_in{ width: 100%; max-width: 1200px; margin: 0 auto; display: flex; align-items: center; padding: 40px 0;}
.ft_serv_02 .ft_logo{ width: 75px;}
.ft_serv_02 .ft_addr{ font-size: 16px; line-height: 1.9; margin: 0 0 0 100px;}
.ft_serv_02 .ft_pmark{ margin: 0 0 0 auto;}
.ft_serv_02 .ft_serv_btns{ width: 100%; max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between;}
.ft_serv_02 .ft_serv_btns a{ display: block;}

@media screen and (max-width: 600px) {
.ft_serv_01{ flex-direction: column; padding: 30px 0;}
.ft_serv_01 .ft_logo{ width: 90%; border-right: none; margin: 0 auto; padding: 0 0 10px; text-align: center;}
.ft_serv_01 .ft_serv_01_in{ width: 90%; padding: 0; margin: 0 auto;}
.ft_serv_01 .ft_telnum{ margin: 0 auto 15px;}
.ft_serv_01 .ft_telnum .ft_tel{ font-size: 20px; line-height: 1.1;}
.ft_serv_01 .ft_telnum .ft_tel .tel-link{ font-size: 28px; font-weight: bold;}
.ft_serv_01 .ft_telnum .ft_open{ font-size: 14px; padding: 5px 0 0; text-align: right;}
.ft_serv_01 .ft_btns{ flex-direction: column; align-items: center; margin: 0; width: 100%;}
.ft_serv_01 .ft_btns a{ font-size: 14px; line-height: 48px; height: 50px; border-radius: 30px; width: 100%; text-align: center;}
.ft_serv_01 .ft_btns a.ft_btn_01{ padding: 0; margin: 0 0 10px 0;}
.ft_serv_01 .ft_btns a.ft_btn_02{ padding: 0; margin: 0;}
.ft_serv_01 .ft_links{ padding: 30px 0 0; flex-direction: column;}
.ft_serv_01 .ft_links ul{ flex-direction: column;}
.ft_serv_01 .ft_links ul li{ font-size: 17px; padding: 5px 0;}
.ft_serv_01 .ft_links ul li ul{ padding: 5px 0 0;}
.ft_serv_01 .ft_links ul li ul li{ font-size: 15px;}
.ft_serv_02 .ft_serv_02_in{ width: 90%; max-width: 90%; flex-direction: column; padding: 40px 0 0;}
.ft_serv_02 .ft_logo{ width: 75px;}
.ft_serv_02 .ft_addr{ font-size: 15px; line-height: 1.9; margin: 0;}
.ft_serv_02 .ft_pmark{ margin: 10px auto;}
.ft_serv_02 .ft_serv_btns{ width: 90%; max-width: 90%; flex-wrap: wrap;}
.ft_serv_02 .ft_serv_btns a{ display: block; width: 48%; margin: 4% 0 0;}
}


/* ---------------------------------------------------
	お役立ちダウンロード・導入事例を準備中に（Home・予約番・ウェブ）
------------------------------------------------------ */
.comingsoon { text-align: center; padding: 0 0 100px;}
.comingsoon .com_01 { font-family: 'Oleo Script'; font-size: 60px; color: #ccc}
.comingsoon .com_02 { font-size: 20px;}

@media screen and (max-width: 600px) {
.comingsoon { padding: 0 0 40px;}
.comingsoon .com_01 { font-size: 40px;}
.comingsoon .com_02 { font-size: 15px;}
}

/* ---------------------------------------------------
	記事登録がない場合
------------------------------------------------------ */
.empty{ text-align: center; padding: 0 0 50px; font-size: 18px;}

@media screen and (max-width: 600px) {
.empty{ padding: 0 0 20px; font-size: 16px;}
}
