@charset "UTF-8";



/* 初期設定 */
* {
    margin: 0;
    padding:0
}

html {
    height: 100%;
    -webkit-text-size-adjust:100%
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, p, q, samp, small, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background:transparent
}
svg {
    width: 100%;
    height:100%
}

body {
line-height: 1.8;
    font-size:18px;
    color: #000;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-weight: 400;
    width: 100%;
    height:100%;
	margin: 0 auto;
font-family:"Droid Sans","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Roboto, Verdana, sans-serif;
}


img {
    max-width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
    border: none;
    vertical-align:bottom
}



.sp_only {
	display: none !important;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}


/*834px以下*/

@media screen and (max-width: 834px){
div table th, div table td {
font-size: 1em;
}
.sp_only {
	display: block !important;
}
.pc_only {
	display: none !important;
}
}



#container {
position: relative;
overflow: hidden;
	margin: 0 auto;
	padding: 0;
	width: auto;
}

h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	margin-bottom: 20px;
	line-height: 150%;
	background: none;
	border: none;
}

h3 {
font-size: 32px;
}

h4 {
font-size: 28px;
}
h5 {
font-size: 21px;
}


@media screen and (max-width: 1440px) {
h3 {
font-size: 2.555557vw;
}
h4 {
font-size: 2.222221vw;
}
h5 {
font-size: 1.88888vw;
}
}
@media screen and (max-width: 1040px) {
h3 {
font-size: 2.825vw;
}
h4 {
font-size: 2.525vw;
}
h5 {
font-size: 2.15vw;
}
}

@media screen and (max-width: 834px) {
h3 {
font-size: 5.626vw;
}
h4 {
font-size: 4.888vw;
}
h5 {
font-size: 3.666vw;
}
}
@media screen and (max-width: 414px) {
h3 {
font-size: 23px;
}
h4 {
font-size: 20px;
}
h5 {
font-size: 18px;
}
}

p {
	margin: 0;
	padding: 0;
	margin-bottom: 1em;
}
ul, ol {
margin: 0;
padding: 0;
}
ul li, ol li {
margin: 0;
margin-left: 1em;
padding: 0;
}




/********* 全体 ***********************************************/
#fixedTop {
    right: 20px;
    bottom: 100px;
    width: 50px;
    height: 50px;
    line-height: 40px;
	background-image: url(../images/totop.png);
	background-repeat: no-repeat;
	background-position: center;
	background-color: #F00;
    color: #fff;
    text-align: center;
    display: none;
    position: fixed;
    z-index: 9999;
	border-radius: 10px;
}
#fixedTop:hover {
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    opacity: 0.7;
}
@media only screen and (max-width: 834px) {
#fixedTop {
    right: 16px;
    bottom: 100px;
}
}


/********* フッターポップアップ *****************************************************/

#footerMenu {
  display: block;
  width: 100%;
  color: #fff;
  text-align: center;
  height: 0px;
  position: fixed;
  z-index: 300;
  bottom: 0;
  overflow: none;
  left: 0;
  background-color: rgba(68, 68, 68, 0.7);
  -webkit-transition: all 0.4s ease-in-out;
  -webkit-box-shadow: 0px -4px 38px rgba(50, 50, 50, 0.5);
  -moz-box-shadow: 0px -4px 38px rgba(50, 50, 50, 0.5);
  box-shadow: 0px -4px 38px rgba(50, 50, 50, 0.5);
}

#footerMenu.show {
  height: 62px;
  padding: 0 0;
}
ul.footerfloat {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}
ul.footerfloat li {
  display: inline-block;
  width: calc(100% / 2);
  text-align: center;
  margin: 0;
  padding: 0;
  font-size: 14px;
}
ul.footerfloat li i {
  display: block;
  font-size: 150%;
  line-height: 150%;
  font-weight: 900;
}
ul.footerfloat li .icon_line {
  display: block;
  height: auto;
  margin: 0 auto;
  margin-bottom: 4px;
  max-width: 27px;
}

