@charset "UTF-8";


/* ----------------------------------------------------------------------------------------------------
*	フォント
* --------------------------------------------------------------------------------------------------*/

/* Noto Sans JP */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* Noto Serif JP */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap');

/* Barlow */
@font-face {
	font-family: "Barlow";
	src: url("../font/Barlow-Light.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: "Barlow";
	src: url("../font/Barlow-Medium.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: "Barlow";
	src: url("../font/Barlow-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
}

/* Poppins */
@font-face {
	font-family: "Poppins";
	src: url("../font/Poppins-Medium.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: "Poppins";
	src: url("../font/Poppins-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: "Poppins";
	src: url("../font/Poppins-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
}

/* Raleway */
@font-face {
	font-family: "Raleway";
	src: url("../font/Raleway-Light.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: "Raleway";
	src: url("../font/Raleway-Medium.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: "Raleway";
	src: url("../font/Raleway-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
}

.serif{
	font-family: "Noto Serif JP", serif;
}

.en{
	font-family: "Barlow", "Noto Sans JP", sans-serif;
}



/* ----------------------------------------------------------------------------------------------------
*	基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{
	height:100%;
}

html{
	font-size:62.5%;
	overflow-y: scroll;
}
@media screen and (max-width: 768px) {
	html {
		font-size: calc(100vw * 10 / 480);
	}
}

body{
	-webkit-text-size-adjust: 100%;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, figure, form {
	margin: 0;
	padding: 0;
	border: none;
	list-style-type: none;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, figure,
form, input, textarea, select, button, div{
	font-style: normal;
	font-weight: normal;
	font-family: "Noto Sans JP", "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	word-break: break-word;
	line-height: 1;
	color: #252122;
	font-size: 1.6rem;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

table{
	border-spacing: 0;
}

input:not([type="file"]), textarea, select, button{
	vertical-align:middle;
	background-color: #fff;
}
button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
input:not([type="file"]),select,button,textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: none;
	border-radius: 0;
	padding: 0;
}
select::-ms-expand{
	display: none;
}
textarea{
	resize: none;
}
button,input[type="submit"],input[type="button"],select,label{
	cursor: pointer;
}
input[type="radio"]:checked{
	appearance: none;
}
blockquote{
	margin: 0;
	padding: 0;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a,
button,
input[type="submit"],
input[type="button"]{
	text-decoration: none;
	color: inherit;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
@media screen and (min-width: 769px) {
	a:hover,
	button:hover,
	input[type="submit"]:hover,
	input[type="button"]:hover{
		opacity: 0.7;
	}

	a[href^="tel:"]{
		display: inline-block;
		pointer-events: none;
	}
}

body{
	min-width: 1200px;
}

.wrap{
	max-width: 1200px;
	width: 92%;
	margin: 0 auto;
}

.content{
	overflow: hidden;
}

@media screen and (min-width: 769px) {
	.sp{
		display: none !important;
	}
	.pc_ib{
		display: inline-block;
	}
}

@media screen and (max-width: 768px) {
	body{
		min-width: initial;
	}
	.wrap{
		width: 92%;
		max-width: initial;
	}

	body, h1, h2, h3, h4, h5, h6, p, address,
	ul, ol, li, dl, dt, dd,
	table, th, td, img, figure,
	form, input, textarea, select, button, div{
		font-size: 1.8rem;
	}

	.pc{
		display: none !important;
	}
	.sp_ib{
		display: inline-block;
	}
}




/* ----------------------------------------------------------------------------------------------------
*	ヘッダー
* --------------------------------------------------------------------------------------------------*/
.header_wrap{
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	height: 115px;
	padding: 50px 4% 0;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}

.header_wrap .logo{
	width: 280px;
	margin-top: -30px;
}

.header_nav{
	display: flex;
	align-items: center;
	margin-right: 100px;
}

.header_nav li + li{
	margin-left: 30px;
}
.header_nav li a{
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	letter-spacing: 0.075em;
}

.header_nav .ico{
	display: inline-block;
	height: 13px;
	margin-right: 6px;
}
.header_nav .ico01{
	width: 15px;
	background: url(../img/common/header_nav_ico01_bk.svg) no-repeat center center;
	background-size: 100%;
}
.header_nav .ico02{
	width: 10px;
	background: url(../img/common/header_nav_ico02_bk.svg) no-repeat center center;
	background-size: 100%;
}
.header_nav .ico03{
	width: 15px;
	background: url(../img/common/header_nav_ico03_bk.svg) no-repeat center center;
	background-size: 100%;
}

.menu_btn{
	position: fixed;
	z-index: 10001;
	top: 34px;
	right: 4%;
	width: 50px;
	height: 50px;
	cursor: pointer;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}

.menu_btn .line{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background: #252122;
	transition: all 0.4s ease-out;
}
.menu_btn .line:nth-child(1){
	top: -10px;
}
.menu_btn .line:nth-child(2){
	bottom: -10px;
}

.menu_btn.active .line{
	left: 0;
	height: 2px;
	background: #fff;
	box-shadow: 0 0 5px rgba(0,0,0, 0.3);
}
.menu_btn.active .line:nth-child(1){
	top: 0;
	transform: rotate(35deg);
}
.menu_btn.active .line:nth-child(2){
	bottom: 0;
	transform: rotate(-35deg);
}

.header_wrap.fix,
.header_wrap.active_fix{
	align-items: center;
	height: 80px;
	padding-top: 0;
	background: rgba(255,255,255, 0.9);
	box-shadow: 0 5px 0 rgba(37, 33, 34, 0.1);

}

.header_wrap.fix .logo,
.header_wrap.active_fix .logo{
	background: url(../img/common/logo02202605.svg) no-repeat center center;
	background-size: 100%;
		margin-top: 1px;
}
.header_wrap.fix .logo img,
.header_wrap.active_fix .logo img{
	opacity: 0;
}

.header_wrap.fix .header_nav li a,
.header_wrap.active_fix .header_nav li a{
	color: #252122;
}
.header_wrap.fix .header_nav .ico01,
.header_wrap.active_fix .header_nav .ico01{
	background: url(../img/common/header_nav_ico01_bk.svg) no-repeat center center;
	background-size: 100%;
}
.header_wrap.fix .header_nav .ico02,
.header_wrap.active_fix .header_nav .ico02{
	background: url(../img/common/header_nav_ico02_bk.svg) no-repeat center center;
	background-size: 100%;
}
.header_wrap.fix .header_nav .ico03,
.header_wrap.active_fix .header_nav .ico03{
	background: url(../img/common/header_nav_ico03_bk.svg) no-repeat center center;
	background-size: 100%;
}

.menu_btn.fix,
.menu_btn.active_fix{
	top: 16px;
}

.menu_btn.fix .line{
	background: #252122;
}

.gnav{
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	opacity: 0;
	width: 100%;
	height: 100vh;
	visibility: hidden;
	background: #fff;
	-webkit-transition: opacity .4s ease-in-out;
	transition: opacity .4s ease-in-out;
}
.gnav.active{
	opacity: 1;
	visibility: visible;
}

.gnav_wrap{
	display: none;
}

.gnav_inner{
	display: flex;
	height: 100vh;
}

.gnav_box{
	flex-shrink: 0;
	max-width: 100%;
	width: 70%;
	min-width: 930px;
	background: #fff;
	max-height: 100vh;
	padding: 70px 50px 50px;
	overflow-y: auto;
}

.gnav .bg_box{
	width: 100%;
	background: url(../img/common/gnav_bg01.jpg) no-repeat center center;
	background-size: cover;
}

.gnav_top{
	display: flex;
	margin-bottom: 35px;
}

.gnav .sns_list{
	display: flex;
	align-items: center;
	width: calc(33.3333% - 16px);
	padding-left: 17px;
}

.gnav .sns_list li + li{
	margin-left: 22px;
}

.gnav .tel_box{
	display: flex;
	align-items: flex-end;
	margin-left: 24px;
}

.gnav .tel_box .tel_btn a{
	padding-left: 35px;
	font-weight: bold;
	font-size: 3.0rem;
	background: url(../img/common/ico_tel01.svg) no-repeat;
	background-position: left calc(100% - 2px);
}
.gnav .tel_box .tel_txt{
	margin-left: 24px;
	line-height: 1.6;
	font-size: 1.4rem;
}

.gnav_btn_list{
	display: flex;
	margin-bottom: 55px;
}
.gnav_btn + .gnav_btn{
	margin-left: 24px;
}

.gnav_btn{
	flex: 1;
}
.gnav_btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 58px;
	border-radius: 4px;
	background: #f08803;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 1.7rem;
}

.gnav_list_wrap{
	display: flex;
	justify-content: space-between;
}

.gnav_list_box{
	flex: 1;
	padding-left: 17px;
}
.gnav_list_box + .gnav_list_box{
	margin-left: 20px;
}

.gnav_list_ttl{
	margin-bottom: 35px;
	font-size: 1.4rem;
	letter-spacing: 0.075em;
	line-height: 1;
}
.gnav_list_ttl .serif{
	display: block;
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 0.025em;
}
.gnav_list_ttl .ttl_txt{
	display: block;
	margin-top: 8px;
	color: #a9aaaa;
	line-height: 1.3;
}
.gnav_list_ttl:not(:first-child){
	margin-top: 70px;
}

.gnav_list li + li{
	margin-top: 28px;
}
.gnav_list li a{
	display: block;
	padding-left: 28px;
	background: url(../img/common/gnav_list_ico01.svg) no-repeat;
	background-position: left 4px;
	font-size: 1.6rem;
	line-height: 1.3;
	letter-spacing: 0.075em;
}

.gnav .logo {
    width: 290px;
    margin-top: 85px;
}

@media screen and (max-width: 768px) {
	.header_wrap{
		height: 10.0rem;
		align-items: center;
		padding: 0 4%;
	}

	.header_wrap .logo{
		width: 28rem;
		margin-top: 5px;
	}

	.menu_btn{
		top: 1.6rem;
		width: 5.5rem;
		height: 5.5rem;
	}

	.menu_btn .line:nth-child(1){
		top: -1rem;
	}
	.menu_btn .line:nth-child(2){
		bottom: -1rem;
	}

	.menu_btn.active .line{
		height: 1px;
		box-shadow: none;
		background: #252122;
	}

	.header_wrap.fix,
	.header_wrap.active_fix{
		height: 8rem;
		box-shadow: 0 0.5rem 0 rgba(37, 33, 34, 0.1);
	}
	.header_wrap.fix .logo,
	.header_wrap.active_fix .logo{
		background: url(../img/common/logo04202605.svg) no-repeat center center;
		background-size: 70%;
		margin-left: -30px;
	}

	.menu_btn.fix,
	.menu_btn.active_fix{
		top: 1.2rem;
	}

	.gnav{
		background: #fff url(../img/common/gnav_bg01_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.gnav.active{
		opacity: 1;
		visibility: visible;
	}

	.gnav_wrap{
		display: none;
	}

	.gnav_inner{
		display: block;
		padding-top: 8.0rem;
	}

	.gnav_box{
		position: relative;
		background: none;
		width: 100%;
		min-width: 0;
		padding: 3rem 4% calc(20rem + 50px);
	}

	.gnav .bg_box{
		width: 100%;
		background: url(../img/common/gnav_bg01.jpg) no-repeat center center;
		background-size: cover;
	}

	.gnav_top{
		flex-direction: column;
		align-items: center;
		margin-bottom: 4rem;
		padding: 0;
	}

	.gnav .sns_list{
		display: flex;
		align-items: center;
		width: 100%;
		padding: 0;
	}

	.gnav .sns_list li{
		width: 3rem;
	}
	.gnav .sns_list li + li{
		margin-left: 4.4rem;
		margin-left: 3rem;
	}
	.gnav .sns_list li img{
		width: 100%;
	}

	.gnav .tel_box{
		flex-direction: column;
		align-items: center;
		margin-left: 0;
		margin-top: 3.5rem;
	}

	.gnav .tel_box .tel_btn a{
		padding-left: 4rem;
		font-size: 3.4rem;
		background: url(../img/common/ico_tel01.svg) no-repeat;
		background-size: 3.5rem;
		background-position: left calc(100% - 0.2rem);
	}
	.gnav .tel_box .tel_txt{
		margin-left: 0;
		margin-top: 0.8rem;
		font-size: 1.6rem;
	}

	.gnav_btn_list{
		display: block;
		margin-bottom: 4rem;
	}
	.gnav_btn + .gnav_btn{
		margin-left: 0;
		margin-top: 1.8rem;
	}

	.gnav_btn{
		flex: initial;
		width: 100%;
	}
	.gnav_btn a{
		height: 5.8rem;
		border-radius: 0.4rem;
		font-size: 2.1rem;
	}

	.gnav_list_wrap{
		display: block;
	}

	.gnav_list_box{
		flex: initial;
		width: 100%;
		padding: 0;
		margin: 0;
	}
	.gnav_list_box + .gnav_list_box{
		margin-left: 0;
	}

	.gnav_list_ttl{
		margin-bottom: 2.5rem;
		font-size: 1.6rem;
	}
	.gnav_list_ttl .ttl_txt{
		margin-top: 0.5rem;
	}
	.gnav_list_ttl:not(:first-child),
	.gnav_list_box + .gnav_list_box{
		margin-top: 3.5rem;
	}

	.gnav_list li + li{
		margin-top: 2.5rem;
	}
	.gnav_list li a{
		padding-left: 2.6rem;
		background-size: 1.4rem;
		background-position: left 0.6rem;
		font-size: 1.8rem;
	}

	.gnav .logo{
		position: absolute;
		top: 1.4rem;
		left: 4%;
		width: 18.8rem;
		margin-top: 0;
	}

	.gnav .bg_box{
		display: none;
	}
}



/* ----------------------------------------------------------------------------------------------------
*	フッター
* --------------------------------------------------------------------------------------------------*/
.footer_content{
	margin-top: 130px;
}

.footer_info{
	width: 100%;
	padding: 110px 0 75px;
	background: url(../img/common/footer_info_bg01.png) no-repeat center top;
	background-size: 100%;
}

.footer_info .footer_info_ttl{
	margin-bottom: 30px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 2.9rem;
}
.footer_info .footer_info_ttl .txt_orange{
	font-size: 4.4rem;
}

.footer_info .footer_info_ttl + .txt{
	text-align: center;
	color: #fff;
}

.footer_info_wrap{
	position: relative;
	display: flex;
	justify-content: space-between;
	margin-top: 90px;
}

.footer_info_box{
	position: relative;
	z-index: 2;
	width: calc(33.3333% - 20px);
	padding: 0 0 30px;
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0, 0.2);
}

.footer_info_box_ttl{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 115px;
	margin-bottom: 30px;
	background: #252122;
	text-align: center;
	color: #fff;
	font-weight: bold;
	line-height: 1.8;
	font-size: 1.8rem;
}
.footer_info_box_ttl::before{
	position: absolute;
	bottom: -18px;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 20px solid #252122;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}

.footer_info_box .ttl{
	text-align: center;
	font-size: 2.1rem;
	line-height: 1.6;
	font-weight: 500;
}

.footer_info_box .img{
	margin-top: 15px;
}

.footer_info_box .txt{
	margin-top: 10px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.6;
}

.footer_info_box .btn{
	margin-top: 35px;
}
.footer_info_box .btn a{
	width: 320px;
	height: 65px;
	font-weight: bold;
}
.footer_info_box .btn .arw{
	width: 24px;
}

.footer_info_wrap .img01{
	position: absolute;
	top: -250px;
	right: 0;
	width: 315px;
	display: none;
}

.footer_contact{
	margin-top: 32px;
	background: #dcdcdc;
}

.footer_contact .wrap{
	position: relative;
	padding: 70px 0;
}

.footer_contact .footer_contact_ttl{
	position: absolute;
	top: -0.7em;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	font-size: 6.0rem;
	font-weight: 600;
}

.footer_contact .txt{
	text-align: center;
}

.footer_contact .tel_txt{
	margin: 35px 0 10px;
	text-align: center;
}
.footer_contact .tel_txt a{
	display: inline-block;
	padding-left: 60px;
	background: url(../img/common/tel_ico01.svg) no-repeat left bottom;
	font-size: 6.0rem;
	font-weight: bold;
}

.footer_contact .img{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 311px;
}

.footer_wrap{
	padding: 80px 0 85px;
	background: #fff;
}

.footer_wrap .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer_wrap .footer_ttl_box{
	order: 2;
}

.footer_wrap .footer_ttl{
	text-align: right;
	font-size: 2.7rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.footer_wrap .footer_ttl_txt{
	text-align: right;
	margin-top: 20px;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.footer_wrap .footer_box{
	order: 1;
}

.footer_wrap .logo{
	width: 291px;
}

.footer_wrap .footer_mid_txt{
	margin-top: 15px;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.footer_wrap .txt{
	margin-top: 25px;
	font-size: 1.5rem;
	line-height: 1.8;
}

.footer_wrap .copy{
	margin-top: 10px;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #939494;
}

.footer_subttl{
	display: none;
}
@media screen and (max-width: 768px) {
	.footer_content{
		margin-top: 6rem;
	}

	.footer_info{
		padding: 6rem 0;
		background: url(../img/common/footer_info_bg01_sp.png) no-repeat center top;
		background-size: 100%;
	}

	.footer_info .footer_info_ttl{
		margin-bottom: 2rem;
		font-size: 2.1rem;
	}
	.footer_info .footer_info_ttl .txt_orange{
		font-size: 3.2rem;
	}

	.footer_info_wrap{
		flex-direction: column;
		align-items: center;
		margin-top: 3rem;
	}

	.footer_info_box{
		width: 38.0rem;
		padding: 0 0 3rem;
		box-shadow: 0 0 1rem rgba(0,0,0, 0.2);
	}
	.footer_info_box + .footer_info_box{
		margin-top: 3.5rem;
	}

	.footer_info_box_ttl{
		height: 11.5rem;
		margin-bottom: 3rem;
	}
	.footer_info_box_ttl::before{
		bottom: -1.8rem;
		border-top: 2.0rem solid #252122;
		border-left: 2.0rem solid transparent;
		border-right: 2.0rem solid transparent;
	}

	.footer_info_box .img{
		margin-top: 1.5rem;
	}

	.footer_info_box .txt{
		margin-top: 1rem;
		font-size: 1.6rem;
	}

	.footer_info_box .btn{
		margin-top: 3rem;
	}
	.footer_info_box .btn a{
		width: 32.0rem;
		height: 6.5rem;
	}
	.footer_info_box .btn .arw{
		width: 2.4rem;
	}

	.footer_info_wrap .img01{
		position: relative;
		top: 0;
		width: 32.4rem;
		margin: 0 auto;
	}

	.footer_contact{
		margin-top: 3.2rem;
	}

	.footer_contact .wrap{
		padding: 5rem 0 0;
	}

	.footer_contact .tel_txt{
		margin: 2.5rem 0 1rem;
	}
	.footer_contact .tel_txt a{
		padding-left: 4.0rem;
		background-size: 3rem;
		font-size: 4.2rem;
	}
	.footer_contact .tel_txt + .txt{
		font-size: 1.6rem;
	}

	.footer_contact .img{
		position: relative;
		width: 34.1rem;
		margin: 3.5rem auto 0;
	}

	.footer_wrap{
		padding: 6rem 0;
	}

	.footer_wrap .wrap{
		flex-direction: column;
		align-items: center;
	}

	.footer_wrap .footer_ttl_box{
		order: 1;
	}

	.footer_wrap .footer_ttl{
		text-align: center;
		font-size: 3.0rem;
	}
	.footer_wrap .footer_ttl_txt{
		text-align: center;
		margin-top: 1.5rem;
		font-size: 1.8rem;
	}

	.footer_wrap .footer_box{
		order: 2;
		margin-top: 6rem;
	}

	.footer_wrap .logo{
		width: 28rem;
	}
	.footer_wrap .logo img{
		width: 100%;
	}

	.footer_wrap .footer_mid_txt{
		text-align: center;
		margin-top: 1.5rem;
	}

	.footer_wrap .txt{
		margin-top: 3rem;
		text-align: center;
		font-size: 1.6rem;
	}

	.footer_wrap .copy{
		margin-top: 2rem;
		text-align: center;
		font-size: 1.4rem;
	}
}

/* ==========================================
   フッター：住所とパナソニックロゴのレイアウト調整
   ========================================== */

/* 1. パソコン表示のとき：住所とロゴを横並びにする */
.footer_address_flex {
    display: flex;
    align-items: center;    /* 上下の中央を揃える */
    gap: 30px;              /* 住所とロゴの間のすき間（お好みで調整） */
    margin-bottom: 15px;    /* 下のコピーライトとの間のすき間 */
}

/* 2. ロゴの大きさを小さく調整 */
.logo_panasonic {
    margin: 0;              /* 余計な余白を消す */
}
.logo_panasonic img {
    width: 90px;           /* ロゴの幅をちょうどいい大きさに制限 */
    height: auto;           /* 縦横比を崩さない */
    display: block;
}

/* 3. スマホ表示のとき（画面幅が768px以下のとき） */
@media screen and (max-width: 768px) {
    .footer_address_flex {
        flex-direction: column;    /* スマホでは縦並びに戻す */
        align-items: center;  /* 左寄せにする */
        gap: 15px;                 /* 縦並びのときのすき間 */
    }
    .logo_panasonic img {
        width: 120px;/* スマホでは少しだけ小さくする */
        margin: 0 auto;
	}
}


/* ----------------------------------------------------------------------------------------------------
*	共通
* --------------------------------------------------------------------------------------------------*/
.txt{
	line-height: 2;
}

.bold{
	font-weight: bold;
}

.txt_up{
	text-transform: uppercase;
}
.txt_noup{
	text-transform: none;
}

.txt_center{
	text-align: center;
}
.txt_right{
	text-align: right;
}
.txt_left{
	text-align: left;
}

@media screen and (min-width: 769px) {
	.pc_tate{
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		white-space: nowrap;
	}
}
.tate{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.txt_orange{
	color: #f08803;
}
.txt_green{
	color: #648074;
}


@media screen and (max-width: 768px) {
	.img img{
		width: 100%;
	}

	.txt{
		line-height: 1.8;
	}
}



/* ------------------------------
	.btn
------------------------------ */
.btn{
	display: flex;
}
.btn.center{
	justify-content: center;
}
.btn.right{
	justify-content: flex-end;
}

.btn a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 273px;
	height: 60px;
	background: #fff;
	border: 1px solid #252122;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.btn a::before{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 0;
	height: 100%;
	background: #f08803;
	-webkit-transition: width .5s ease;
	transition: width .5s ease;
}
.btn .btn_txt{
	position: relative;
	z-index: 2;
}
.btn .arw{
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	right: -15px;
	margin: auto;
	width: 30px;
	height: 100%;
	overflow: hidden;
}
.btn .arw::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/common/btn_arw01.svg) no-repeat center center;
	background-size: 100%;
}

.btn.orange a{
	background: #f08803;
	border: none;
	color: #fff;
}
.btn.orange a::before{
	background: #FFA636;
}
.btn.orange .arw{
	right: 20px;
}
.btn.orange .arw::before{
	background: url(../img/common/btn_arw02.svg) no-repeat center center;
	background-size: 100%;
	-webkit-transition: background .4s ease;
	transition: background .4s ease;
}

.btn.back .arw{
	right: auto;
	left: -15px;
	transform: scale(-1, 1);
}
.btn.back a::before{
	right: 0;
	left: auto;
}
@keyframes btnarw {
	0% {
		transform: scale(1, 1);
		transform: translateX(0)
	}

	50% {
		transform: scale(1, 1);
		transform: translateX(100%)
	}

	50.01% {
		transform: scale(1, 0);
		transform: translateX(-150%)
	}

	52% {
		animation-timing-function: ease-out;
		transform: scale(1, 1);
		transform: translateX(-150%)
	}

	100% {
		transform: scale(1, 1);
		transform: translateX(0)
	}
}

@media screen and (min-width: 769px) {
	.btn a:hover{
		opacity: 1;
		border-color: #f08803;
		color: #fff;
	}
	.btn a:hover::before{
		width: 100%;
	}
	.btn a:hover .arw::before{
		animation: btnarw 1s cubic-bezier(0.9, 0.1, 0.3, 0.9);
	}
	.btn:not(.orange) a:hover .arw::before{
		background: url(../img/common/btn_arw03.svg) no-repeat center center;
		background-size: 100%;
		transition-delay: 0.5s;
	}
}


@media screen and (max-width: 768px) {
	.btn.sp_left{
		justify-content: flex-start;
	}
	.btn.sp_center{
		justify-content: center;
	}
	.btn.sp_right{
		justify-content: flex-end;
	}

	.btn a{
		width: 30.7rem;
		height: 6.7rem;
		font-size: 1.8rem;
	}

	.btn .arw{
		right: -1.7rem;
		width: 3.4rem;
	}

	.btn.orange .arw{
		right: 2.0rem;
	}

	.btn.back .arw{
		left: -1.7rem;
	}
}



/* ------------------------------
	.ttl
------------------------------ */
.sec_ttl{
	display: flex;
	align-items: flex-end;
}
.sec_ttl .en{
	font-weight: bold;
	font-size: 6.0rem;
	line-height: 1;
}
.sec_ttl .ttl_txt{
	margin-left: 25px;
	margin-bottom: 0.1em;
	font-weight: 500;
	font-size: 2.2rem;
	line-height: 1.6;
}

@media screen and (min-width: 769px) {
	.sec_ttl.pc_tate{
		flex-direction: column;
		align-items: flex-start;
	}
	.sec_ttl.pc_tate .en{
		order: 2;
	}
	.sec_ttl.pc_tate .ttl_txt{
		order: 1;
		margin-bottom: 0;
		margin-left: 10px;
	}
}

.pagettl_box{
	padding-top: 220px;
	margin-bottom: 145px;
}

.pagettl{
	text-align: center;
}

.pagettl .en{
	display: block;
	font-size: 6.0rem;
	letter-spacing: 0.075em;
	font-weight: bold;
	overflow: hidden;
}
.pagettl .en span{
	display: inline-block;
	-webkit-transform: translate(0, 105%);
	transform: translate(0, 105%);
	-webkit-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}
.pagettl.fade-on .en span{
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.pagettl .en span:nth-child(2){
	transition-delay: 0.06s;
}
.pagettl .en span:nth-child(3){
	transition-delay: 0.12s;
}
.pagettl .en span:nth-child(4){
	transition-delay: 0.18s;
}
.pagettl .en span:nth-child(5){
	transition-delay: 0.24s;
}
.pagettl .en span:nth-child(6){
	transition-delay: 0.30s;
}
.pagettl .en span:nth-child(7){
	transition-delay: 0.36s;
}
.pagettl .en span:nth-child(8){
	transition-delay: 0.42s;
}
.pagettl .en span:nth-child(9){
	transition-delay: 0.48s;
}
.pagettl .en span:nth-child(10){
	transition-delay: 0.54s;
}

.pagettl .ttl_txt{
	display: block;
	margin-top: 0.8rem;
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 1.3;
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.5s, transform cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.5s;
}
.pagettl.fade-on .ttl_txt{
	opacity: 1;
	transform: translateY(0);
}

.center_ttl{
	position: relative;
	padding-bottom: 4rem;
	margin-bottom: 3rem;
	text-align: center;
	font-weight: bold;
}
.center_ttl::before{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	width: 6rem;
	height: 2px;
	background: #252122;
}
.center_ttl .en{
	display: block;
	font-size: 4.6rem;
}
.center_ttl .ttl_txt{
	display: block;
	margin-top: 1rem;
	font-size: 1.8rem;
}


@media screen and (max-width: 768px) {
	.sec_ttl .en{
		font-size: 4.6rem;
	}
	.sec_ttl .ttl_txt{
		margin-left: 1.5rem;
		font-size: 1.6rem;
	}

	.pagettl_box{
		padding-top: 14.5rem;
		margin-bottom: 9.5rem;
	}
	.pagettl .en{
		font-size: 4.6rem;
	}
	.pagettl .ttl_txt{
		font-size: 1.8rem;
	}

	.center_ttl{
		padding-bottom: 3rem;
	}
}



/* ------------------------------
	.box
------------------------------ */
.flex{
	display: flex;
	justify-content: space-between;
}


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



/* ------------------------------
	.fade
------------------------------ */
.fade-img{
	position: relative;
}
.fade-img::before{
	position: absolute;
	z-index: 2;
	right: 0;
	top: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #f08803;
	-webkit-transition: width 1.2s cubic-bezier(0.51, 0.01, 0.13, 1);
	transition: width 1.2s cubic-bezier(0.51, 0.01, 0.13, 1);
}
.fade-img.fade-on::before{
	width: 0;
}

.fade-up{
	opacity: 0;
	transform: translateY(1rem);
	transition: opacity cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.5s, transform cubic-bezier(0.04, 0.435, 0.315, 0.9) 0.5s;
}
.fade-up.fade-on{
	opacity: 1;
	transform: translateY(0);
}


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



/* ------------------------------
	.form_wrap
------------------------------ */
.form_wrap{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.form_wrap .error,
.form_wrap .wpcf7-not-valid-tip{
	margin-top: 0.5rem;
	font-size: 1.3rem;
	white-space: nowrap;
}
.form_wrap .wpcf7-response-output,
.form_wrap .wpcf7-spinner{
	display: none !important;
}
.form_wrap .wpcf7-list-item{
	margin: 0;
}
.form_wrap .checkbox .wpcf7-list-item{
	display: block;
}
.form_wrap .date_wrap .form_select + .wpcf7-not-valid-tip{
	margin-left: 0.8rem
}

.form_wrap .form_box{
	display: flex;
	border-top: 1px solid #dddddd;
}
.form_wrap .form_box:last-of-type{
	border-bottom: 1px solid #dddddd;
}

.form_wrap .form_ttl{
	flex-shrink: 0;
	display: flex;
	width: 334px;
	padding: 38px 20px;
	line-height: 1.6;
}

.form_wrap .form_ttl .req{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 26px;
	margin-left: 15px;
	border-radius: 0.4rem;
	background: #f08803;
	font-size: 1.3rem;
	color: #fff;
	font-weight: 500;
}

.form_wrap .form_txt{
	position: relative;
	width: 100%;
	padding: 30px 20px 30px 0;
	line-height: 1.6;
}
.form_wrap .form_txt .txt{
	padding: 6px 0;
	line-height: 1.8;
}

.form_wrap .form_txt .space{
	margin-top: 1rem;
}

.form_wrap .form_input,
.form_wrap .form_select,
.form_wrap .form_textarea{
	width: 100%;
	height: 4rem;
	padding: 0 1.5rem;
	background: #eeeeee;
	border: 1px solid #cccccc;
	font-size: 1.6rem;
}
.form_wrap .form_input::placeholder,
.form_wrap .form_textarea::placeholder{
	color: #808080;
}

.form_wrap .form_select{
	width: auto;
	padding: 0 3rem 0 1.5rem;
	background: #eeeeee url(../img/common/ico_select01.svg) no-repeat;
	background-position: calc(100% - 0.5rem) center;
	background-size: 0.9rem;
}

.form_wrap .form_textarea{
	height: 16.0rem;
	padding: 1rem 1.5rem;
	line-height: 1.8;
}

.form_wrap .checkbox label{
	position: relative;
	display: flex;
	padding: 0.5rem 0;
	line-height: 1.5;
	cursor: pointer;
}
.form_wrap .checkbox label span{
	display: flex;
}
.form_wrap .checkbox label span::before{
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	content: "";
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: 0.5rem;
	margin-right: 2rem;
	background: #f3f3f3;
	border: 1px solid #a3a4a4;
	border-radius: 0;
}
.form_wrap .checkbox label span::after{
	position: absolute;
	z-index: 2;
	top: 1.4rem;
	left: 0.5rem;
	margin: auto;
	content: "";
	display: none;
	width: 0.7rem;
	height: 0.5rem;
	transform: rotate(-45deg);
	border-left: 0.2rem solid #252122;
	border-bottom: 0.2rem solid #252122;
}

.form_wrap .radio label{
	display: flex;
}
.form_wrap .radio label span{
	position: relative;
	display: flex;
	align-items: center;
	padding: 1rem 2rem 1rem 4rem;
	line-height: 1.3;
	background: #fff;
	border: 1px solid #c0c0c0;
	cursor: pointer;
}
.form_wrap .radio label span::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.2rem;
	margin: auto;
	content: "";
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	background: #f3f3f3;
	border: 1px solid #c0c0c0;
	border-radius: 50%;
}
.form_wrap .radio label span::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.2rem;
	content: "";
	display: none;
	width: 2.0rem;
	height: 100%;
	background: url(../img/common/ico_radio01.svg) no-repeat center 55%;
	background-size: 100%;
}

.form_wrap input[type=checkbox],
.form_wrap input[type=radio]{
	width: 1px;
	margin: 0;
	visibility: hidden;
}
.form_wrap input[type=checkbox]:checked,
.form_wrap input[type=radio]:checked{
	appearance: none;
}
.form_wrap .radio input[type=radio]:checked + span::after,
.form_wrap .checkbox input[type=checkbox]:checked + span::after{
	display: block;
}
.form_wrap .radio input[type=radio]:checked + span::before{
	display: none;
}

.form_wrap .checkbox input[type=checkbox]:checked + span::before{
	background: #FEF2E6;
	border-color: #e88003;
}
.form_wrap .checkbox input[type=checkbox]:checked + span::after{
	border-color: #e88003;
}
.form_wrap .radio input[type=radio]:checked + span{
	background: #FEF2E6;
	border-color: #e88003;
}

.form_wrap .radio_wrap{
	display: flex;
	flex-wrap: wrap;
}
.form_wrap .radio_wrap label{
	margin-right: 1rem;
}

.form_wrap .date_wrap{
	display: flex;
	align-items: center;
}
.form_wrap .date_wrap .txt{
	flex-shrink: 0;
	width: 116px;
	font-size: 1.6rem;
}
.form_wrap .date_wrap .form_select{
	flex-shrink: 0;
	width: 126px;
	margin-left: 0.8rem;
}

.form_wrap .date_wrap .error{
	position: absolute;
	left: 0;
	bottom: 10px;
	background: #fff;
}

.form_wrap .pp_check{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 4rem;
}
.form_wrap .pp_check label{
	font-size: 1.6rem;
}
.form_wrap .pp_check label a{
	text-decoration: underline;
}
@media screen and (min-width: 769px) {
	.form_wrap .pp_check label a:hover{
		text-decoration: none;
	}
}

.form_wrap .btn_box{
	display: flex;
	justify-content: center;
	margin-top: 4rem;
}

.form_wrap .form_btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 65px;
	border-radius: 0.4rem;
	background: #f08803;
	font-size: 1.8rem;
	text-align: center;
	color: #fff;
	font-weight: 500;
	line-height: 1.3;
}
.form_wrap .form_btn.back{
	background: #cccccc;
}

.ui-datepicker .ui-datepicker-title select{
	background: none;
	vertical-align: initial;
	text-align: center;
	line-height: 1.8em;
}
.ui-datepicker .ui-datepicker-title .ui-datepicker-year{
	text-align: right;
}


@media screen and (max-width: 768px){
	.form_wrap .form_box{
		flex-direction: column;
	}

	.form_wrap .form_ttl{
		width: 100%;
		padding: 2rem 0 1.5rem;
		font-weight: bold;
	}

	.form_wrap .form_ttl .req{
		width: 4.4rem;
		height: 2.3rem;
		margin-left: 1rem;
		font-size: 1.4rem;
	}

	.form_wrap .form_txt{
		padding: 0 0 2.5rem;
	}
	.form_wrap .form_txt .txt{
		padding: 0;
	}

	.form_wrap .checkbox label span::before{
		margin-top: 0.6rem;
	}
	.form_wrap .checkbox label span::after{
		top: 1.6rem;
	}

	.form_wrap .date_wrap .txt{
		width: 8.0rem;
	}
	.form_wrap .date_wrap .form_select{
		width: 11.1rem;
	}
	.form_wrap .date_wrap .form_select + .wpcf7-not-valid-tip{
		width: 11.1rem;
	}

	.form_wrap .date_wrap .error{
		bottom: 0.5rem;
	}

	.form_wrap .btn_box{
		flex-direction: column;
		align-items: center;
	}

	.form_wrap .form_btn{
		width: 34.3rem;
		height: 7.4rem;
		font-size: 2.1rem;
	}
}



/* ------------------------------
	.form_wrap.confirm
------------------------------ */
.form_wrap .confirm_ttl{
	margin-bottom: 40px;
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
}

.form_wrap.confirm .form_ttl,
.form_wrap.confirm .form_txt,
.form_wrap.confirm .form_txt *{
	line-height: 1.8;
}

.form_wrap.confirm .form_ttl,
.form_wrap.confirm .form_txt{
	padding: 35px 20px 35px 0;
}
.form_wrap.confirm .form_txt .txt{
	padding: 0;
}

.form_wrap .form_txt.pre-line{
	white-space: pre-line;
}

.form_wrap.confirm .btn_box{
	margin-top: 11.5rem;
}

.form_wrap.confirm .form_btn.back{
	margin-right: 20px;
}


@media screen and (max-width: 768px){
	.form_wrap .confirm_ttl{
		margin-bottom: 5rem;
	}

	.form_wrap.confirm .form_ttl{
		padding: 2rem 0 0.5rem;
	}

	.form_wrap.confirm .btn_box{
		margin-top: 4.5rem;
	}

	.form_wrap.confirm .form_txt{
		padding: 0 0 2rem;
	}

	.form_wrap.confirm .form_btn.back{
		margin-right: 0;
		margin-bottom: 2rem;
	}
}



/* ------------------------------
	.form_wrap.thanks
------------------------------ */
.form_wrap.thanks .confirm_ttl{
	margin-bottom: 3.7rem;
}

.form_wrap.thanks .thanks_ico{
	width: 6.6rem;
	margin: 0 auto 3rem;
}

.form_wrap.thanks .txt{
	font-size: 1.8rem;
	line-height: 1.8;
}


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

}



/* ------------------------------
	.pager
------------------------------ */
.pager_list{
	display: flex;
	align-items: center;
	justify-content: center;
}

.pager_list li{
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pager_list li + li{
	margin-left: 6px;
}

.pager_list li a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #fff;
	border: 1px solid #252122;
	font-weight: 500;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
}
.pager_list li.current,
.pager_list li.current a{
	background: #f08803;
	border-color: #f08803;
	color: #fff;
	font-weight: bold;
}

@media screen and (min-width: 769px) {
	.pager_list li:not(.current) a:hover{
		opacity: 1;
		border-color: #f08803;
	}
}

.pager_list .prev1 a{
	background: #fff url(../img/common/pager_ico01.svg) no-repeat center center;
	background-size: 0.6rem;
}
.pager_list .prev2 a{
	background: #fff url(../img/common/pager_ico03.svg) no-repeat center center;
	background-size: 1.1rem;
}
.pager_list .next1 a{
	background: #fff url(../img/common/pager_ico02.svg) no-repeat center center;
	background-size: 0.6rem;
}
.pager_list .next2 a{
	background: #fff url(../img/common/pager_ico04.svg) no-repeat center center;
	background-size: 1.1rem;
}

.details_btn_box .wrap{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.details_btn{
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.3;
}
.details_btn.prev,
.details_btn.next{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.details_btn.prev{
	left: 0;
}
.details_btn.next{
	right: 0;
}
.details_btn.back{
	right: 0;
}
.details_btn.prev a{
	left: 0;
	padding-left: 4.8rem;
	background: url(../img/works/btn_ico02.svg) no-repeat left center;
	background-size: 3rem;
}
.details_btn.next a{
	right: 0;
	padding-right: 4.8rem;
	background: url(../img/works/btn_ico03.svg) no-repeat right center;
	background-size: 3rem;
}
.details_btn.back a{
	padding-left: 3.3rem;
	background: url(../img/works/btn_ico01.svg) no-repeat left center;
	background-size: 1.8rem;
}


@media screen and (max-width: 768px){
	.pager_list li{
		width: 4.3rem;
		height: 4.3rem;
	}
	.pager_list li + li{
		margin-left: 0.8rem;
	}
}







/* ----------------------------------------------------------------------------------------------------
*  wp投稿
* --------------------------------------------------------------------------------------------------*/
.details_txt_box{
	overflow: hidden;
}

.details_txt_box > *:first-child,
.details_txt_box > *:first-child *:first-child{
	margin-top: 0 !important;
}
.details_txt_box > *:last-child,
.details_txt_box > *:last-child *:last-child{
	margin-bottom: 0 !important;
}

.details_txt_box > *{
	position: relative;
	max-width: 100%;
}

.details_txt_box *{
	font-size: 1.6rem;
	line-height: 1.8;
	word-break: break-all;
	word-break: break-word;
}

.details_txt_box h1,
.details_txt_box h2,
.details_txt_box h3,
.details_txt_box h4,
.details_txt_box h5,
.details_txt_box h6{
	font-weight: bold;
}

.details_txt_box h1,
.details_txt_box h2{
	font-size: 2.2rem;
}
.details_txt_box h3{
	font-size: 2.0rem;
}
.details_txt_box h4{
	font-size: 1.8rem;
}
.details_txt_box h5{
	font-size: 1.7rem;
}
.details_txt_box h6{
	font-size: 1.6rem;
}

.details_txt_box a{
	font-size: inherit;
	line-height: inherit;
	text-decoration: underline;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	color: #f08803;
}
@media screen and (min-width: 769px) {
	.details_txt_box a:hover{
		text-decoration: none;
	}
}

.details_txt_box span,
.details_txt_box strong,
.details_txt_box em,
.details_txt_box b{
	font-size: inherit;
	line-height: inherit;
}

.details_txt_box > *,
.details_txt_box > * p + p{
	margin-top: 4rem;
}

.details_txt_box h1 + *,
.details_txt_box h2 + *,
.details_txt_box h3 + *,
.details_txt_box h4 + *,
.details_txt_box h5 + *,
.details_txt_box h6 + *{
	margin-top: 2rem;
}

.details_txt_box .wp-caption-text,
.details_txt_box figcaption,
.details_txt_box caption {
	display: block !important;
	margin-bottom: 0 !important;
	margin-top: 1em;
	font-size: 1.4rem;
}

.details_txt_box .aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.details_txt_box .wp-block-image .aligncenter{
	display: table;
}
.details_txt_box .alignright{
	float: right;
	margin-left: 40px;
	padding-bottom: 0.3em;
	overflow: hidden;
}
.details_txt_box .alignleft{
	float: left;
	margin-right: 40px;
	padding-bottom: 0.3em;
	overflow: hidden;
}
.details_txt_box p::after{
	content: "";
	clear: both;
}
.details_txt_box > *:first-child.alignright + p,
.details_txt_box > *:first-child.alignleft + p{
	margin-top: 0;
}
.details_txt_box .alignleft + .aligncenter,
.details_txt_box .alignright + .aligncenter{
	padding-top: 28px;
}

.details_txt_box ul li{
	padding-left: 1em;
	text-indent: -1em;
}
.details_txt_box ul li::before{
	content: "・"
}

.details_txt_box ol{
	padding-left: 2.5rem;
}

.details_txt_box ol{
	counter-reset: ol_num;
}
.details_txt_box ol li{
	position: relative;
}
.details_txt_box ol li:before {
	position: absolute;
	top: 0;
	left: -2.5rem;
	counter-increment: ol_num;
	content: counter(ol_num)'.';
}

.details_txt_box li + li,
.details_txt_box li + li{
	margin-top: 0.2rem;
}

.details_txt_box blockquote{
	padding: 1rem;
	border: 1px solid #ddd;
}
.details_txt_box blockquote,
.details_txt_box blockquote *{
	color: #666666;
	font-size: 1.4rem;
}

.details_txt_box table{
	width: 100%;
}

.details_txt_box th,
.details_txt_box td{
	padding: 1rem;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	line-height: 1.5;
	background: #fff;
}
.details_txt_box tr > *:last-child{
	border-right: 1px solid #ddd;
}
.details_txt_box tr:first-child > *{
	border-top: 1px solid #ddd;
}

.details_txt_box th{
	font-weight: bold;
}

.details_txt_box iframe{
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}

.wp-block-embed-youtube.alignleft, .wp-block-embed-youtube.alignright{
	max-width: 100%;
}


@media screen and (max-width: 768px){
	.details_txt_box .alignright,
	.details_txt_box .alignleft{
		float:none;
		display:block;
		text-align: center;
		margin: 3rem auto 0;
		padding: 0;
	}
	.details_txt_box .alignleft + .aligncenter,
	.details_txt_box .alignright + .aligncenter{
		padding-top: 0;
	}

	.aligncenter figcaption,
	.alignleft figcaption,
	.alignright figcaption{
		display: block;
		margin-bottom: 0;
	}

	.details_txt_box *{
		font-size: 1.8rem;
	}

	.details_txt_box > *,
	.details_txt_box > * p + p{
		margin-top: 3rem;
	}

	.details_txt_box h1 + *,
	.details_txt_box h2 + *,
	.details_txt_box h3 + *,
	.details_txt_box h4 + *,
	.details_txt_box h5 + *,
	.details_txt_box h6 + *{
		margin-top: 1.5rem;
	}

	.details_txt_box .wp-caption-text,
	.details_txt_box figcaption,
	.details_txt_box caption{
		font-size: 1.6rem;
	}

	.details_txt_box blockquote{
		font-size: 1.6rem;
	}
}