@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

/*===============================
 Base
===============================*/
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box;  -ms-box-sizing: border-box;box-sizing: border-box;}
.sp { display: none; }
body { color: #231815; }
a { color: #231815; text-decoration: none; transition: .5s; }
a:hover { opacity: 0.8; cursor: pointer; }
img { width: 100%; height: auto; }
.slick-slide img.sp { display: none; }
@media screen and (max-width:1024px) {
	.pc-br { display: none; }
}
@media screen and (max-width:767px) {
	/* 画面サイズが 767px以下の場合に適用 */
	.pc { display: none; }
	.sp { display: block; width: 100%; }
}
@media screen and (min-width:1501px) {
	.under1500 { display: none; }
}

/*===============================
 Clear
===============================*/
img { border: 0; vertical-align: top; font-size: 0; line-height: 0; }
ol, ul { list-style: none!important; }
* { margin: 0; padding: 0; }

/*===============================
 Font
===============================*/
html { font-size: 10px; }
body { font-family: "Noto Sans", sans-serif; line-height: 1.875; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.05em; }
h1, h2, h3, h4, h5 { line-height: 1.538; }
p, li, dt, dd, th, td { line-height: 2; font-size: 1.6rem; letter-spacing: 0.05em; }
a { letter-spacing: 0.05em; }

/*===============================
 Layout
===============================*/
#wrapper { overflow: hidden; background-color: #F0F5FC; }
.container { width:90%; margin:0 auto; max-width: 1300px; }
.left-container { width:95%; max-width: calc(1300px + ((100% - 1300px) / 2)); margin: 0 0 0 auto; position: relative; }
.right-container { width:95%; max-width: calc(1300px + ((100% - 1300px) / 2)); margin: 0 auto 0 0; position: relative; }
.linkbtn { display: flex; align-items: center; justify-content: center; background-color: #FFFFFF; color: #18469C; width: 360px; min-height: 60px; font-size: 1.8rem; font-weight: bold; border-radius: 20px; }
.linkbtn:hover { background-color: #18469C; color: #FFFFFF; opacity: 1; }
.sectitle01 { font-size: 4.0rem; font-weight: 700; line-height: 1; font-style: normal; letter-spacing: 0.05em; }
.sub_sectitle01 { font-size: 2.0rem; color: #18469C; font-weight: 700; }
.pagetit { font-size: 6.0rem; line-height: 1.5; font-weight: 700; letter-spacing: 0.03em; color: #18469C; }
.pagesubtitle { font-size: 2.0rem; line-height: 1.3; font-weight: 400; letter-spacing: 0.03em; color: #18469C; text-transform: uppercase;}
.pagesubtit { color: #18469C; font-weight: 400; font-size: 2.0rem; letter-spacing: 0.01em; line-height: 1.3; font-style: normal; }
.pagetitle { position: relative; z-index: 1; margin-top: 100px; }
.pagetitle_img { position: absolute; width: 400px; top: 20px; right: 5%; }
.cta {padding: 100px 0;}
.cta .linkbtn { margin: 0 auto; background-color: #FAC60E; color: #121212; border: 3px solid #FAC60E; width: 600px; min-height: 100px; font-size: 2.4rem; font-weight: 700; }
.cta .linkbtn:hover { background-color: #fff; color: #FAC60E; }
.cta.btm { padding-bottom: 200px; }
.clear { clear:both; }
section { padding:100px 0; position: relative; }
.clearfix:after { content: ""; display: block; clear: both; }
@media screen and (min-width: 1025px) and (max-width: 1500px) {
	.container { max-width: 1100px; }
	.left-container { max-width: calc(1100px + ((100% - 1100px) / 2)); }
	.right-container { max-width: calc(1100px + ((100% - 1100px) / 2)); }
}

/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:2.0s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeInAnime{
	from {
	opacity: 0;
	}

	to {
	opacity: 1;
	}
}

/* 上から */

.fadeImg{
	animation-name:fadeImgAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	-moz-transition: all .6s ease;
    -o-transition: all .6s ease;
    -ms-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    transition-delay: .5s;
}
	
@keyframes fadeImgAnime{
	from {
		-webkit-transform: scale(1.0);
		-moz-transform: scale(1.0);
		-ms-transform: scale(1.0);
		-o-transform: scale(1.0);
		transform: scale(1.0);
	}

	to {
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
}

/* 上から */

.fadeDown{
	animation-name:fadeDownAnime;
	animation-duration:0.7s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeDownAnime{
	from {
	opacity: 0;
	transform: translateY(-100px);
	}

	to {
	opacity: 1;
	transform: translateY(0);
	}
}

/* fadeUp */

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.7s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeUpAnime{
	from {
	opacity: 0;
	transform: translateY(50px);
	}

	to {
	opacity: 1;
	transform: translateY(0);
	}
}

/* 左から */

.fadeLeft{
	animation-name:fadeLeftAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}
	
@keyframes fadeLeftAnime{
	from {
	opacity: 0;
	transform: translateX(-100px);
	}

	to {
	opacity: 1;
	transform: translateX(0);
	}
}

/* 右から */

.fadeRight{
	animation-name:fadeRightAnime;
	animation-duration:1.0s;
	animation-fill-mode:forwards;
	opacity:0;
}
.fadeRightBefore::before { animation-name:fadeRightAnime; animation-duration:1.0s; animation-fill-mode:forwards; opacity:0; }
	
@keyframes fadeRightAnime{
	from {
	opacity: 0;
	transform: translateX(100px);
	}

	to {
	opacity: 1;
	transform: translateX(0);
	}
}
	
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
	opacity: 0;
}

/*===============================
 COMMON
===============================*/
/* contact */
.cta_box { background-color: rgba(161, 195, 248, 0.4); padding: 50px; border-radius: 20px; }
.cta_box_tit { font-size: 2.8rem; font-weight: 700; margin: 0 auto 30px auto; text-align: center; background-color: #18469C; color: #fff; padding: 17px 40px; width: 770px; border-radius: 25px; }
.cta_box_toptxt { font-size: 2.0rem; text-align: center; line-height: 1.666; margin-bottom: 40px; line-height: 1.9; }
.cta_box ul.cta_box_buttonlist { display: flex; justify-content: center; align-items: center; }
.cta_box_buttonlist > li:not(:last-of-type) { margin-right: 50px; }
.cta_btn { display: flex; align-items: center; padding: 13px 30px; border-radius: 20px; }
#cta_btn_line { background-color: #06C755; border: 3px solid #06C755; }
#cta_btn_line:hover { background-color: #fff; }
#cta_btn_line:hover p { color: #06C755; }
#cta_btn_mail { background-color: #FDB03F; border: 3px solid #FDB03F; }
#cta_btn_mail:hover { background-color: #fff; }
#cta_btn_mail:hover p { color: #FDB03F; }
.cta_btn_img { width: 56px; margin-right: 20px; }
.cta_btn p { color: #F4F8FF; font-size: 2.0rem; }
.contact { background-color: #424939; }
.contact .top_sectit { color: #fff; margin-bottom: 70px; }
.contact .top_sectit .sectitle01 { margin-bottom: 15px; }
.contact .contact_inner p { text-align: center; margin-bottom: 80px; color: #fff; font-size: 1.8rem; }
.contact .contact_inner .linkbtn { width: 360px; min-height: 90px; background-color: #C4C85A; color: #424939; /* margin: 0 auto; */ font-size: 2.2rem; border: 3px solid #Fff; border-radius: 10px; }
.contact .contact_inner .linkbtn:hover { background-color: #424939; color: #C4C85A; opacity: 1; }
.contact .contact_inner .tel_area { margin-right: 13%; }
.contact .contact_inner .tel_number { font-family: "Impact", sans-serif; font-size: 5.0rem; color: #fff; line-height: 1.5; }
.contact .contact_inner .tel_hour { font-family: "Impact", sans-serif; color: #fff; text-align: left; }
.contact_inner_flex { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }

/* article */
.archive-article { position: relative; }
.archive-article:hover {
	cursor: pointer;;
}
.archive-article_img {
	overflow: hidden;
	border-radius: 10px;
}
.archive-article_img_inner {
	display: block;
	padding-top: 60%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	transition-duration: .5s;
}
.archive-article:hover .archive-article_img_inner {
	transform: scale(1.1);
}
.archive-article_top {
    display: flex;
    justify-content: space-between;
    margin: 15px 0 10px;
}
.archive-article_top .date {
    font-family: 'Helvetica Neue', sans-serif;
    font-size: 1.5rem;
    font-weight: 300;
}
.archive-article_top .category {
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 2;
    padding: 1px 7px 0;
    border: 1px solid #000;
}
.archive-article_tit {
    min-height: auto;
}
.archive-article_tit h2 {
    font-size: 1.8rem;
    font-weight: 400;
}
.top-two_cover {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    z-index: 2;
}

/*===============================
 header
===============================*/
#header { position: fixed; min-height: 100px; width: 100%; z-index: 9; display: flex; justify-content: flex-end; align-items: center; transition: 0.5s; }
#header.change-color { background-color: #EDEDED; }
#header.page { background-color: transparent; }
#header .header_logo { position: absolute; top: 25%; left: 40px; width: 360px; }
#header .header_logo a span { display: inline-block; }
#pc-nav ul.menu { list-style: none; display: flex; justify-content: center; align-items: center; margin: 0; background-color: #18469C; padding: 10px 20px; border-radius: 30px 0 0 30px; }
#pc-nav ul.menu.hoken { padding: 10px 50px; }
#pc-nav ul.menu > li > a { display: block; text-decoration: none; margin: 0 25px; font-size: 1.5rem; line-height: 1; color: #fff; }
#pc-nav ul.menu > li > a:hover { color: #FDB03F; }
#header #pc-nav ul.menu > li.contact_tel { margin-left: 10px; }
#header #pc-nav ul.menu > li.contact_tel a { font-size: 2.0rem; margin: 0 0 5px 0; }
#header #pc-nav ul.menu > li.contact_tel p { font-size: 1.1rem; color: #fff; text-align: center; line-height: 1.5; }


@media screen and (min-width: 1201px) and (max-width: 1300px) {
	#header .header_logo { top: 31%; width: 280px; }
	#pc-nav ul.menu > li > a {margin: 0 12px;}
}
@media screen and (min-width: 1025px) and (max-width: 1400px) {
	#header .header_logo { left: 30px; }
}
@media screen and (max-width: 1200px) {
	#pc-nav { display: none; }
}

/*===============================
 MV
===============================*/
#mv { width: 100%; position: relative; height: 90vh; position: relative; background-image: url(images/mv_bg.png); background-position: -2% -10px; background-size: contain; background-repeat: no-repeat; margin-bottom: 70px; }
#mv:before { content: ''; background-image: url(images/top_mv2.jpg); position: absolute; background-position: center; background-size: cover; top: 0; right: 0; width: 70%; height: 101%; border-radius: 0 0 0 100px; }
#mv .container { position: relative; margin: 0; width: 100%; max-width: none; height: 90vh; z-index: 2; }
.mv_txt_area { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); width: 90%; max-width: 1500px; }
.mv_tit { font-size: 7.0rem; line-height: 1.4; text-shadow: #fff 4px 2px 0px; color: #18469C; margin-bottom: 30px; font-weight: 700; }
.mv_txt { font-size: 2.6rem; line-height: 1.666; text-shadow: #fff 2px 1px 0px; color: #18469C; font-weight: 700; }
#mv_logo_txt { width: 90%; position: absolute; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); bottom: -3.3vw; }
#mv_filter { width: 100vw; height: 100%; position: absolute; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.2); z-index: 1; }
.pagetit.uppercase { text-transform: uppercase; }
.pagetitle { padding: 100px 0; position: relative; z-index: 0; background-image: url(images/page_mv.png); background-size: cover; }
.pagetitle .corp_name p { font-size: 2.4rem; line-height: 1.5; font-weight: 700; letter-spacing: 0.03em; color: #18469C; margin-bottom: 5px; }

@media screen and (min-width: 1025px) and (max-width: 1500px) {
.mv_tit { font-size: 6.4rem; }
.mv_txt { font-size: 2.2rem; }
.mv_txt_area { top: 51%; }
}


/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/

/*スクロールダウン全体の場所*/
.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:1%;
	right:50%;
    /*矢印の動き1秒かけて永遠にループ*/
	animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
	position: absolute;
	left:-34px;
	bottom:10px;
    /*テキストの形状*/
	color: #eee;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
	text-shadow: 0px 1px 2px #909090;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0px;
    right: -6px;
    /*矢印の形状*/
    width: 2px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
	box-shadow: 0px 1px 2px #909090;
}

.scrolldown4:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0px;
	right:0;
    /*矢印の形状*/
	width:2px;
	height: 82px;
	background:#eee;
	box-shadow: 0px 1px 2px #909090;
}

/*===============================
 トップページ
===============================*/
.top_sectit { margin-bottom: 70px; text-align: center; }
#top .top_sectit .sectitle01 { margin-bottom: 15px; }
.top_content_img { border-radius: 0 50px 50px 0; }
.top_content_txtarea h3 { font-size: 2.6rem; font-weight: 600; margin-bottom: 15px; }
.top_content_txtarea p { margin-bottom: 25px; }
.more_btn {/*ボタンの形状*/ display: inline-block; display: flex; align-items: center; justify-content: center; border: 3px solid #FAC60E; width: 460px; min-height: 60px; border-radius: 60px; text-decoration: none; color: #121212; background-color: #FAC60E; /*アニメーションの指定*/ transition: all .2s linear; font-weight: 600; }
.more_btn:hover { background-color: #fff; color: #FAC60E; }

/* SALE */
.top_sale_container01 { display: flex; align-items: end; margin-bottom: 100px; }
#top_sale .top_content_txtarea { margin: 0 0 -53px -150px; border-radius: 60px; padding: 50px 0 50px 50px; background-color: #F0F5FC; }
.maker_area { margin-bottom: 100px; }
.content_area_tit { font-size: 3.0rem; font-weight: 700; margin-bottom: 25px; }
.makerlist_box { background-color: rgba(255, 255, 255, 0.35); border-radius: 50px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); padding: 50px; }
.makerlist_box_tit { font-size: 2.4rem; border-bottom: 3px solid #000; display: inline-block; padding: 3px 15px; margin-bottom: 20px; font-weight: 700; }
.makerlist_box > div:not(:last-of-type) { margin-bottom: 25px; }
.makerlist { display: flex; flex-wrap: wrap; align-items: center; }
.makerlist > li { width: 10%; margin-bottom: 10px; }

/* MAINTENANCE */
.top_leftimg_container01 { display: flex; justify-content: space-between; align-items: flex-start; }
.top_leftimg_container01 .left { width: 48vw; }
.top_leftimg_container01 .right { width: calc(100% - 48vw - 50px); }
#top_maintenance .top_leftimg_container01 { margin-bottom: 30px; }
/* 料金表 */
.service_content_box_inner { padding-top: 30px; margin-bottom: 80px; }
.pricelist_titarea { display: flex; justify-content: space-between; align-items: center; }
.page_service_pricelist_tit { display: inline-block; width: auto; margin: 0; background-color: #18469C; padding: 13px 50px; color: #fff; font-size: 2.0rem; border-radius: 20px; }
.paypay { display: flex; align-items: center; background-color: #fff; padding: 5px 20px; border-radius: 20px; box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1); }
.paypay_img { width: 50px; }
.scrollbox { width: 100%; margin-top: 30px; }
.scrollbox_inner { overflow-x: auto; }
.scrollbox table{ border: 1px solid #ccc; min-width: 1100px; border-collapse: collapse; }
.scrollbox table tr { border-bottom: 1px solid #ccc; }
.scrollbox table th, .scrollbox table td { padding: 18px 25px; width: 300px; border-left: 1px solid #ccc; vertical-align: middle; text-align: left;}
.scrollbox table th { background-color: rgba(161, 195, 248, 0.4); }
.scrollbox table th span { font-size: 1.4rem; }
.scrollbox table td { background-color: #fff; }
.scrollbox table th.profit, .scrollbox table td.profit { width: 220px; }
.scrollbox table th.profit { background-color: #18469C; color: #fff; }
.scrollbox table td.profit { background-color: #37496B; color: #fff; }
.noteslist { margin-top: 30px; }

/* INSURANCE */
#top_insurance { background: linear-gradient(to right bottom, #063DAB, #2551BB, #3A64CB, #4E79DA, #618DE9, #5D9CF2, #5EABF9, #63BAFF, #58C6FF, #54D2FF, #59DDFF, #65E7FF); padding: 100px 0 50px; margin-bottom: 50px; }
#top_insurance .sectitle01 { color: #F4F8FF; }
#top_insurance .sub_sectitle01 { color: #F4F8FF; }
#top_insurance .top_content_txtarea h3 { color: #F4F8FF; }
#top_insurance .top_content_txtarea p { color: #F4F8FF; margin-bottom: 30px; }
#top_insurance .top_leftimg_container01 .left { margin-bottom: -100px; }

/* NEWS */
#top_news { padding: 150px 0 100px; }
.top_news_content { margin-bottom: 20px; }
.top_news_content_flex { display: flex; justify-content: space-between; flex-wrap: wrap; border-radius: 50px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); background-color: rgba(255, 255, 255, 0.35); padding: 50px 60px; }
.top_news_sectit { width: 300px; max-width: 100%; }
.top_news_sectit h2 { font-size: 2.0rem; }
.top_news_sectit .sectitle01 { margin-bottom: 10px; font-size: 3.0rem; }
.top_news_linkbtn { margin-top: 65px; color: #fff; background-color: #18469C; border: 2px solid #18469C; display: block; text-align: center; width: 500px; max-width: 100%; padding-block: 15px; }
.top_news_linkbtn:hover { background-color: #fff; color: #18469C; }
.top_news_article { width: calc(100% - 350px); }
.news_item a { display: flex; padding-block: 30px; border-bottom: 1px solid #231815; }
.news_item a:hover { color: #18469C; }
.top_news_article > article.news_item:first-of-type a { border-top: 1px solid #231815; }
.news_item .news_item_date { margin-inline: 40px; }
.news_item .news_item_title { margin-inline: 30px; }
.news_item .news_item_arrow { width: 30px; display: inline-block; margin-left: auto; margin-right: 40px; }

/* COMPANY */
#top_company { padding: 100px 0 50px; }
.top_company_container01 { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 50px; }
.top_company_container01 .left { width: 48%; }
.top_company_container01 .right { width: 48%; }
.top_company_img { border-radius: 50px; }

@media screen and (min-width: 1201px) and (max-width: 1300px) {
	
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
	
}
@media screen and (min-width: 1025px) and (max-width: 1250px) {
	
}

/*===============================
 PAGE-HOKEN
===============================*/
.insurance_top { display: flex; justify-content: center; align-items: center; padding-top: 100px; }
.insurance_top img { width: 130px; margin-right: 40px; }
#insurance_type .sectitle01 { text-align: center; margin-bottom: 60px; }
#insurance_request .sectitle01 { text-align: center; margin-bottom: 80px; }
#insurance_about .sectitle01 { text-align: center; margin-bottom: 100px; }
.insurance_type_list { display: flex; justify-content: space-between; margin-bottom: 100px; }
.insurance_type_list > li { background-color: #fff; width: 23%; border-radius: 40px; padding: 40px 30px; }
.insurance_type_list > li > p { text-align: center; color: #18469C; font-weight: 600; }
.insurance_type_list > li > img { width: 150px; margin: 0 auto 15px; display: block; }
.secsubtitle01 { font-size: 2.6rem; font-weight: 600; }
.secsubtitle01 span { padding-bottom: 5px; border-bottom: 1px solid #18469C; }
#insurance_type .secsubtitle01 { margin-bottom: 50px; }
.insurance_company_list > li:not(:last-of-type) { margin-bottom: 40px; }
.insurance_company_list_item dl { display: flex; justify-content: flex-start; align-items: center; }
.insurance_company_list_item span { color: #fff; background-color: #18469C; padding: 10px 30px; border-radius: 10px; margin-right: 50px; }
.insurance_company_list_item dd { display: flex; justify-content: flex-start; align-items: center; }
.insurance_company_list_item dd > p:not(:last-of-type) { margin-right: 50px; }
#insurance_request { background-color: #9EBFF6; }
.insurance_request_list { display: flex; max-width: 800px; margin: 0 auto; justify-content: space-between; }
.insurance_request_list > li { width: 27%; }
.insurance_contact_linkbtn { display: block; width: 400px; background-color: #18469C; color: #fff; border: 2px solid #18469C;; font-size: 2.0rem; text-align: center; padding: 15px; border-radius: 20px; margin: 90px auto 0; }
.insurance_contact_linkbtn:hover { background-color: #fff; color: #18469C; }
#insurance_about { padding-bottom: 0; }
#insurance_about .container { max-width: 1100px; }
.insurance_about_list { width: 100%; }
.insurance_about_list th { width: 30%; text-align: left; font-size: 2.4rem; padding-bottom: 50px; }
.insurance_about_list th span { padding-bottom: 5px; border-bottom: 1px solid #707070; }
.insurance_about_list td { width: 70%; padding-bottom: 50px; font-size: 2.4rem; }
.insurance_about_list tbody > tr:last-of-type td { padding-bottom: 0; }
.about-list li { border-bottom: 1px solid #707070; margin: 0 0 16px 0; padding: 0 0 16px 0; }
.about-list > li:first-of-type { border-top: 1px solid #707070; padding: 16px 0; }
.about-list dl { display: flex; justify-content: flex-start; }
.about-list dt { width: 130px; padding: 0 0 0 20px; color: #161616; }
.about-list dd { width: calc(100% - 5% - 130px); color: #161616; display: flex; align-items: center; }
.about-list dd.no-flex { display: block; }
.about-list dd.no-flex > p:not(:last-of-type) { margin-bottom: 10px; }
.insurance_about_list .about-list dt { width: 170px; }
.insurance_about_list .about-list dd { width: calc(100% - 5% - 170px); }
#insurance_contact .sectitle01 { margin-bottom: 15px; }
.contact_content_box .top_sectit { margin-bottom: 50px; }

/*===============================
 PAGE-CONTACT
===============================*/
.mv_contact::after { background: url(./images/contact_mv.jpg) no-repeat center right / cover; }
@media screen and (min-width: 1400px) { .mv_contact::after { background: url(./images/contact_mv.jpg) no-repeat center right / 175%; } }
.contact-form { margin-bottom: 20px; }
.contact-form th { width: 30%; padding: 10px 0; font-weight: 700; }
.contact-form td { width: 70%; padding: 10px 0; }
.contact-form .inputtext_item { text-align: left; }
.contact-form .inputtext_item_top { vertical-align: top; }
.contact_content_box { width: 90%; margin: 0 auto; max-width: 1300px; border-radius: 50px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); background-color: rgba(255, 255, 255, 0.35); padding: 100px; }
.contact_content_inner { max-width: 770px; }
.contact_title { text-align: center; margin-bottom: 30px; font-weight: 700; font-size: 3.5rem; }
.contact_txt { text-align: center; margin-bottom: 50px; font-weight: 600; line-height: 2.2; }
.contact_content_inner input[type="text"], .contact_content_inner input[type="email"] { width: 100%; border-radius: 12px; min-height: 50px; font-size: 1.6rem; padding: 0 20px; border: 1px solid #231815; }
.contact_content_inner textarea { width: 100%; border-radius: 12px; min-height: 200px; font-size: 1.6rem; padding: 15px 20px; border: 1px solid #231815; line-height: 1.66; font-family: 'Noto Sans', sans-serif; }
.contact_content_inner input[type="submit"] { width: 400px; max-width: 100%; border-radius: 10px; border: 2px solid #18469C; background-color: #18469C; margin-inline: auto; display: block; transition: all 0.5s; font-size: 2.0rem; min-height: 80px; color: #fff; }
.contact_content_inner input[type="submit"]:hover { background-color: #fff; color: #18469C; }
.contact_content_inner .required::after { content: "※必須"; color: #FD0000; font-size: 1.4rem; margin-left: 10px; }
.contact_submit_btn { margin-top: 40px; }
#contact_txt_btm { text-align: center; font-size: 1.2rem; line-height: 2; font-weight: 400; margin-bottom: 50px; }
.contact_txt_privacylink { text-decoration: underline; transition: 0.5s; }
.contact_txt_privacylink:hover { text-decoration: none; }

/* 入力内容の確認 */
#page-contact.confirm .contact_content_inner { padding: 0px 0 100px; }
#page-contact.confirm .contact_content_inner .contact_item { border-bottom: 1px solid #333; padding-bottom: 7px; }
#page-contact.confirm .contact-form td { width: 60%; }
#page-contact.confirm .contact_submit_btn { display: flex; }
#page-contact.confirm .contact_content_inner input[type="submit"] { width: 40%; }
#page-contact.confirm .contact_content_inner input[name="mwform_submitButton-514"] { order: 2; }
#page-contact.confirm .contact_content_inner input[type="submit"].mainback { background-color: #fff; border: 2px solid #707070; color: #707070; order: 1; }
#page-contact.confirm .required { margin-bottom: 13px; }

/* 送信完了 */
#page-contact.thanks { padding: 200px 0 120px; }
#apply_head { text-align: center; font-size: 2.4rem; margin-bottom: 30px; }
#apply_txt { text-align: center; margin-bottom: 50px; }
#apply_btn_link { background-color: #fff; width: 350px; border: 1px solid #18469C; margin: 0px auto; color: #18469C; font-size: 2.0rem; line-height: 2; min-height: 80px; transition: 0.5s; display: flex; align-items: center; justify-content: center; border-radius: 30px; }
#apply_btn_link:hover { background-color: #18469C; color: #fff; }

/* 入力エラー */
#page-contact.error .contact_content_inner { padding: 0px 0 100px; }
#page-contact.error form label br { display: none; }
#page-contact.error .sectitle02, #page-contact.confirm .sectitle02 { text-align: center; padding: 30px 0; font-size: 3.4rem; }
#page-contact.error .contact_txt, #page-contact.confirm .contact_txt { margin-bottom: 50px; }

@media screen and (min-width: 768px) and (max-width: 773px) {
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 40px !important;
	}
}
@media screen and (min-width: 774px) and (max-width: 819px) {
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 8px !important;
	}
}
@media screen and (min-width: 820px) and (max-width: 1024px) {
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 20px !important;
	}
}

/*===============================
 ARCHIVE-NEWS
===============================*/
.news_archive_inner { max-width: 900px; padding: 100px 0; }
.newslist > li { border-bottom: 1px solid #707070; }
.newslist > li:first-of-type { border-top: 1px solid #707070; }
.newslist > li > a { padding: 30px 80px 30px 30px; display: flex; align-items: center; position: relative; }
.newslist > li > a:before { content: '\f054'; font-family: "Font Awesome 5 Free"; font-weight: 600; font-size: 18px; position: absolute; right: 30px; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); }
.newslist .date { margin-right: 5%; }

/*===============================
 SINGLE
===============================*/
.single-page { padding: 130px 0 100px; }
.single-main .container { max-width: 890px; }
.single-main .article_date { font-style: normal; font-size: 2.0rem; font-weight: 400; letter-spacing: 0.1em; text-align: left; margin-bottom: 10px; }
.single-main .article_tit { font-size: 3.0rem; font-weight: 500; line-height: 1.5; letter-spacing: 0.1em; margin: 0 auto 50px; padding-bottom: 25px; border-bottom: 1px solid #18469C; }
.single-main .mainimg { max-width: 600px; margin: 0 auto 40px; }

/* content */
.article_content h2 { font-size: 2.0rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.5; padding: 2px 20px 6px; margin: 30px 0 20px; border-left: 7px solid #18469C; position: relative; }
.article_content h3 { font-size: 2.0rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.5; padding: 2px 20px 6px; margin: 30px 0 20px; border-left: 7px solid #18469C; position: relative; }
.article_content h4 { font-size: 1.6rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.125; padding-bottom: 5px; margin-bottom: 20px; position: relative; }
.article_content h5 { font-size: 1.5rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.125; padding-bottom: 5px; margin-bottom: 20px; position: relative; }
.article_content h6 { font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.125; padding-bottom: 5px; margin-bottom: 20px; position: relative; }
.article_content img { border: none !important; }
.article_content p { font-weight: 400; margin-bottom: 20px; }
.article_content p strong { font-weight: 700; }
.article_content p em { font-style: italic; }
.aligncenter { clear: both; }
.article_content .alignleft { float: right; }
.article_content .alignright { float: right; }
.article_content .aligncenter { display: block; margin-left: auto; margin-right: auto; margin-bottom: 7px; }
.article_content img { border: none !important; width: auto; }
.article_content img.alignleft { margin: 7px 24px 7px 0; }
.article_content img.alignright { margin: 7px 0 7px 24px; }
.article_content img.aligncenter { margin-top: 7px; margin-bottom: 7px; }
.article_btmlink { display: flex; margin-top: 70px; }
.article_btmlink > div { width: 50%; min-height: 130px; position: relative }
.article_btmlink > div.back { border-right: 3px solid #18469C; }
.article_btmlink > div > a { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); font-size: 2.4rem; font-weight: 200; color: #18469C; }
.single-main_btm { margin-top: 100px; }
.single-main_btm .linkbtn { margin: 0 auto; background-color: #18469C; border: 3px solid #18469C; min-height: 73px; color: #fff; }
.single-main_btm .linkbtn:hover { background-color: #fff; color: #18469C; }
.gallery-columns-2 > dl.gallery-item { width: 49% !important; }
.gallery-columns-2 > dl.gallery-item:not(:nth-of-type(2n)) { margin-right: 2%; }
.gallery-columns-3 > dl.gallery-item { width: 32% !important; }
.gallery-columns-3 > dl.gallery-item:not(:nth-of-type(3n)) { margin-right: 2%; }
.gallery-columns-4 > dl.gallery-item { width: 24% !important; }
.gallery-columns-4 > dl.gallery-item:not(:nth-of-type(4n)) { margin-right: calc( 4% / 3 ); }
.gallery-columns-5 > dl.gallery-item { width: 19% !important; }
.gallery-columns-5 > dl.gallery-item:not(:nth-of-type(5n)) { margin-right: calc( 5% / 4 ); }
.gallery-columns-6 > dl.gallery-item { width: 16% !important; }
.gallery-columns-6 > dl.gallery-item:not(:nth-of-type(6n)) { margin-right: calc( 4% / 5 ); }
.gallery-columns-7 > dl.gallery-item { width: 14% !important; }
.gallery-columns-7 > dl.gallery-item:not(:nth-of-type(7n)) { margin-right: calc( 2% / 6 ); }
.gallery-columns-8 > dl.gallery-item { width: 12% !important; }
.gallery-columns-8 > dl.gallery-item:not(:nth-of-type(8n)) { margin-right: calc( 4% / 7 ); }
.gallery-columns-9 > dl.gallery-item { width: 10% !important; }
.gallery-columns-9 > dl.gallery-item:not(:nth-of-type(9n)) { margin-right: calc( 10% / 8 ); }

/*===============================
 footer
===============================*/
#footer { position: relative; padding-top: 70px; background-color: #37496B; }
.openbtn { position: fixed; z-index: 9999; top: 0; right: 0; cursor: pointer; width: 70px; height: 67px; display: none; }
.openbtn span { display: inline-block; transition: all .4s; position: absolute; left: 20px; cursor: pointer; }
.openbtn span:nth-of-type(1), .openbtn span:nth-of-type(2) , .openbtn span:nth-of-type(3) { height: 1px; background: #231815; width: 40%; opacity: 1; }
.openbtn span:nth-of-type(1) { top: 30px; }
.openbtn span:nth-of-type(2) { top: 32px; opacity: 0; }
.openbtn span:nth-of-type(3) { top: 38px; }
.openbtn.active span:nth-of-type(1) { top: 26px; left: 28px; transform: translateY(6px) rotate(-45deg); width: 30%; opacity: 1; }
.openbtn.active span:nth-of-type(2) { opacity: 0; }
.openbtn.active span:nth-of-type(3){ top: 38px; left: 28px; transform: translateY(-6px) rotate(45deg); width: 30%; opacity: 1; }
.footer_menu_logo { text-align: center; }
.footer_menu_logo a { display: block; }
.footer_menu_logo a img { width: 260px; }
.footer_menu_logo_img { display: block; width: 400px; margin-bottom: 15px; }
.footer_inner01_hoken .footer_menu_logo_img { pointer-events: none; }
.footer_inner01 a.privacy_link { font-size: 1.4rem; font-weight: 400; text-decoration: underline; color: #fff; }
.footer_inner01 a.privacy_link:hover { text-decoration: none; }
.footer_inner01_info { display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap; }
.footer_inner01_info_right .footer_tel { font-size: 2.3rem; color: #fff; }
.footer_info { text-align: center; }
.footer_info .corp_name { font-size: 2.0rem; font-weight: 700; line-height: 1.5; margin-bottom: 10px; }
.footer_address { margin-right: 50px; }
.footer_info .privacy_link { font-size: 1.4rem; font-weight: 400; text-decoration: underline; }
.footer_info a.privacy_link:hover { text-decoration: none; }
.footer_menu { margin-bottom: 40px; }
.footer_menu > ul { display: flex; flex-wrap: wrap; justify-content: center; }
.footer_menu > ul > li > a { margin: 0 40px; font-size: 1.6rem; color: #fff; line-height: 1; }
.footer_inner01 { color: #fff; width: 90%; margin: 0 auto; }
.footer_linkbtn { max-width: 300px; width: 100%; display: block; margin-inline: auto; background-color: #FFFFFF; padding-block: 20px; color: #18469C; text-align: center; margin: 0 auto 20px; transition: all 0.5s; border: 3px solid #fff; border-radius: 20px; font-weight: 700; }
.footer_linkbtn:hover { background-color: #18469C; color: #fff; }
.copyright { text-align: center; padding: 20px 0; }
.copyright small { font-size: 1.2rem; font-style: normal; font-weight: 700; letter-spacing: 0.2em; color: #fff; }
#page-top { position: fixed; right: 0; top: 200px; z-index: 100; }
#page-top a { color: #fff; display: inline-block; padding: 30px; background-color: rgb(90, 73, 87); text-align: center; border-radius: 50px 0 0 50px; }
#page-top a span { font-size: 2.6rem; font-weight: 600; }

/*========= グローバルナビゲーションのためのCSS ===============*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	bottom:-120%;
    left:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#18469C;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    bottom: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
	width: 80%;
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center; 
}
#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding:15px 0;
	display: block;
	letter-spacing: 0.1em;
	font-weight: bold;
	line-height: 1.85;
}
#g-nav li a#c_btn {
	color: #fff;
	background-color: #FDB03F;
	border: 2px solid #FDB03F;
	width: 200px;
    margin: 0 auto;
	margin-top: 20px;
}

@media screen and (max-width: 1200px) {
	.openbtn { display: block; }
}

/*========= fixed ボタン ===============*/
#fixed_cta { position: fixed; top: 17%; right: 0; z-index: 9999; }
#fixed_cta > ul > li:not(:last-of-type) { margin-bottom: 15px; }
.fixed_cta_btn { display: block; padding: 10px; }
.fixed_cta_btn img { margin: 0 auto; display: block; width: 40px; }
.fixed_btn_txt { writing-mode: vertical-rl; line-height: 1.4; margin: 10px auto; color: #fff; letter-spacing: 0.15em; transition: .5s; }
.fixed_cta_box { border-radius: 15px 0 0 15px; transition: .5s; }
#fixed_cta_line { background-color: #06C755; border: 2px solid #06C755; }
#fixed_cta_line:hover { background-color: #fff; }
#fixed_cta_line:hover a.fixed_cta_btn .fixed_btn_txt { color: #06C755; }
#fixed_cta_mail { background-color: #FDB03F; border: 2px solid #FDB03F; }
#fixed_cta_mail:hover { background-color: #fff; }
#fixed_cta_mail:hover a.fixed_cta_btn .fixed_btn_txt { color: #FDB03F; }
#fixed_cta_tel { background-color: #F02B2B; border: 2px solid #F02B2B; display: none; }
#fixed_cta_tel:hover { background-color: #fff; }
#fixed_cta_tel:hover a.fixed_cta_btn .fixed_btn_txt { color: #F02B2B; }

/*===============================
 page-privacy-policy
===============================*/
.mv_privacy-policy { padding-top: 90px; }
.mv_privacy-policy::before { content: none; }
.mv_privacy-policy .pagetit { color: #231815; text-align: center; }
.mv_privacy-policy .pagesubtitle { color: #231815; text-align: center; }
.policy_content_inner { max-width: 1100px; padding: 100px 5% 150px; margin-inline: auto; font-family: "Noto Serif", serif; }
.policy_content_inner .policy_txt { line-height: 2; }
.policy_content_inner .policy_item { padding-bottom: 50px; border-bottom: 1px solid #231815; }
.policy_content_inner .policy_item ol { list-style: decimal outside!important; padding-left: 60px; }
.policy_content_inner .policy_item_title { padding: 50px 0 30px 20px; position: relative; }
.policy_content_inner .policy_item_title::before { content: ""; position: absolute; width: 5px; height: 40px; background: #231815; top: 40px; left: 0; }
.policy_content_inner .policy_last_txt { text-align: right; margin-top: 10px; }

/*===============================
 ページネーション
===============================*/
.pagination { margin: 100px 0; text-align: center; }
.nav-links { font-style: normal; font-size: 2.0rem; font-weight: 700; letter-spacing: 0.2em; }
.nav-links > span { margin: 0 15px 0; color: #18469C; }
.nav-links > a { margin: 0 15px 0; }
.page-numbers { font-weight: 300; }

/*===============================
 404
===============================*/
#mv_notfound { padding-top: 180px; }
#mv_notfound .pagetitle { padding: 0; margin: 0; background-image: none; }
#mv_notfound .pagetitle:before, #mv_notfound .pagetitle:after { display: none; }
#notfound { padding: 80px 0 100px; }
#no-found_tit { font-size: 5.0rem; text-align: center; color: #424939; }
#notfound .container p { text-align: center; margin-bottom: 50px; }
#notfound .linkbtn { margin: 0 auto; background-color: #18469C; color: #FFFFFF; border: 2px solid #18469C; }
#notfound .linkbtn:hover { background-color: #FFFFFF; color: #18469C; }


@media screen and (min-width: 1025px) and (max-width: 1500px) {
	.top_news_sectit { width: 200px; }
	.top_news_article { width: calc(100% - 250px); }
	.news_item .news_item_date { margin-inline: 20px; }
	.news_item .news_item_title { margin-inline: 10px; }
	.news_item .news_item_arrow { margin-right: 30px; }
	.about-list dt { width: 140px; }
	.about-list dd { width: calc(100% - 5% - 140px); }
	.contact_content_box { max-width: 1100px; }
}

@media screen and (max-width: 1024px) {
.left-container, .right-container { width: 100%; }
.top_content_txtarea { margin: -30px auto 0; width: 90%; padding: 20px; background-color: rgba(255, 255, 255, 0.8); border-radius: 25px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); }

/* CTA */
.cta { padding: 20px 0 70px; }
.cta_box { padding: 30px 5%; border-radius: 0; }
.cta_box_tit { width: 100%; }
.cta_box_toptxt { font-size: 1.6rem; margin-bottom: 30px; }
.cta_area.container { padding: 0; }
.cta.btm { padding-bottom: 70px; }
.cta_btn p { font-size: 1.6rem; line-height: 1.6; }
.cta .linkbtn { width: 320px; min-height: 70px; font-size: 1.8rem; }
.cta_box_tit { font-size: 2.2rem; }
.cta_box ul.cta_box_buttonlist { flex-wrap: wrap; }
.cta_box_buttonlist > li:not(:last-of-type) { margin-right: 0; margin-bottom: 20px; }

/* SALE */
#top_sale { padding-bottom: 20px; }
.top_sale_container01 { flex-wrap: wrap; margin-bottom: 50px; }
.top_content_img { border-radius: 0; }
#top_sale .top_content_txtarea { margin: -30px auto 0; border-radius: 25px; background-color: rgba(255, 255, 255, 0.8); padding: 20px; }
#top_sale .top_content_txtarea p { margin-bottom: 0; }
.content_area_tit { font-size: 1.8rem; margin-bottom: 15px; }
.maker_area { margin-bottom: 50px; }
.makerlist_box { border-radius: 25px; padding: 20px; }
.makerlist_box_tit { font-size: 1.6rem; }
.makerlist > li { width: 20%; }

/* MAINTENANCE */
#top_maintenance .top_leftimg_container01 { flex-wrap: wrap; margin-bottom: 0; }
.top_leftimg_container01 .left { width: 100%; }
.top_leftimg_container01 .right { width: 90%; }

/* HOKEN */
#top_insurance { padding: 50px 0; }
#top_insurance .top_leftimg_container01 { flex-wrap: wrap; }
#top_insurance .top_leftimg_container01 .left { margin-bottom: 0; }
#top_insurance .top_leftimg_container01 .right { width: 100%; }
#top_insurance .top_content_txtarea { margin: 0px auto; background-color: transparent; box-shadow: none; padding: 30px 20px 0; }
#top_insurance .top_content_txtarea .linkbtn { margin: 0 auto; }

/* NEWS */
.news_item a { flex-wrap: wrap; padding-block: 13px; }
.news_item .news_item_date { margin-left: 0; margin-right: 40px; width: 100%; font-size: 1.4rem; }
.news_item .news_item_title { margin-inline: auto; margin-left: 0; margin-right: 40px; width: 100%; }
.news_item .news_item_arrow { width: 24px; margin-right: 0; right: 10px; position: absolute; top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); line-height: 1; }

.top_company_container01.container { flex-wrap: wrap; padding: 0; margin-bottom: 30px; }
.top_company_container01 .left { width: 100%; margin-bottom: 30px; }
.top_company_img { border-radius: 0; }
.top_company_container01 .right { width: 90%; margin: 0 auto; }

/*========= fixed ボタン ===============*/
#fixed_cta_tel { display: block; }
#fixed_cta_mail { display: none; }
}


@media screen and (max-width: 767px) {
/*===============================
 Font
===============================*/
p, li, dt, dd, th, td {
	font-size: 1.5rem;
	line-height: 2;
}

/*===============================
 Layout
===============================*/
.container { width:100%; padding: 0 5%; }
section {padding:50px 0; }
.pagetitle { padding: 100px 0 50px; margin-top: 0; }
.pagesubtitle { font-size: 1.6rem; }
.pagetit {font-size: 2.8rem; font-weight: 700;}
.pagesubtit {font-size: 2.4rem; margin-bottom: 0;}
.sectitle01 {font-size: 4.0rem; font-size: 2.4rem;}
.sectitle02 {font-size: 2.8rem;}
.sub_sectitle01 { font-size: 1.6rem; }
.linkbtn {width: 300px; min-height: 60px; font-size: 1.6rem;}

/*===============================
 COMMON
===============================*/
/* contact */
.contact .top_sectit {
	margin-bottom: 30px;
}
.contact .contact_inner .linkbtn {
	width: 300px;
	font-size: 1.6rem;
	min-height: 60px;
}
.contact .contact_inner p {
	text-align: center;
	margin-bottom: 30px;
	font-size: 1.6rem;
}
.contact .contact_inner .tel_number {
	font-size: 4.0rem;
}
.contact .contact_inner .tel_area {
	margin-bottom: 30px;
	margin-right: 0;
}
.contact .contact_inner .tel_hour {
	text-align: center;
}


/*===============================
 header
===============================*/
#header { min-height: 67px; }
#header .header_logo { top: 55%; left: 20px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 220px; }

/*===============================
 MV
===============================*/
#mv { height: 260px; margin-bottom: 120px; }
#mv:before { background-image: url(images/top_mv2_sp.jpg); height: 260px; width: 100%; border-radius: 0; }
#mv .container { height: 260px; }
.mv_txt_area { top: 93%; }
.mv_tit { font-size: 2.6rem; text-shadow: #fff 2px 1px 0px; margin-bottom: 90px; }
.mv_txt { font-size: 1.4rem; text-align: center; }
.scrolldown4 { display: none; }
.pagetit { font-size: 2.8rem; }
.mv_img_area { padding: 20px 0 30px; }

/*===============================
 トップページ
===============================*/
.top_sectit { margin-bottom: 20px; }
.top_sectit h2 { font-size: 2.4rem; }
#top .top_sectit .sectitle01 { margin-bottom: 5px; }
.top_content_txtarea { margin: -30px auto 0; width: 90%; padding: 20px; background-color: rgba(255, 255, 255, 0.8); border-radius: 25px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05); }
.top_content_txtarea p:last-of-type { margin-bottom: 0; }
.top_content_txtarea h3 { font-size: 1.6rem; text-align: center; letter-spacing: 0.01em; }

/* MAINTENANCE */
.pricelist_titarea { flex-wrap: wrap; }
.paypay { padding: 10px 20px;  }
.paypay_img { width: 50px; margin-right: 10px; }
.paypay p { font-size: 1.4rem; line-height: 1.5; }
.scrollbox { margin-top: 20px; }
/* 料金表 */
#page_service_pricelist { padding: 50px 0 0; margin-bottom: 40px; }
.page_service_pricelist_tit { padding: 10px 5%; font-size: 1.8rem; margin-bottom: 20px; }
.scrollbox.container { padding: 0; }
.scrollbox_inner { padding: 0 5%; }
.scrollbox .bar { padding: 8px 0; font-size: 1.7rem; margin: 0 5% 20px; }
.scrollbox table th.profit, .scrollbox table td.profit { width: 180px; }
#sub_pricelist { flex-wrap: wrap; padding: 0; }
#sub_pricelist .scrollbox { width: 100%; }
#sub_pricelist .scrollbox table { min-width: 800px; }
#sub_pricelist .scrollbox table th.profit, #sub_pricelist .scrollbox table td.profit { width: 170px; }
.noteslist { margin-top: 20px; }
#sub_pricelist_box02 .scrollbox_inner table { min-width: 500px; }

/* NEWS */
#top_news { padding: 0 0 50px; }
.top_news_content { margin-bottom: 0; }
.top_news_content_flex { flex-direction: column; border-radius: 20px; padding: 30px 6%; }
.top_news_sectit { width: 100%; text-align: center; display: contents; }
.top_news_sectit .sectitle01 { font-size: 2.4rem; }
.top_news_article { width: 100%; margin-top: 40px; }
.top_news_linkbtn { order: 5; margin-inline: auto; margin-top: 50px; }
.top_news_linkbtn { padding-block: 15px; }

/* COMPANY */
#top_company { padding: 50px 0 0; }
.about-list dl { flex-wrap: wrap; }
.about-list dt { width: 100%; font-weight: 700; }
.about-list dd { width: 100%; padding: 0 0 0 20px; font-size: 1.4rem; }
.top_company_container02 iframe { height: 200px; }

/* contact */
.contact_content_box { padding: 40px 0; border-radius: 20px }
.contact_content_box .top_sectit { margin-bottom: 0; }
.contact_content_inner { padding: 20px 5% 0; }
.contact-form th { display: block; width: 100%; }
.contact-form td { display: block; width: 100%; padding: 0 0 10px; }
#contact_txt_btm { font-size: 1.1rem; margin-bottom: 30px; }

/*===============================
 PAGE-HOKEN
===============================*/
#insurance_type .sectitle01 { margin-bottom: 30px;  }
#insurance_type .secsubtitle01 { margin-bottom: 30px; text-align: center; font-size: 2.0rem; }
.insurance_top { flex-wrap: wrap; padding: 30px 5% 0; }
.insurance_top img { margin-right: 0; width: 80px; margin-bottom: 20px; }
.insurance_type_list { flex-wrap: wrap; margin-bottom: 50px; }
.insurance_type_list > li { width: 48%; border-radius: 10px; padding: 20px; margin-bottom: 13px; }
.insurance_type_list > li > img { width: 70%; margin: 0 auto 5px; }
#insurance_type04 p { font-size: 1.1rem; }
.insurance_company_list > li:not(:last-of-type) { margin-bottom: 25px; }
.insurance_company_list_item span { padding: 10px 15px; margin-right: 25px; font-size: 1.3rem; }
.insurance_company_list_item dd { display: block; }
.insurance_company_list_item dd > p { font-size: 1.4rem; }
.insurance_company_list_item dd > p:not(:last-of-type) { margin-right: 0; }
#insurance_company_list_item02 dd > p { font-size: 1.2rem; }
#insurance_request .sectitle01 { font-size: 2.2rem; line-height: 1.5; margin-bottom: 40px; }
.insurance_request_list { display: block; }
.insurance_request_list > li { width: 210px; margin: 0 auto 20px; }
.insurance_contact_linkbtn { width: 300px; margin: 50px auto 0; }
#insurance_about .sectitle01 { font-size: 1.7rem; line-height: 1.5; margin-bottom: 30px; }
.insurance_about_list th {display: block; width: 100%; font-size: 2.0rem; padding-bottom: 20px; }
.insurance_about_list th span { display: block; }
.insurance_about_list td { display: block; width: 100%; font-size: 1.4rem; padding-bottom: 30px; }
#insurance_about_list_item01 { font-size: 1.6rem; }
.insurance_about_list .about-list dt { width: 100%; padding-left: 0; font-size: 1.6rem; }
.insurance_about_list .about-list dd { width: 100%; padding-left: 0; }
.about-list li { border-bottom: none; margin: 0; }
.about-list > li:first-of-type { border-top: none; padding: 0 0 16px; }

/*===============================
 PAGE-CONTACT
===============================*/
.mv_contact::after { background: url(./images/contact_mv.jpg) no-repeat center right 30% / cover; }
.contact_title { font-size: 2.4rem; margin-bottom: 20px; }
.contact_txt { text-align: center; font-size: 1.3rem; line-height: 2; margin-bottom: 20px; }
.contact_content_inner .contact_item { margin-bottom: 15px; }
.contact_content_inner label span { font-size: 1.6rem; }
.contact_content_inner .required::after { font-size: 1.3rem; }
.contact_submit_btn { margin-top: 20px; }
.contact_content_inner input[type="submit"] { font-size: 1.6rem; }
input[type="submit"].mainsubmit { width: 300px; min-height: 60px; }
input[type="submit"].mainback { width: 300px; min-height: 60px; }

/* 入力内容確認 */
#page-contact.confirm { padding: 67px 0 50px; }
#page-contact.confirm .contact_content_inner { padding: 0px 5%; }
#page-contact.error .contact_txt, #page-contact.confirm .contact_txt { margin-bottom: 20px; }
#page-contact.confirm .required { margin-bottom: 0; }
#page-contact.confirm input[type="submit"].mainsubmit { margin: 0 auto 20px; }
#page-contact.confirm .contact_content_inner input[type="submit"] { width: 300px; min-height: 60px; }
#page-contact.error .sectitle02, #page-contact.confirm .sectitle02 { padding: 20px 0; font-size: 2.4rem; }
#page-contact.confirm .contact_submit_btn { flex-wrap: wrap; margin-top: 30px; }
#page-contact.confirm .contact_content_inner input[name="mwform_submitButton-514"] { order: 1; }

/* 送信完了 */
#page-contact.thanks { padding: 100px 0 50px; }
#apply_head { font-size: 2.2rem; margin-bottom: 20px; }
#apply_txt { font-size: 1.3rem; margin-bottom: 40px; }
#apply_btn_link { width: 300px; min-height: 60px; font-size: 1.8rem; }

/* 入力内容エラー */
#page-contact.error .contact_content_inner { padding: 0px 5%; }
#page-contact.error { padding: 67px 0 50px; }

/*===============================
 ARCHIVE-NEWS
===============================*/
.news_archive_inner { padding: 50px 5%; }
.newslist > li > a { padding: 15px 45px 15px 15px; flex-wrap: wrap; }
.newslist > li > a:before { right: 15px; }
.newslist .date { margin-right: 0; width: 100%; }
.newslist .tit { width: 100%; }

/*===============================
 SINGLE
===============================*/
.single-page { padding: 67px 0 30px; margin-bottom: 0;}
.single-main .container { padding: 30px 7vw; }
.single-main .article_date { font-size: 1.4rem; text-align: left; margin-bottom: 5px; }
.single-main .article_tit { font-size: 1.8rem; line-height: 1.666; margin: 0 auto 30px; padding-bottom: 15px; }
.single-main .article_content { margin-bottom: 40px; }
.single-main .mainimg { margin-bottom: 30px; }
.single-main_btm { margin-top: 0; }
.single-main_btm .linkbtn { min-height: 60px; }

/* content */
.article_content h2 {
	font-size: 2.0rem;
	padding-bottom: 15px;
	margin: 0 auto 15px;
    line-height: 1.5;
}
.article_content h3 {
	font-size: 1.5rem;
	line-height: 1.73;
}
.article_content h4 {
	font-size: 1.4rem;
	line-height: 1.66;
}
.article_content h5 {
	font-size: 1.4rem;
	line-height: 1.66;
}
.article_content h6 {
	font-size: 1.4rem;
	line-height: 1.66;
}
.article_content p {
	margin-bottom: 10px;
}

.article_btmlink {
	margin: 50px 0;
}
.article_btmlink > div {
	min-height: 100px;
}
.article_btmlink > div.back {
    border-right: 1px solid #3FA7FC;
}
.article_btmlink > div > a {
	font-size: 1.6rem;
	width: 70%;
}
.article_btmlink > div.next > a {
	text-align: right;
}

/*===============================
 footer
===============================*/
#footer { padding-top: 40px; }
.footer_inner01 { padding: 30px 0 15px; display: block; text-align: left; }
.footer_address { width: fit-content; margin-inline: inherit; text-align: left; }
.footer_menu_logo_img { width: 300px; }
.footer_menu_logo a.privacy_link { font-size: 1.2rem; }
.footer_info .address { font-size: 1.6rem; }
.footer_inner02 { margin: 0 7%; padding: 50px 0 30px; }
.footer_menu { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0px 16%; margin-bottom: 30px; }
.footer_menu > ul { display: block; width: auto; }
.footer_menu > ul > li > a { margin: 0; }
.footer_menu > ul > li:not(:last-of-type) { margin-bottom: 25px; }
.copyright { line-height: 1.3; padding: 20px 0 84px; }
.copyright small { font-size: 1.0rem; letter-spacing: 0.1em; }

/* fixed ボタン */
#fixed_cta { top: auto; right: auto; bottom: 0; left: 0; width: 100vw; }
#fixed_cta > ul { display: flex; }
.fixed_btn_txt { writing-mode: horizontal-tb; margin: 0; font-size: 1.4rem; }
#fixed_cta > ul > li:not(:last-of-type) { margin-bottom: 0; }
.fixed_cta_box { border-radius: 0; width: 50%; }
.fixed_cta_btn { display: flex; align-items: center; justify-content: center; }
.fixed_cta_btn img { margin: 0 10px 0 0; }

/*===============================
 ページネーション
===============================*/
.pagination {
    margin: 50px 0 20px;
}
.nav-links > span {
	margin: 0 10px 0;
}
.nav-links > a {
    margin: 0 10px 0;
}

/*===============================
 404
===============================*/
#mv_notfound {
    padding-top: 120px;
}
#notfound {
	padding: 50px 0;
}
#no-found_tit {
	font-size: 2.6rem;
}
#notfound .container p {
    margin-bottom: 30px;
}

/*===============================
 page-privacy-policy
===============================*/
.pagetitle .corp_name p { font-size: 1.3rem; }
.policy_content_inner { padding: 40px 5% 50px; }
#privacy_btm { margin-top: 20px; }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
/*===============================
 Layout
===============================*/
p, li, dt, dd, th, td { font-size: 1.4rem; line-height: 2; }
section { padding: 70px 0; }
.pagetitle { margin-top: 70px; padding: 70px 0; }
.pagesubtit {font-size: 3.8rem;}
.pagetit {font-size: 3.8rem;}
.sectitle01 {font-size: 3.6rem;}
.sectitle02 {font-size: 3.2rem;}
.subtit {font-size: 2.2rem;}
.linkbtn {width: 330px; min-height: 70px;}
.cta { padding: 60px 0; }
.cta.btm { padding-bottom: 100px; }
.cta .linkbtn {font-size: 2.2rem;width: 500px;min-height: 90px;}
.no-tab { display: none; }

/*===============================
 header
===============================*/
#header { min-height: 70px; }
#header .header_logo { top: 25%; left: 3%; width: 260px; }

/*===============================
 MV
===============================*/
#mv:before { background-position: 46% 30%; width: 100%; border-radius: 0; }
.mv_tit { font-size: 5.4rem; }
.mv_txt { font-size: 2.4rem; padding-right: 83px; }

/*===============================
 トップページ
===============================*/
#top .top_sectit .sectitle01 { margin-bottom: 10px; }
.top_sectit { margin-bottom: 40px; }

/* CTA */
.cta_box { padding: 40px 5%; border-radius: 30px; }
.cta_btn { min-width: 411px; }

/* SALE */
#top_sale .top_content_txtarea { padding: 40px; margin: -60px auto 0; }
.content_area_tit{ font-size: 2.6rem; }
.makerlist_box { padding: 40px; }
.makerlist_box_tit { font-size: 2.0rem; border-bottom: 2px solid #000; }
.makerlist li img { width: 80%; display: block; margin: 0 auto; }

/* MAINTENANCE */
#top_maintenance .top_content_txtarea { padding: 40px; margin: -60px auto 0; }
/* 料金表 */
.service_content_box_inner { padding: 40px 0 0; margin-bottom: 50px; }
.scrollbox_inner { padding: 0 5%; }

/* HOKEN */
#top_insurance .top_content_txtarea { padding: 30px 13% 0; }

/* NEWS */
#top_news { padding: 50px 0; }
.top_news_sectit { width: 100%; }
.top_news_article { width: 100%; }
.top_news_linkbtn { margin: 40px 0; }
.top_news_content_flex { border-radius: 30px; padding: 50px 5%; }

/* COMPANY */
#top_company { padding-bottom: 0; }
.top_company_container01.container { width: 100%; }
.top_company_container01 .left { margin-bottom: 50px; }
.about-list li { margin: 0 0 20px 0; padding: 0 0 20px 0; }

/* contact */
.contact { padding: 100px 0; margin: 0; }
.contact_content_box{ padding: 70px 5%; }
.contact_content_inner { width: 95%; }
.contact-form th { width: 35%; }
.contact-form td { width: 65%; }

/*===============================
 PAGE-CONTACT
===============================*/
#page-contact { padding: 50px 0; }
.contact_txt { margin-bottom: 50px; }

/* 入力内容確認 */
#page-contact.confirm { padding: 70px 0 50px; }
#page-contact.confirm .contact_content_inner { padding: 0px 0 50px; width: 75%; }
#page-contact.confirm .contact-form th { width: 40%; }
#page-contact.confirm .contact-form td { width: 60%; }
#page-contact.confirm input[type="submit"].mainsubmit { width: 45%; }
#page-contact.confirm .contact_content_inner input[type="submit"] { width: 45%; }

/* 完了画面 */
#page-contact.thanks { padding: 200px 0; }

/* 入力エラー */
#page-contact.error { padding: 70px 0 50px; }
#page-contact.error .contact_content_inner { padding: 0px 0 50px; width: 75%; }
#page-contact.error .sectitle02, #page-contact.confirm .sectitle02 { padding: 30px 0; }
#page-contact.error .contact_txt, #page-contact.confirm .contact_txt { margin-bottom: 30px; }

/*===============================
 PAGE-HOKEN
===============================*/
.insurance_top { padding: 50px 5% 0; }
#insurance_type .sectitle01 { margin-bottom: 40px; }
.insurance_type_list { margin-bottom: 70px; }
.insurance_type_list > li { border-radius: 20px; padding: 3%; }
.insurance_type_list > li > img { width: 100%; }
#insurance_about .sectitle01 { font-size: 2.8rem; margin-bottom: 50px; }
.insurance_about_list th { width: 20%; font-size: 2.2rem; }
.insurance_about_list td { width: 75%; font-size: 2.0rem; }
.insurance_about_list .about-list dt { width: 150px; }
.insurance_about_list .about-list dd { width: calc(100% - 5% - 150px); }

/*===============================
 SINGLE
===============================*/
.single-page { padding: 90px 0; margin-bottom: 0; }
.single-main .article_tit { font-size: 2.6rem; margin: 0 auto 40px; padding-bottom: 20px; }
.single-main_btm { margin-top: 70px; }
.article_content p { margin-bottom: 10px; }

/*===============================
 ページネーション
===============================*/
.pagination { margin: 70px 0 0; }

/*===============================
 footer
===============================*/
#footer { padding-top: 50px; }
.footer_inner01 { padding: 20px 0; }
.footer_menu { padding: 0 5%; margin-bottom: 40px; }
.footer_menu > ul { flex-wrap: wrap; }
.footer_menu > ul > li { width: auto; text-align: center; margin-inline: 20px; }
.footer_menu > ul > li > a { margin: 0; font-size: 1.4rem; }
#g-nav li a { font-size: 1.5rem; }
#g-nav.panelactive { bottom: 0; }
.openbtn { right: 15px; height: 70px; }
.copyright small { font-size: 1.0rem; }

/*===============================
 page-privacy-policy
===============================*/
.policy_content_inner { padding: 50px 5%; }

/*===============================
 404
===============================*/
#mv_notfound { padding-top: 140px; }
#no-found_tit { font-size: 4.0rem; }
#notfound { padding: 80px 0 220px; }
}

@media screen and (min-width: 800px) and (max-width: 990px) {
#g-nav-inner { top: 30%; }
}


@media screen and (min-width: 991px) and (max-width: 1024px) {
/*===============================
 COMMON
===============================*/
.contact .container { width: 70%; }
.cta_box { padding: 40px 10%; }

/*===============================
 footer
===============================*/
.footer_menu { padding: 0 10%; }
.openbtn { width: 100px; height: 70px; right: 20px; }
#g-nav-inner { top: 27%; }
}

@media screen and (max-width: 380px) {
	.insurance_company_list_item span { margin-right: 17px; }
}