@media screen and (max-width: 834px) {
#footerMenu.show {
  height: 70px;
  padding: 0 0;
}
  ul.footerfloat li {
  width: calc(100% / 2);
    font-size: 12px;
  }
  ul.footerfloat li .icon_line {
  max-width: 23px;
}
}

ul.footerfloat li a {
  display: block;
  color: #fff;
  background-color: #090;
  text-decoration: none;
  padding: 0.5em 1em;
  line-height: 130%;
  border-right: 1px solid #fff;
}
ul.footerfloat li a:hover {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  
}
ul.footerfloat li:last-child a {
  border-right: none;
}

ul.footerfloat li a:hover {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  
}




.sp_only {
	display: none !important;
}
@media only screen and (max-width: 834px) {
.sp_only {
	display: block !important;
}
.pc_only {
	display: none !important;
}
}

#container {
background-color: #FFF;
	display: block;
	margin: 0 auto;
}
.content {
	display: block;
	margin: 0 auto;
	max-width: 1280px;
	margin-bottom: 40px;
}
@media only screen and (max-width: 834px) {
.content {
	margin: 0 16px;
	margin-bottom: 24px;
}
}



.bt_foot_contact {
display: inline-block;
margin: 0.5em 0.5em;
text-align: center;
}

.bt_foot_contact a {
position: relative;
z-index: 5;
display: block;
min-width: 150px;
padding: 0.25em 2.0em;
border: 1px solid #b32655;
background-color: #FFF;
color: #b32655;
text-decoration: none;
font-weight: 400;
}
.bt_foot_contact a:after {
    position: absolute;
  font-family: "Font Awesome 5 Free";
    content: '\f105';
	right: 1.0em;
	font-weight: 600;
}
.bt_foot_contact a:hover {
background-color: #9f2c53;
color: #FFF;
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
}
.bt_foot_contact a:hover:after {
	right: 0.5em;
    -webkit-transition: all 0.7s;
    -moz-transition: all 0.7s;
    transition: all 0.7s;
}
@media only screen and (max-width: 834px) {
.bt_foot_contact a {
min-width: 150px;
padding: 0.5em 1.5em;
padding-right: 2em;
}
.bt_foot_contact a:after {
	right: 1em;
}
}

/********* ヘッダー *************************************************/
.head_top_flex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.head_top_flex_left,
head_top_flex_right {
display: block;
width: 38%;
}



ul.head_top_flex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}


	
/********* メニュー *************************************************/



#header {
	position: relative;
	z-index: 3;
	padding: 0 0;
	margin: 0 auto;
	background-color: #FFF;
		background-repeat: repeat-x;
		background-position: bottom;
		background-size:contain;
}
.header {
	position: relative;
	display: block;
	padding: 10px 0;
	margin: 0 auto;
}

@media screen and (max-width: 834px){
.header {
padding-bottom: 0;
}
}


.head_flex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
align-items: center;
}
.head_flex_l {
display: block;
width: 65%;
}
.head_flex_r {
display: block;
width: 35%;
}
@media screen and (max-width: 1023px){
.head_flex {
display: block;
text-align: center;
}
.head_flex_l {
width: auto;
margin: 0 auto;
text-align: center;
}
.head_flex_r {
display: none;
}
}


.frex_head_contact {
display: flex;
justify-content: flex-end;
width: 100%;
}

ul.list_contact {
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
align-items: center;
width: 100%;
	margin: 0;
	padding: 0;
}

@media screen and (max-width: 1023px){
ul.list_contact {
	display: none;
}
}

ul.list_contact li {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 130%;
	border-right: 1px solid #FFF;
	width: 19%;
	text-align: center;
}
@media screen and (max-width: 1360px){
ul.list_contact li {
	width: 21%;
}
}
ul.list_contact li:first-child {
	width: calc(50% - 8px);
}
ul.list_contact li:first-child,
ul.list_contact li:last-child {
	border: none;
}
ul.list_contact li:first-child {
margin-right: 8px;
max-width: 270px;
}
.top_mail a,
.top_quote a {
	font-size: 14px;
	display: block;
	margin: 0;
	padding: 17px 8px;
	background-color: #00A63D;
	color: #FFF !important;
	text-decoration: none;
}
@media screen and (max-width: 1360px){
.top_mail a,
.top_quote a {
	font-size: 1.029vw;
	padding: 12px 8px;
}
}
@media screen and (max-width: 1280px){
.top_mail a,
.top_quote a {
	font-size: 1.094vw;
	padding: 8px 8px;
}
}

.top_quote a {
	background-color: #F00;
}
.top_mail a:hover,
.top_quote a:hover  {
	background-color: #696;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}
.top_quote a:hover  {
	background-color: #39F;
}
.icon_mail {
	display: inline-block;
	background: url("../images/icon_mail_wh.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 30px;
	padding-top: 35px;
}

.icon_quote {
	display: inline-block;
	background: url("../images/icon_memo_wh.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 30px;
	padding-top: 35px;
}

h1 {
	margin: 0;
	padding: 0;
}
h1.logo {
	display: inline-block;
	margin: 0;
	padding: 0 8px;
	width: 580px;
	max-width: 100%;
}
@media screen and (max-width: 1280px){
h1.logo {
	display: inline-block;
	margin: 0;
	padding: 0;
	max-width: 90%;
}
}


h1.logo img {
	display: block;
	width: 100%;
	max-height: inherit;
}


.main_undermenu {
display: block;
background-color: #F5F5F5;
  background-image:
    radial-gradient(#FEFEFE 20%, transparent 20%),
    radial-gradient(#FEFEFE 20%, transparent 20%);
  background-size: 40px 40px;
  background-position: 0 0, 20px 20px;
padding: 0 0;
margin-bottom: 80px;
}

.main_undermenu_in {
display: block;
width: 1040px;
margin: auto;
}


ul.list_menu_under {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
margin: 0;
padding: 0;
width: 100%;
justify-content: space-between;
}
ul.list_menu_under li {
display: block;
align-items: center;
text-align: center;
width: calc(100% / 5);
margin: 0;
padding: 0;
}
ul.list_menu_under li img {
display: block;
margin: 0 auto;
margin-bottom: 10px;
padding: 0;
max-width: 50px;
}
ul.list_menu_under li a {
display: block;
padding: 1em 0.5em;
font-weight: 600;
color: #000;
text-decoration: none;
}

ul.list_menu_under li a:hover {
background-color: #FEE;
}


/********* メイン*************************************************/

.main {
position: relative;
	display: block;
	margin: 0 auto;
	padding: 0;
	background-color: #A1DAF7;
margin-bottom: 40px;
}
.main_in {
position: relative;
	display: block;
	margin: 0 auto;
	padding: 0;
	max-width: 1280px;
}

.main .imagecenter00 {
width: 100%;
}

@media screen and (max-width: 834px){
.main {
margin-bottom: 24px;
}
}
.main_back {
	position: absolute;
	z-index: 0;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	object-fit: cover;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.main_txt {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	object-fit: contain;
	max-width: 1040px;
	margin: 0;
	padding: 0;
}






.googleplacemap {
    position: relative;
	display: block;
    padding-bottom: 60%;
    height: 0;
    overflow: hidden;
}
 
.googleplacemap iframe {
    position: absolute;
	top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.no1 {
position: absolute;
bottom: 20px;
right: 20px;
z-index: 2;
width: 18%;
}


/************************************
** コンテンツ
************************************/

.flex_option {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_option_box {
display: block;
width: calc(100% / 2 - 8px);
}
@media screen and (max-width: 834px){
.flex_option {
}
.flex_option_box {
width: auto;
}
.flex_option_box:nth-child(n+2) {
margin-top: 16px;
}
}

.flex_option_bn {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_option_bn_box {
display: block;
width: calc(100% / 2 - 8px);
}

.flex_option_shindan {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_option_shindan_box {
display: block;
width: calc(100% / 2 - 8px);
}

@media screen and (max-width: 834px){
.flex_option_shindan {
display: block;
}
.flex_option_shindan_box {
display: block;
width: auto;
}
.flex_option_shindan_box:nth-child(n+2) {
margin-top: 16px;
}
}

/********* フッター *************************************************/


.foot_googlemap {
    position: relative;
	display: block;
    padding-bottom: 400px;
    height: 0;
    overflow: hidden;
}
 
.foot_googlemap iframe {
    position: absolute;
	top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media only screen and (max-width: 834px) {
.foot_googlemap {
    padding-bottom: 50%;
}
}


.copy {
position: relative;
background: #333;
color: #FFF;
padding: 1em;
	font-size: 90%;
	line-height: 130%;
	display: block;
	text-align: center;
	margin-bottom: 64px;
}

@media only screen and (max-width: 834px) {
.copy {
	margin-bottom: 65px;
	font-size: 75%;
}
}
.copy_txt {
position: relative;
z-index: 3;
}



#footer {
background-color: #e7f5fd;
		background-repeat: repeat-x, repeat;
		background-position: bottom;
		background-size: 30%, auto;
	clear: both;
	display: block;
	margin: 0 auto;
	padding: 10px 0;
	padding-top: 40px;
}
.footer {
padding-top: 0;
}

.footer-in {
	margin: 0 auto !important;
}
.footer-bottom-content {
	float: none;
	margin: 0;
	background-color: #555;
	padding: 16px 0;
	color: #FFF;
	font-size: 80%;
}

@media screen and (max-width: 834px){
#footer {
	width: auto;
	margin: 0 auto;
	padding: 24px 0;
	padding-top: 24px;
	padding-bottom: 24px;
}
.footer-bottom {
	margin: 0;
	padding: 0;
}

.footer-bottom-content {
	margin-top: 0;
	margin-bottom: 0;
	padding: 15px 0;
    padding-bottom: 70px;
	font-size: 70%;
}
}
.foot_flex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.foot_flex_left,
.foot_flex_right {
display: block;
width: calc(50% - 16px);
}

@media screen and (max-width: 834px){
.foot_flex {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
flex-flow: column;
}

.foot_flex_left,
.foot_flex_right {
display: block;
width: auto;
flex-grow: 1;
}
.foot_flex_left {
margin-bottom: 24px;
}
}

.top_companybuiild {
position: relative;
display: block;
overflow: hidden;
height: 100%;
}
.top_companybuiild img {
position: absolute;
  transform:  translateX(-50%);
  object-fit: cover;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
}
.box_top_map {
display: block;
margin-top: 16px;
}
@media only screen and (max-width: 834px) {
.flex_top_company {
display: block;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 24px;
}
.flex_top_company_txt {
width: auto;
padding: 0 0;
margin-bottom: 16px;
}
.flex_top_company_map {
width: auto;
}
.top_companybuiild {
height: 0;
padding-bottom: 72%;
}
}



.googlemap_half {
display: block;
height: 100%;
position: relative;
overflow: hidden;
margin: 0 0;
}
.googlemap_half iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

@media only screen and (max-width: 834px) {
.flex_top_company_map02 {
display: block;
}
.flex_top_company_map02_left,
.flex_top_company_map02_right {
width: auto;
}

.flex_top_company_map02_left {
margin-bottom: 24px;
}
.googlemap_half {
display: block;
height: 0%;
padding-bottom: 66.8%;
}
}


h5.top_sakaikitahanada {
display: block;
margin: 0 auto;
margin-bottom: 24px;
}
h5.top_sakaikitahanada img {
display: block;
margin: 0 auto;
width: 80%;
max-width: 80%;
}
.top_company_tel {
color: #F00;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-style: normal;font-size: 220%;
line-height: 1;
margin-bottom: 8px;
}
.top_company_tel img {
display: block;
margin: 0 auto;
max-width: 70%;
}

@media only screen and (max-width: 834px) {
.top_company_tel img {
max-width: 70%;
}
}
.top_company_tel a {
color: #EEE;
}
.top_company_tel i {
margin-right: 4px;
}

.flex_top_company_txt p a {
color: #0068b7;
text-decoration: underline;
}

/********* 各メージメニュー *************************************************/





.box_gray {
display: block;
padding: 1.5em 1.5em;
background-color: #F5F5F5;

}
/* ----- イメージ -------------------------------------- */


.imageright {
	float: right;
	margin-bottom: 20px;
	margin-left: 20px;
}


.imageleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}


.imagecenter {
	max-width: 100%;
	display: block;
	margin: 0 auto;
	margin-bottom: 16px;
}
.imageplan {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}
@media screen and (max-width: 834px){
.imagecenter {
	margin-bottom: 8px;
}
.imageplan {
	max-width: 75%;
}
}

.imagecenter00 {
	max-width: 100%;
	display: block;
	margin: 0 auto;
}


ul.slimmenu li a {
	display: block;
	color: #333;
	padding: 5px 5px;
	padding-bottom: 7px;
	margin: 0 0;
	text-decoration: none;
	border-bottom: 3px solid #FFF;
  position: relative;
}


ul.slimmenu li a:before {
        content:"";
        display:block;
        position:absolute;
        left:0;
        bottom:0;
        width:0;
        height: 3px;
        background-color:#cc3467;
        -webkit-transition:width 0.2s ease;
        -moz-transition:width 0.2s ease;
        -o-transition:width 0.2s ease;
        transition:width 0.2s ease;
    }
ul.slimmenu li a:hover:before{
        bottom:-2px;
  width: 100%;/*hover時に表示*/
}

.bt {
display: inline-block;
margin: 0.5em;
}

.bt a {
position: relative;
padding: 0;
color: #f00;
text-decoration: none;
	border-bottom: 3px solid rgba(255,255,255,0.0);
}
.bt a:after {
    position: absolute;
  font-family: "Font Awesome 5 Free";
    content: '\f105';
	right: -1em;
	font-weight: 600;
}
.bt a:hover {
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
.bt a:hover:after {
	right: -1.5em;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
}
.bt a:before {
        content:"";
        display:block;
        position:absolute;
        left:0;
        bottom:0;
        width:0;
        height: 1px;
        background-color:#F00;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
    }
.bt a:hover:before{
        bottom:-2px;
  width: 135%;/*hover時に表示*/
}

/************************************
** 個別
************************************/



.right {
float: right;
}

.red {
color: #F00;
}
.orange {
color: #F90;
}
.pink {
color: #fc5987;
}
.yellow {
color: #f9d50b;
}
.blue {
color: #0168b7;
}

.green {
color: #53c0c7;
}
.navy {
color: #2f418f;
}
.pink02 {
color: #F9B;
}
.gold {
color: #eee06d;
}
.gray {
color: #555;
}
.wine {
color: #B07;
}
.f50 {
	font-size: 50%;
}
.f60 {
	font-size: 60%;
}
.f70 {
	font-size: 70%;
}
.f80 {
	font-size: 80%;
}
.f90 {
	font-size: 90%;
}
.f110 {
	font-size: 110%;
}
.f120 {
	font-size: 120%;
}
.f150 {
	font-size: 150%;
}
.f200 {
	font-size: 200%;
}


.fw300 {
font-weight: 300;
}
.fw400 {
font-weight: 400;
}
.fw500 {
font-weight: 500;
}
.fw600 {
font-weight: 600;
}
.fw700 {
font-weight: 700;
}
.fw900 {
font-weight: 900;
}

.wavyline {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: #2d6595;
  text-decoration-skip-ink: none;
text-decoration-thickness: 5px;
  text-underline-offset: 5px;
}

.mb001 {
	margin-bottom: 70px;
}

.t_center {
	text-align: center !important;
}
.t_center_pc {
	text-align: center;
}

.member_pic {
	width: 20%;
		margin-top: -10px;
}

@media only screen and (max-width: 834px) {
.t_center_pc {
	text-align: left;
}
.t_center_sp {
	text-align: center;
}
}
.t_left {
	text-align: left !important;
}
.t_right {
	text-align: right !important;
	}	



ul.list_check_kasai03 {
    margin: 0;
	margin-bottom: 24px;
	padding: 0;
    display:flex;
	justify-content: space-between;
    flex-wrap:wrap
}
ul.list_check_kasai03 li {
	list-style: none;
	display: block;
	background-color: #941d14;
	color: #FFF;
	margin: 0;
	width: calc(100% / 4 - 12px);
	padding: 0;
}

ul.list_check_kasai03 li h5 {
	margin: 0;
	padding: 5px;
	padding-top: 0;
	line-height: 130%;
	text-align: center;
font-weight: normal;
}
ul.list_check_kasai03 li p {
	margin: 0;
	padding: 0;
	padding-bottom: 5px;
	padding-left: 55px;
	background-repeat: no-repeat;
	background-position: 10px center;
	background-image: url(../images/icon_check.png);
	background-size: 40px;
}

@media only screen and (max-width: 834px) {
ul.list_check_kasai03 {
	margin-bottom: 16px;
}
ul.list_check_kasai03 li {
	width: 48%;
	margin-right: 2%;
	margin-bottom: 20px;
	padding: 0;
}
ul.list_check_kasai03 li:nth-child(even), ul.list_check_kasai03 li:last-child {
	margin-right: 0;
}
ul.list_check_kasai03 li p {
	margin: 0;
	padding: 5px 10px;
	padding-left: 25px;
	font-size: 95%;
	background-position: 10px 5px;
	background-size: 15px;
}
}


.pic_check_kasai03 {
	position: relative;
	width: 100%;
	display: block;
	height: 0;
	padding-bottom: 60%;
	overflow: hidden;
	border: 8px solid #941d14;
  box-sizing: border-box;
}


.pic_check_kasai03 img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	display: block;
  object-fit: cover;
  width: 100%;
  height: 100%
}


/************************************
** 施工事例
************************************/
/*一覧*/
ul.list_works {
	margin: 0;
	padding: 0;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}

ul.list_works li {
	display: inline-block;
	list-style: none;
	width: 24%;
	margin: 0 0;
	margin-bottom: 20px;
	padding: 0;
	margin-right: 1%;
	text-align: center;
}

ul.list_works li:nth-child(4n), ul.list_works li:last-child {
	margin-right: 0;
}
@media screen and (max-width: 834px){
ul.list_works li {
	width: 48%;
	margin-bottom: 20px;
	margin-right: 2%;
}

ul.list_works li:nth-child(even), ul.list_works li:last-child {
	margin-right: 0;
}
}




ul.list_works_bt {
	margin: 0;
	margin-bottom: 16px;
	padding: 0;
    display:flex;
	justify-content: space-between;
    flex-wrap:wrap;
}

ul.list_works_bt li {
	display: block;
	list-style: none;
	width: calc(100% / 4 - 12px);
	margin: 0;
	padding: 0;
	text-align: center;
	border-radius: 10px; 	
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}
ul.list_works_bt li:nth-child(n+5) {
margin-top: 16px;	
}
ul.list_works_bt li a {
  display: block;
  position: relative;
  font-weight: bold;
  text-decoration: none !important;
  color: #ffffff;
  padding: 0.5em;
  background: #05b4f5;
  transition: .4s;
  border-radius: 10px; 	
  border-bottom: 2px solid #0790c3;
}
ul.list_works_bt li a:hover {
  background: #ff9600;
  border-bottom: 2px solid #dc7e04;
}
@media screen and (max-width: 834px){
ul.list_works_bt li {
	width: calc(100% / 2 - 8px);
}
ul.list_works_bt li:nth-child(n+3) {
margin-top: 16px;
}
ul.list_works_bt li a {
font-size: 3vw;
  padding: 0.5em 0;
}
}


.box_works {
	position: relative;
	display: block;
	background-image: url(../images/shikakuhekomi.png);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 15px 15px;
	margin-bottom: 5px;
}
.box_works_inner {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
    padding-bottom: 70%;
    height: 0;
    overflow: hidden;
	border-radius: 5px;
	border: 3px solid #FFF;
}
.box_works_inner img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.box_works_inner a img {
	display: block;
}
.box_works_inner a:hover img {
	object-fit: cover;
	width: 150%;
	height: 150%;
    -webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    transition: all 0.8s;
}

.list_works_txt {
	display: flex;
	flex-flow: column;
	padding: 3%;
background-color: #FC0;
	border-radius: 5px;
	min-height: 20em;
}
.list_works_txt a {
text-decoration: none;
}
.list_works_txt p {
	display: block;
	padding: 2%;
background-color: #FFF;
color: #F00;
font-size: 90%;
	border-radius: 5px;
	margin-bottom: 5px;
}
.list_works_txt span {
	padding: 1%;
	border-radius: 5px;
background-color: #F00;
color: #FFF;
font-size: 90%;
margin-right: 5px;
}
.list_works h5 {
display: block;
margin: 0;
font-size: 100%;
font-weight: normal;
	margin-bottom: 5px;
}
.list_works h5 a {
	display: block;
	background-color: #F60;
	padding: 5px 5px;
	color: #FFF;
	font-weight: normal;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
}
.list_works h5 a:hover {
	text-decoration: none;
	opacity:0.80;
	text-shadow: -2px -2px 2px rgba(0,0,0,0.5);
    -webkit-transition: all 0.8s;
    -moz-transition: all 0.8s;
    transition: all 0.8s;
}
@media screen and (max-width: 834px){
.box_works {
	padding: 10px 10px;
	margin-bottom: 5px;
}
.box_works_inner {
	border: 1px solid #FFF;
}
.list_works h5 {
font-size: 90%;
}
	

.list_works_txt {
	font-size: 90%;
}	
}

/** よくある質問
*******************/

dl.list_faq {
clear: both;
margin: 0;
padding: 0;
}
dl.list_faq dt {
margin: 0;
position: relative;
font-weight: 600;
color: #2BC;
font-size: 120%;
line-height: 130%;
padding: 0;
padding-bottom: 10px;
padding-left: 40px;
border-bottom: 1px dotted #2BC;
margin-bottom: 10px;
}
dl.list_faq dt:before {
position: absolute;
	display: block;
	float: left;
	margin-left: -40px;
	margin-top: -5px;
  font-size: 150%;
  content: '\f059';
  color: #F60;
  font-family: "Font Awesome 5 Free";
}
dl.list_faq dt:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 7px;
  background: #2BC;
}
dl.list_faq dd {
margin: 0;
position: relative;
padding: 5px;
padding-left: 40px;
margin-bottom: 30px;
}


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

dl.list_faq dt {
font-size: 100%;
padding-left: 30px;
}
dl.list_faq dt:before {
	margin-left: -30px;
	margin-top: 3px;
  font-size: 140%;
}
dl.list_faq dd {
font-size: 80%;
padding-left: 30px;
margin-bottom: 20px;
}
}


.bt_shousai {
display: inline-block;
margin: 3px;
}

.bt_shousai a {
display: block;
margin: 0;
padding: 5px 15px;
text-decoration: none;
	background-color: #398;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	color: #FFF;
}


/********* 20241101 *************************************************/
.content_section {
display: block;
margin-bottom: 40px;
}
.content_block {
display: block;
margin-bottom: 24px;
}
.content_block16 {
display: block;
margin-bottom: 16px;
}

@media only screen and (max-width: 834px) {
.content_section {
margin-bottom: 24px;
}
.content_block {
margin-bottom: 16px;
}
.content_block16 {
margin-bottom: 8px;
}
}


/************************************
** ボックス
************************************/
.flex_two {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_two_box {
width: calc(100% / 2 - 8px);
display: block;
}
.flex_two_box:nth-child(n+3) {
margin-top: 16px;
}

@media screen and (max-width: 834px) {
.flex_two {
display: block;
}
.flex_two_box {
width: auto;
}
.flex_two_box:nth-child(n+2) {
margin-top: 8px;
}
}



.flex_two_even {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_two_even_box {
width: calc(100% / 2 - 8px);
display: block;
}
.flex_two_even_box:nth-child(n+3) {
margin-top: 16px;
}

@media screen and (max-width: 834px) {
.flex_two_even {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
flex-flow: column;
align-items: stretch;
}
.flex_two_even_box {
width: auto;
height: 100%;
flex-grow: 1;
}
.flex_two_even_box:nth-child(n+2) {
margin-top: 8px;
}
}

.flex_three {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_three_box::after {
content: "";
display: block;
width: calc(100% / 3 - 11px);
}
.flex_three_box {
width: calc(100% / 3 - 11px);
display: block;
}
.flex_three_box:nth-child(n+4) {
margin-top: 16px;
}

@media screen and (max-width: 834px) {
.flex_three {
display: block;
}
.flex_three_box::after {
display: none;
}
.flex_three_box {
width: 66.6%;
margin: 0 auto;
}
.flex_three_box:nth-child(n+2) {
margin-top: 8px;
}
}

.flex_three_one {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}


.flex_four {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_four_box::after {
content: "";
display: block;
width: calc(100% / 4 - 12px);
}
.flex_four_box::before {
order: 1;
content: "";
display: block;
width: calc(100% / 4 - 12px);
}
.flex_four_box {
width: calc(100% / 4 - 12px);
display: block;
}
.flex_four_box:nth-child(n+5) {
margin-top: 16px;
}

@media screen and (max-width: 834px) {
.flex_four_box::after {
display: none;
}
.flex_four_box::before {
display: none;
}
.flex_four_box {
width: calc(100% / 2 - 4px);
}
.flex_four_box:nth-child(n+3) {
margin-top: 8px;
}
}



.flex_two_pic,
.flex_two_txt {
width: calc(100% / 2 - 8px);
display: block;
}
.flex_two_txt {
order: 1;
}
.flex_two_pic {
order: 2;
}


@media screen and (max-width: 834px) {
.flex_two_pic,
.flex_two_txt {
width: auto;
display: block;
}
.flex_two_txt {
margin-top: 8px;
}
}


.bg_blue {
background-color: #0068b7;
color: #FFF;
padding: 40px 0;
margin-bottom: 40px;
}
.bg_gray {
background-color: #F5F5F5;
padding: 24px 0;
margin-bottom: 24px;
}
@media only screen and (max-width: 834px) {
.bg_blue {
padding: 16px 0;
margin-bottom: 24px;
}
.bg_gray {
padding: 16px 0;
margin-bottom: 16px;
}
}


.bg_blue .content,
.bg_gray .content {
	display: block;
	margin: 0 auto;
	max-width: 1280px;
	margin-bottom: 0;
}
@media only screen and (max-width: 834px) {
.bg_blue .content,
.bg_gray .content {
	margin: 0 0;
	padding: 0 16px;
	margin-bottom: 0;
}
}



