/*スマホ対応関連*/
.nbsp_pc { display: inline !important; }
.nbsp_sp { display: none !important; }
.nbsp_pc2 { display: inline !important; }
.nbsp_sp2 { display: none !important; }

@media only screen and (max-width: 770px) {
	.nbsp_pc2 { display: none !important; }
	.nbsp_sp2 { display: inline !important; }
}
@media only screen and (max-width: 420px) {
	.nbsp_pc { display: none !important; }
	.nbsp_sp { display: inline !important; }
}





:root{
scroll-padding: 55px;/*ページ内リンクで見出しが固定ヘッダーに隠れるのを防止*/
}
/*
カラーコード一括変換用コメントアウト
メインカラー #086970;
サブカラー #c2252e;
*/

body{
width:100%;
margin:0;
padding:0;
text-align:center;
background-color:#fff;
color:black;
overflow-x: hidden!important;
}

#wrapper{
position: relative;
width:100%;
margin:0 auto;
padding:0;
text-align:center;
background-color:#fff;
font-size:14px;
line-height:21px;
}

a{
word-break:break-all;
}


/*ヘッダー*/
#head{
box-sizing: border-box;
width:100%;
margin:0 auto;
padding:0;
text-align:left;
background-color:#fff;
position:sticky;
top:0;
border-bottom:0px solid #086970;
z-index:99999;
}

header.header2{
width:100%;
max-width:1000px;
margin:0 auto;
padding:5px 0;
text-align:center!important;
background-color:#fff;
transition: 0.5s;
}
@media only screen and (max-width: 770px) {
	header.header2{
	padding:0 0 15% 0 !important;
	text-align:left!important;
	}

	img.header_logo_sp{
	position:absolute;
	top:0;
	width:calc(100% - 90px)!important;
	height:auto!important;
	object-fit:cover;
	padding:5px 1% 1% 1% !important;
	}
}
@media only screen and (max-width: 420px) {
	header.header2{ padding:0 0 10% 0 !important; }

	img.header_logo_sp{
	position:absolute;
	top:0;
	width:calc(100% - 90px)!important;
	height:auto!important;
	object-fit:cover;
	padding:5px 1% 1% 1%!important;
	}
}

img.header_pc{
width:100%;
max-width:400px;
height:auto;
margin:0 auto;
padding:0;
}
@media only screen and (max-width: 1190px) {
	img.header_pc{ width:calc(100% - 70px); }
}

div.header_pagetitle0{
width:100%;
margin:0;
padding:10px 0;
background:#086970;
color:#fff;
font-size: 28px;
line-height:26px;
text-align:center;
letter-spacing: 0.2em;
border-top:2px solid silver;
border-bottom:2px solid silver;
font-weight: bold;

}
@media only screen and (max-width: 770px) {
	div.header_pagetitle0{
	font-size: 18px;
	line-height:18px;
	}
}

div.header_pagetitle1{
width:100%;
margin:0;
padding:10px 0;
background:#086970;
color:#fff;
font-size: 26px;
line-height:26px;
text-align:center;
letter-spacing: 0.2em;
}
@media only screen and (max-width: 770px) {
	div.header_pagetitle1{
	font-size: 18px;
	line-height:18px;
	}
}


/*ドロワーメニュー*/
/*ハンバーガーボタン*/
.el_humburger {
  position: fixed;
  top: 10px;
  right: 30px;
  width: 46px;
  height: 25px;
  padding-top: 1px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 0px;
  z-index: 20;
  cursor: pointer;
  pointer-events: auto;
  color:#fff;
  text-align: center;}
@media screen and (max-width: 770px) {
  .el_humburger {
    display: block;
    right: 0;
    top: 0;
    padding-top:5px;
    width: 70px;
    height: 70px;}
    #factory .el_humburger {
      display: none; }
}
 
.el_humburger_wrapper {

background:#fff;
border: 0px solid #fff;
/*border-radius:100px; 角丸*/
padding:10px 15px;
  margin-bottom:0;
  width: 45px;
  display: inline-block; }
@media screen and (max-width: 770px) {
  .el_humburger_wrapper {
    margin-bottom: 5px;
    width: 30px; }
}
/*
.el_humburger_wrapper p {
margin:0;
padding:0;
font-size:15px;
text-align:center!important;
color:#fff;
}
@media screen and (max-width: 770px) {
	.el_humburger_wrapper p {
	font-size:10px;
	}
}
*/
.el_humburger_text {
  font-size: 12px;
  letter-spacing: 0.1em; }

.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
  display: none; }

.el_humburger_text.el_humburger_text__close {
  display: none; }

.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
  display: block; }
@media screen and (max-width: 770px) {
  .el_humburger_text {
    font-size: 10px;
    padding-top: 2px; }
}

@media screen and (max-width: 770px) {
  .el_humburger_text svg path {
    -webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    -o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    fill: #000; }
}

@media screen and (max-width: 770px) {
  .js_humburgerOpen .el_humburger_text svg path {
    fill: #000; }
}

.el_humburger span.el_humburger_bar {
  display: block;
  width: 100%;
  margin: 3px auto 8px;
  height: 2px;
  background:#000;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }

.el_humburger span.el_humburger_bar:last-child {
  margin-bottom: 0; }

.js_humburgerOpen .el_humburger span.el_humburger_bar {
  background:#000; }

@media screen and (max-width: 770px) {
  .el_humburger span.el_humburger_bar {
    left: 0;
    top: 0;
    background:#000; }
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
  -webkit-transform: translateY(9px) rotate(-45deg);
  -ms-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg); }

.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
  opacity: 0; }

.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-11px) rotate(45deg);
  -ms-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg); }

.el_humburgerButton.el_humburgerButton__close {
  top: 2%;
  right: 2%; }

.el_humburgerButton__close span.el_humburger_bar {
  display: block;
  width: 35px;
  margin: 0 auto;
  height: 4px;
  background:#151F5E; }

.el_humburgerButton__close span.el_humburger_bar.top {
  -webkit-transform: translateY(5px) rotate(-45deg);
  -ms-transform: translateY(5px) rotate(-45deg);
  transform: translateY(5px) rotate(-45deg); }

.el_humburgerButton__close span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-6px) rotate(45deg);
  -ms-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg); }

/*メニュー中身*/
.navi {
overscroll-behavior: contain; /*ドロワーメニューが出てる間はページのスクロールをしない*/
  position: fixed;
  right: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  width: 380px;
  z-index: 3;
  padding-top: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 600ms ease-out;
  -o-transition: all 600ms ease-out;
  transition: all 600ms ease-out;
  transform:translateZ(0) translateX(100%);
  overflow: auto; }
  .js_humburgerOpen .navi {
    transform:translateZ(0) translateX(0); }
@media screen and (max-width: 770px) {
      .navi {
	top:0;
        padding: 25px 0; }
      .js_humburgerOpen .navi {
        width: 60vw;}
}

.navi_item {
  position:relative;
  margin-bottom: 28px;
  font-size: 21px;
font-weight;normal;
  white-space: nowrap;
  margin-left:0; }
  .navi_item.op_innerLink {
    cursor: pointer; }
@media screen and (max-width: 770px) {
    .navi_item {
      margin-left: 0;
	margin-bottom: 28px;
      font-size: 16px; }
}

.navi_item a,.nav_child_item a{
padding:10px 0;
padding-left:50px;
display: block;
text-decoration:none;
color:#555;
}
.navi_item a:hover{
text-decoration:underline;
color:#fff;
background: linear-gradient(to right, #555, rgba(85, 85, 85, 0) 95%);
background: -webkit-linear-gradient(left, #555, rgba(85, 85, 85, 0) 95%);
background: -moz-linear-gradient(left, #555, rgba(85, 85, 85, 0) 95%);
}
@media screen and (max-width: 770px) {
	.navi_item a,.nav_child_item a{padding-left:calc(5px + 2vw);}
}


.el_spChildNavOpen {
  position: absolute;
  top: -6px;
  left: 90%;
  z-index: 20;
  -webkit-transition: all 200ms ease-out;
  -o-transition: all 200ms ease-out;
  transition: all 200ms ease-out;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  padding: 10px; }
@media screen and (max-width: 770px) {
	.el_spChildNavOpen {left:calc(90% - 10px);}
}

.js_openParent.js_fire > .el_spChildNavOpen {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }
  .js_openParent.js_fire > .el_spChildNavOpen > .el_spChildNavOpen_wrapper:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }

.el_spChildNavOpen_wrapper {
  position: relative;
  width: 15px;
  height: 15px;
  -webkit-transition: all 200ms ease-out;
  -o-transition: all 200ms ease-out;
  transition: all 200ms ease-out;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center; }
.el_spChildNavOpen_wrapper:before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #151F5E;
    position: absolute;
    top: calc(50% - 1px); }
.el_spChildNavOpen_wrapper:after {
    content: "";
    width: 1px;
    height: 100%;
    background-color: #151F5E;
    position: absolute;
    left: calc(50% - 1px);
    -webkit-transition: all 200ms ease-out;
    -o-transition: all 200ms ease-out;
    transition: all 200ms ease-out; }


.nav_child{
  padding-top:20px;
}

.nav_child_item{
  position: relative;
  font-size:14px;
  padding-left:70px;
  margin-bottom:10px;
}
@media screen and (max-width: 770px) {
	.nav_child_item{padding-left:calc(25px + 5vw);}
}
/*
.nav_child_item > a{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  top:0;
}
*/
.nav_child_item a{
padding-left:0;
color:#151F5E;
}
.nav_child_item a:hover{
text-decoration:underline;
color:#151F5E;
background:rgba(21, 31, 94, 0);
}
.nav_child_item:last-child{
  margin-bottom:0px;
}

.js_openSwitch {
  cursor: pointer; }

.js_openTarget {
  display: none; }

div.dmenu_midasi1{
margin:0 0 0 50px;padding:0;
}
@media screen and (max-width: 770px) {
	div.dmenu_midasi1{
	margin:0 0 0 15px;padding:0;
	}
}

/*ページトップボタン*/
html{ scroll-behavior: smooth; }

.float-button__wrap {
    display: none;/*最初は隠す*/
    width: 50px;
    height: 50px;
    margin:0;
    padding:0;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 10;
}
.float-button__wrap a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size:14px;
    line-height:18px;
    font-weight:normal;
    text-decoration: none;
    background-color: silver;
    color: #fff;
}


/*フッター*/
div.footer_tuibi1{
position:sticky;
bottom:0;
background:#fff url(images/bg_footer.jpg) no-repeat 0 0 / cover;
}

div.footer_logo1{
position:relative;
padding:0;
margin:0 auto;
text-align:center;
}
div.footer_logo1 img{
width:100%;
max-width:250px;
height:auto;
}
/*
@media only screen and (max-width: 770px) {
	div.footer_logo1 img{ max-width:300px; }
}
*/
@media only screen and (max-width: 420px) {
	div.footer_logo1 img{ max-width:200px; }
}

footer.footer1{
position: relative;
padding:10px 0 15px 0;
margin:0;
color:gray;
text-align:center;
font-size:18px;
line-height:24px;
}
@media only screen and (max-width: 420px) {
	footer.footer1{
	font-size:14px;
	line-height:21px;
	}
}

footer.footer1 table{
width:100%;
margin:0;
padding:0;
border:0;
border-collapse:collapse;
color:#fff;
}
footer.footer1 td{
width:calc(50% - 20px);
margin:0;
padding:0;
font-size:150%;
text-align:center;
}

footer.footer1 a{
padding:15px 10px;
color:#fff;
font-weight:bold;
text-decoration:none;
border:1px solid #fff;
display:block;
}
@media only screen and (max-width: 420px) {
	footer.footer1 a{
	padding:10px 5px;
	line-height:125%;
	}
}
footer.footer1 a:hover{
background-color:#c2252e;
}

footer.footer1 center{
margin-top:0;
padding-top:0;
}

footer.footer1 a.Btn1{
border:1px solid #35353a;
margin:5px auto 10px auto;
padding:10px 5px;
width:200px;
display:flex;
justify-content:center;
align-items:center;
font-size:14px;
line-height:14px;
font-weight:normal;
color:#35353a;
background:#fff;
transition: .5s;
position:relative!important;
}
footer.footer1 a.Btn1:hover{
color:#fff;
background:#35353a;
transition: .5s;
}
footer.footer1 a.Btn1::after{
content: "→";
position:absolute!important;
padding:0 10px 0 0;
right:0;
}

/*メインコンテンツ*/
#main{
box-sizing: border-box;
width:100%;
max-width:1000px;
margin:0 auto;
padding:0;
text-align:left;
}
@media only screen and (max-width: 1000px) {
	#main{ width:calc(100% - 30px); }
}

#main2{
box-sizing: border-box;
width:100%;
max-width:1000px;
margin:0 auto;
padding:20px 0 0 0;
text-align:left;
}
@media only screen and (max-width: 1000px) {
	#main{ width:calc(100% - 30px); }
}


/*ページタイトル・見出し*/
h1.title_midashi1{
width:100%;
margin:0;
padding:50px 0;
text-align:center;
font-size:14px;
line-height:22px;
font-family: "Helvetica Neue",Arial,"Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Meiryo,sans-serif;
color:#35353a;
font-weight:normal;
background:#fff url(images/bg_h1midashi1.jpg) no-repeat 0 0 / cover;
}
h1.title_midashi1 div{
width:100%;
max-width:1000px!important;
margin:0 auto;
padding:0;
border:0;
text-align:left;
}
@media only screen and (max-width: 999px) {
	h1.title_midashi1 div{
	width:calc(100% - 20px);
	padding:0 10px;
	}
}

h1.title_midashi1 big{
font-size:225%;
line-height:120%;
font-weight:bold;
}
@media only screen and (max-width: 999px) {
	h1.title_midashi1 big.grouphome1{
	font-size:175%;
	}
}

h2.title1{
margin:0 10px!important;
padding:10px;
font-size:16px;
line-height:16px;
color:#333;
letter-spacing:0.2em;
border:0px solid #086970;
border-left:7px solid #086970;
border-bottom:2px solid #086970;
}

h3.title_s1{
margin:0 auto;
padding:20px 10px 0 10px;
font-size:16px;
line-height:21px;
text-align:left;
letter-spacing:0.2em;
color:#c2252e;
font-weight:bold;
}


/*テキスト関連*/
p{
width:calc(100% - 30px);
padding:5px 15px;
font-weight:normal;
letter-spacing:0.1em;
}
@media only screen and (max-width: 770px) {
	p{
	width:calc(100% - 20px);
	padding:0 10px;
	}
}

p.normal1{
margin:0 auto;
font-size:16px;
line-height:28px;
text-align:left;
}
@media only screen and (max-width: 770px) {
	p.normal1{
	font-size:14px;
	line-height:21px;}
}

p.right1{
font-weight:normal;
text-align:right;
}

p.bold1{
margin:0 auto;
font-size:21px;
font-weight:bold;
line-height:36px;
letter-spacing:0.2em;
text-align:center;
margin-bottom:30px;
}
@media only screen and (max-width: 770px) {
	p.bold1{
	font-size:14px;
	line-height:21px;}
}

p.bold1_left{
margin:0 auto;
font-size:21px;
line-height:36px;
text-align:left;
letter-spacing:0.2em;
margin-bottom:30px;
}
@media only screen and (max-width: 770px) {
	p.bold1{
	font-size:14px;
	line-height:21px;}
}


/*画像*/
img{
margin:0;
padding:0;
border:0;
}

img.img_left1{
width:calc(40% - 10px);
height:auto;
padding:10px 10px 10px 0;
float:left;
}
@media only screen and (max-width: 420px) {
	img.img_left1{
	width:calc(100% - 20px);
	padding:10px;
	clear:both;
	}
}

img.img_right1{
width:calc(40% - 10px);
height:auto;
padding:10px 0 10px 10px;
float:right;
}
@media only screen and (max-width: 420px) {
	img.img_right1{
	width:calc(100% - 20px);
	padding:10px;
	clear:both;
	}
}

img.img_center1{
width:calc(100% - 20px);
height:auto;
padding:10px;
}


/*リスト関連*/
ul.list1{
width:calc(100% - 30px);
margin:10px auto;
padding:0 0 0 25px;
list-style:square outside;
font-weight:normal;
letter-spacing:0.1em;
}
ul.list1 li{
padding-bottom:5px;
}


ol.list_n1{
width:calc(100% - 40px);
margin:10px auto;
padding:0 0 0 35px;
list-style:decimal outside;
font-weight:normal;
letter-spacing:0.1em;
}
ol.list_n1 li{
padding-bottom:5px;
}


/*ページ内ボタンリンク*/
a.Btn2{
border:1px solid #35353a;
margin:10px;
margin-bottom:75px;
padding:10px 5px;
width:calc(33% - 29px);
display:flex;
justify-content:center;
align-items:center;
font-size:14px;
line-height:14px;
font-weight:normal;
color:#35353a;
text-decoration:none;
background:#fff;
transition: .5s;
position:relative!important;
float:left;
}
a.Btn2:hover{
color:#fff;
background:#35353a;
transition: .5s;
}
a.Btn2::after{
content: "→";
position:absolute!important;
padding:0 10px 0 0;
right:0;
}
@media only screen and (max-width: 770px) {
	a.Btn2{
	margin:10px auto;
	width:calc(100% - 12px);
	clear:both;
	}
}

a.Btn3{
border:1px solid #35353a;
margin:10px auto;
margin-bottom:75px;
padding:10px 5px;
width:calc(33% - 29px);
display:flex;
justify-content:center;
align-items:center;
font-size:14px;
line-height:14px;
font-weight:normal;
color:#35353a;
text-decoration:none;
background:#fff;
transition: .5s;
position:relative!important;
}
a.Btn3:hover{
color:#fff;
background:#35353a;
transition: .5s;
}
a.Btn3::after{
content: "→";
position:absolute!important;
padding:0 10px 0 0;
right:0;
}
@media only screen and (max-width: 770px) {
	a.Btn3{
	margin:10px auto;
	width:calc(100% - 12px);
	}
}

/*Q&A折り畳み*/
details.faq1{
margin:0;
padding:0;
width:100%;
border:0;
}
details.faq1 summary{
margin:0;
padding:0;
width:100%;
border:0;
display: block;
list-style: none;
cursor: pointer!important;

}
details.faq1 summary::-webkit-details-marker {display:none;}


/*トップページ*/
/*スライドショー*/
.top_img_slide1{
margin:0 auto;
padding:0 auto;
text-align:center;
border:0px solid #086970;
background:#fff url(images/img_bg1.png) no-repeat 0 0 / cover;
width:100%;
height:auto;
position:relative!important;
}
/* スライドショー上部カーブ
.top_img_slide1::before{
content: "";
padding:10px 50%;
background-color:#fff;
position:absolute!important;
top:0;
left:0;
border:0px solid #086970;
border-bottom:10px solid #fff;
border-radius:50% 50% 50% 50% / 0% 0% 100% 100%;
z-index:20;
}
@media only screen and (max-width: 770px) {
	.top_img_slide1::before{
	padding:5px 50%;
	border-bottom:5px solid #fff;
	}
}
*/
/*
.top_img_slide1::after{
content: "";
padding:10px 50%;
background-color:pink;
position:absolute!important;
bottom:0;
left:0;
border:0px solid #086970;
border-bottom:10px solid red;
border-radius:50% 50% 50% 50% / 100% 100% 0% 0%;
z-index:20;
}
@media only screen and (max-width: 770px) {
	.top_img_slide1::after{
	padding:5px 50%;
	border-bottom:5px solid #fff;
	}
}
*/
/*単発画像*/
img.v_top1{
width:calc(100% - 6px);
max-width:1000px;
border:0;
border-left:3px solid #fff;
border-right:3px solid #fff;
}

img.v_top2{
width:100%;
border:0;
}
/*単発画像_2分割*/
img.v_top_l{
width:50%;
border:0;
float:left;
}
img.v_top_r{
width:50%;
border:0;
float:right;
}
@media only screen and (max-width: 770px) {
	img.v_top_l,
	img.v_top_r{
	width:100%;
	clear:both;
	}
}
/*複数枚画像*/
.slider {
	width:100%;
	max-width:1000px;
	height: 60vh;
	max-height:500px;
	margin-left:auto;
	margin-right:auto;
	overflow: hidden;
	position: relative;
border:0;
border-left:3px solid #fff;
border-right:3px solid #fff;
background:#fff;
}
@media only screen and (max-width: 1005px) {
	.slider{
	width:calc(100% - 6px);
	height: 30vh;
	}
}

.slider div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 10;
	opacity: 0;
	animation-name: slide-fade;
	animation-duration: 30s;
	animation-iteration-count: infinite;
}

@keyframes slide-fade {
	0%{
		opacity: 0;
	}
	20%{
		opacity: 1;
	}
	80%{
		opacity: 0;
	}
	100%{
		opacity: 0;
		z-index: 0;
	}
}
.slider div:first-of-type{
	background-image: url(images/top1.jpg);
}
.slider div:nth-of-type(2){
	background-image: url(images/top2.jpg);
	animation-delay: 5s;/*2枚目が始まる秒*/
}
.slider div:nth-of-type(3){
	background-image: url(images/top3.jpg);
	animation-delay: 10s;/*3枚目が始まる秒*/
}
/*複数枚画像_2分割*/
.slider_l {
	width:50%;
	height: 80vh;
	margin-left:auto;
	margin-right:auto;
	overflow: hidden;
	position: relative;
border:0;
float:left;
}
@media only screen and (max-width: 770px) {
	.slider_l{
	width:100%;
	height: 40vh;
	clear:both;
	}
}

.slider_l div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 10;
	opacity: 0;
	animation-name: slide-fade;
	animation-duration: 14s;/*左側の全体秒数*/
	animation-iteration-count: infinite;
}

.slider_r {
	width:50%;
	height: 80vh;
	margin-left:auto;
	margin-right:auto;
	overflow: hidden;
	position: relative;
border:0;
float:right;
}
@media only screen and (max-width: 770px) {
	.slider_r{
	width:100%;
	height: 40vh;
	clear:both;
	}
}

.slider_r div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 10;
	opacity: 0;
	animation-name: slide-fade;
	animation-duration: 14s;/*右側の全体秒数*/
	animation-iteration-count: infinite;
}

@keyframes slide-fade {
	0%{
		opacity: 0;
	}
	20%{
		opacity: 1;
	}
	80%{
		opacity: 0;
	}
	100%{
		opacity: 0;
		z-index: 0;
	}
}
.slider_l div:first-of-type{
	background-image: url(images/slide_l1.jpg);
}
.slider_l div:nth-of-type(2){
	background-image: url(images/slide_l2.jpg);
	animation-delay: 5s;/*左側2枚目が始まる秒*/
}
.slider_l div:nth-of-type(3){
	background-image: url(images/slide_l3.jpg);
	animation-delay: 14s;/*左側3枚目が始まる秒*/
}

.slider_r div:first-of-type{
	background-image: url(images/slide_r1.jpg);
}
.slider_r div:nth-of-type(2){
	background-image: url(images/slide_r2.jpg);
	animation-delay: 7s;/*右側2枚目が始まる秒*/
}
.slider_r div:nth-of-type(3){
	background-image: url(images/slide_r3.jpg);
	animation-delay: 12s;/*右側3枚目が始まる秒*/
}
/*複数枚画像_ループなし*/
@keyframes slideshow {
　/* 非表示（不透明度0%）状態からフェードインを始める */
  0%{ opacity:0; }
  /* ここまでにフェードインを完了し、完全表示（不透明度100%）にする */
  14.28%{ opacity:1; }
  /* ここまで完全表示（不透明度100%）の状態を維持したらフェードアウトを始める */
  50%{ opacity:1; }
  /* ここまでにフェードアウトを完了し、非表示（不透明度0%）にする */
  64.28%{ opacity:0; }
  /* 非表示（不透明度0%）状態を維持したまま終わる */
  100%{ opacity:0; } 
}
@keyframes slideshow_last {
  0%{ opacity:0; }
  14.28%{ opacity:1; }
  50%{ opacity:1; }
  64.28%{ opacity:1; }
  100%{ opacity:1; }
}

.slide_noloop {
  position: relative;
  width: 100%;
  padding-top: 39%;
  overflow: hidden;
  background-color: #fff;
}

.slide_noloop img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  opacity: 0;
  animation: slideshow forwards 10s linear 1, slideshow_last forwards 10s linear 1;
}

.slide_noloop img.s_img1 {
  animation-delay:-2s;
}

.slide_noloop img.s_img2 {
  animation-delay: 3s;/*2枚目が始まる秒*/
}

.slide_noloop img.s_img3 {
  animation-delay: 8s;/*3枚目が始まる秒*/
}

.slide_noloop img.s_img4 {
  animation-delay: 13s;/*4枚目が始まる秒*/
}
/*複数枚画像_2分割ループなし*/
.slide_noloop_l {
  position: relative;
  width: 50%;
  padding-top: 33%;
  overflow: hidden;
  background-color: #fff;
float:left;
}
@media only screen and (max-width: 770px) {
	.slide_noloop_l {
	width: 100%;
	padding-top: 66%;
	clear:both;
	}
}

.slide_noloop_l img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  opacity: 0;
  animation: slideshow forwards 10s linear 1, slideshow_last forwards 10s linear 1;
}

.slide_noloop_l img.s_img1 {
  animation-delay:-2s;
}

.slide_noloop_l img.s_img2 {
  animation-delay: 3s;/*左側2枚目が始まる秒*/
}

.slide_noloop_l img.s_img3 {
  animation-delay: 8s;/*左側3枚目が始まる秒*/
}

.slide_noloop_l img.s_img4 {
  animation-delay: 13s;/*左側4枚目が始まる秒*/
}

.slide_noloop_r {
  position: relative;
  width: 50%;
  padding-top: 33%;
  overflow: hidden;
  background-color: #fff;
float:right;
}
@media only screen and (max-width: 770px) {
	.slide_noloop_r {
	width: 100%;
	padding-top: 66%;
	clear:both;
	}
}

.slide_noloop_r img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  opacity: 0;
  animation: slideshow forwards 10s linear 1, slideshow_last forwards 10s linear 1;
}

.slide_noloop_r img.s_img1 {
  animation-delay:-2s;
}

.slide_noloop_r img.s_img2 {
  animation-delay: 4s;/*右側2枚目が始まる秒*/
}

.slide_noloop_r img.s_img3 {
  animation-delay: 7s;/*右側3枚目が始まる秒*/
}

.slide_noloop_r img.s_img4 {
  animation-delay: 13s;/*右側4枚目が始まる秒*/
}


/*ツートップ_スマホでも左右分割*/
table.top_main1{
width:100%;
max-width:1000px!important;
margin:0 auto;
padding:0;
border:0;
border-collapse:collapse;
text-align:center;
}

table.top_main1 td{
width:calc(50% - 10px)!important;
min-width:160px!important;
max-width:490px!important;
margin:0;
padding:0;
border:0;
font-size:14px;
line-height:22px;
font-family: "Helvetica Neue",Arial,"Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Meiryo,sans-serif;
color:#35353a;
font-weight:normal;
}

table.top_main1 td.td1_l{
padding-right:10px;
padding-bottom:5px;
}
table.top_main1 td.td2_l{
padding-right:10px;
padding-bottom:5px;
vertical-align:top;
}
table.top_main1 td.td1_r{
padding-left:10px;
padding-bottom:5px;
}
table.top_main1 td.td2_r{
padding-left:10px;
padding-bottom:5px;
vertical-align:top;
}
@media only screen and (max-width: 420px) {
	table.top_main1 td{
	font-size:12px;
	line-height:16px;
	}
	table.top_main1 td.td1_l,
	table.top_main1 td.td2_l{
	padding-right:5px;
	}
	table.top_main1 td.td1_r,
	table.top_main1 td.td2_r{
	padding-left:5px;
	}
}

table.top_main1 td.td2_l big,
table.top_main1 td.td2_r big{
font-size:225%;
line-height:120%;
font-weight:bold;
}

table.top_main1 div.img_hover1{/*width、height設定は下記imgと合わせる*/
width:100%!important;
max-width:490px!important;
height:auto;
max-height:327px!important;
margin:0 auto;/*img中央配置*/
padding:0;
border:0;
overflow:hidden;/*拡大ではみ出る部分の非表示*/
}
table.top_main1 div.img_hover1 img{
width:100%!important;
max-width:490px!important;
height:auto;
max-height:327px!important;
transition:1.5s all;
}
table.top_main1 div.img_hover1 img:hover{
transform:scale(1.1,1.1);/*拡大率*/
transition:1.5s all;
}

table.top_main1 a{
display: block;
text-decoration: none;
}
table.top_main1 a.Btn1{
border:1px solid #35353a;
margin:5px auto 0 auto;
padding:10px 5px;
width:calc(100% - 12px);
display:flex;
justify-content:center;
align-items:center;
font-size:14px;
line-height:14px;
color:#35353a;
background:#fff;
transition: .5s;
position:relative!important;
}
table.top_main1 a.Btn1:hover{
color:#fff;
background:#35353a;
transition: .5s;
}
table.top_main1 a.Btn1::after{
content: "→";
position:absolute!important;
padding:0 10px 0 0;
right:0;
}


/*dental_訪問歯科*/
div.dental2_img1{
width:calc(100% - 30px);
padding:5px 15px;
margin:0;
border:0;
}
@media only screen and (min-width: 771px) {
	div.dental2_img1{
	display:flex;
	justify-content:center;
	align-items:center;
	}
}

div.dental2_img1 img{
width:100%;
height:auto;
margin:0;
padding:0;
border:0;
}
@media only screen and (min-width: 771px) {
	div.dental2_img1 img{
	width:auto;
	height:100%;
	max-height:227px;
	}
}


/*grouphome_あいむほーむ*/
table.grouphome_flow1{
width:calc(100% - 16px);
margin:0 8px;
padding:0;
border-collapse:collapse;
border:1px solid silver;
}

table.grouphome_flow1 td{
padding:5px;
border:0px solid silver;
vertical-align:top;
}
table.grouphome_flow1 td.td1{
font-size:18px;
line-height:24px;
font-family: "Helvetica Neue",Arial,"Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Meiryo,sans-serif;
font-weight:bold;
color:#086970;
}
@media only screen and (min-width: 771px) {
	table.grouphome_flow1 td.td1{
	font-size:21px;
	line-height:28px;
	}
}
table.grouphome_flow1 td.td2{
width:25px!important;
padding:0!important;
white-space:nowrap;
background:#fff url(images/img_flow1.png) no-repeat left top / 25px 100%;
}
table.grouphome_flow1 td.td2_last{
width:25px!important;
padding:5px 0 5px 5px!important;
white-space:nowrap;
}

table.grouphome_flow1 td.td3{
padding:0 5px 10px 0!important;
}

table.grouphome_flow1 ul{
width:100%;
margin:10px 0 0 0;
padding:0;
list-style:none;
font-weight:normal;
letter-spacing:0.1em;
}
table.grouphome_flow1 li{
padding-bottom:5px;
}


table.grouphome_2top1{
width:100%;
max-width:1000px!important;
margin:0 auto;
padding:0;
border:0;
border-collapse:collapse;
text-align:center;
}

table.grouphome_2top1 td{
width:calc(50% - 10px)!important;
min-width:160px!important;
max-width:490px!important;
margin:0;
padding:0;
border:0;
font-size:14px;
line-height:22px;
font-family: "Helvetica Neue",Arial,"Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Meiryo,sans-serif;
color:#35353a;
font-weight:normal;
}

table.grouphome_2top1 td.td1_l{
padding-right:10px;
padding-bottom:5px;
}
table.grouphome_2top1 td.td2_l{
padding-right:10px;
padding-bottom:5px;
vertical-align:top;
}
table.grouphome_2top1 td.td1_r{
padding-left:10px;
padding-bottom:5px;
}
table.grouphome_2top1 td.td2_r{
padding-left:10px;
padding-bottom:5px;
vertical-align:top;
}
@media only screen and (max-width: 420px) {
	table.grouphome_2top1 td{
	font-size:12px;
	line-height:16px;
	}
	table.grouphome_2top1 td.td1_l,
	table.grouphome_2top1 td.td2_l{
	padding-right:5px;
	}
	table.grouphome_2top1 td.td1_r,
	table.grouphome_2top1 td.td2_r{
	padding-left:5px;
	}
}

table.grouphome_2top1 td.td2_l big,
table.grouphome_2top1 td.td2_r big{
font-size:175%;
line-height:120%;
font-weight:bold;
}

table.grouphome_2top1 div.img_hover1{/*width、height設定は下記imgと合わせる*/
width:100%!important;
max-width:490px!important;
height:auto;
max-height:327px!important;
margin:0 auto;/*img中央配置*/
padding:0;
border:0;
overflow:hidden;/*拡大ではみ出る部分の非表示*/
}
table.grouphome_2top1 div.img_hover1 img{
width:100%!important;
max-width:490px!important;
height:auto;
max-height:327px!important;
transition:1.5s all;
}
table.grouphome_2top1 div.img_hover1 img:hover{
transform:scale(1.1,1.1);/*拡大率*/
transition:1.5s all;
}

table.grouphome_2top1 a{
display: block;
text-decoration: none;
}
table.grouphome_2top1 a.Btn1{
border:1px solid #35353a;
margin:5px auto 0 auto;
padding:10px 5px;
width:calc(100% - 12px);
display:flex;
justify-content:center;
align-items:center;
font-size:14px;
line-height:14px;
color:#35353a;
background:#fff;
transition: .5s;
position:relative!important;
}
table.grouphome_2top1 a.Btn1:hover{
color:#fff;
background:#35353a;
transition: .5s;
}
table.grouphome_2top1 a.Btn1::after{
content: "→";
position:absolute!important;
padding:0 10px 0 0;
right:0;
}


p.grouphome_aki{
margin-bottom:0;
padding-bottom:0;
}

div.grouphome_aki1{
width:calc(100% - 30px);
margin:5px 10px 10px 10px;
padding:5px;
font-size:16px;
line-height:21px;
font-weight:bold;
color:#901;
letter-spacing:0.1em;
background:#ff9;
}
div.grouphome_aki1 small{
font-size:12px;
font-weight:normal;
color:black;
}

div.grouphome_aki2{
width:calc(100% - 30px);
margin:5px 10px 10px 10px;
padding:5px;
font-size:16px;
line-height:21px;
font-weight:normal;
color:#666;
letter-spacing:0.1em;
}
div.grouphome_aki2 small{
font-size:12px;
font-weight:normal;
color:black;
}


div.grouphome_img1{
width:calc(100% - 16px);
padding:5px 8px;
margin:0 auto;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img1{
	display:flex;
	justify-content:center;
	align-items:center;
	}
}

div.grouphome_img1 img{
width:calc(50% - 8px);
height:auto;
margin:0;
padding:0;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img1 img{
	width:auto;
	height:100%;
	max-height:184px;
	}
}

div.grouphome_img2{
width:calc(100% - 16px);
padding:5px 8px;
margin:0 auto;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img2{
	display:flex;
	justify-content:center;
	align-items:center;
	}
}

div.grouphome_img2 img{
width:calc(50% - 8px);
height:auto;
margin:0;
padding:0;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img2 img{
	width:auto;
	height:100%;
	max-height:328px;
	}
}

div.grouphome_img3{
width:calc(100% - 16px);
padding:5px 8px;
margin:0 auto;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img3{
	display:flex;
	justify-content:center;
	align-items:center;
	}
}

div.grouphome_img3 img{
width:calc(100% - 16px);
height:auto;
margin:0;
padding:0;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img3 img{
	width:auto;
	height:100%;
	max-height:328px;
	}
}

div.grouphome_img4{
width:calc(100% - 16px);
padding:5px 8px;
margin:0 auto;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img4{
	display:flex;
	justify-content:center;
	align-items:center;
	}
}

div.grouphome_img4 img{
width:calc(50% - 8px);
height:auto;
margin:0;
padding:0;
border:0;
}
@media only screen and (min-width: 771px) {
	div.grouphome_img4 img{
	width:auto;
	height:100%;
	max-height:125px;
	}
}

img.grouphome_img0{
width:calc(100% - 16px);
height:auto;
margin:0 auto;
padding:5px 8px;
border:0;
}
@media only screen and (min-width: 771px) {
	img.grouphome_img0{
	width:auto;
	height:100%;
	max-height:328px;
	}
}


table.grouphome_list1{
width:calc(100% - 16px);
margin:0 8px;
padding:0;
border-collapse:collapse;
border:0px solid silver;
}
table.grouphome_list1 th{
width:10%;
padding: 5px;
border: solid 1px silver;
background:#fff url(images/bg_h1midashi1.jpg) repeat 0 0 / 500%;
vertical-align:top;
white-space:nowrap;
}
table.grouphome_list1 td{
border: solid 1px silver;
padding: 5px;
text-align:left;
vertical-align:top;
}
@media screen and (max-width: 770px) {
	.last td:last-child{
	border-bottom: solid 1px silver;
	width: 100%;
	}
	table.grouphome_list1{
	width:calc(100vw - 40px);
	}
	table.grouphome_list1 th{
	background-size:cover;
	}
	table.grouphome_list1 th,
	table.grouphome_list1 td{
	border-bottom: none;
	display: block;
	width: 100%;
	}
}
@media screen and (min-width: 771px) {
	table.grouphome_list1 th {
	text-align:right;
	}
}


/*company 会社概要*/
/*table_スマホ切り替え無し*/
table.company1{
width:calc(100% - 16px);
margin:0 8px;
padding:0;
border-collapse:collapse;
background-color:#f0f0f0;
border:0px solid #fff;
}

table.company1 td{
padding:5px;
border:1px solid #fff;
}
table.company1 td.td1{
width:10%!important;
text-align:right!important;
white-space:nowrap;
}
/*table_スマホ切り替えあり*/
table.company2{
width:calc(100% - 16px);
margin:0 8px;
padding:0;
border-collapse:collapse;
border:0px solid silver;
}
table.company2 th{
width:13%;
padding: 5px;
border: solid 1px silver;
background:#fff url(images/bg_h1midashi1.jpg) repeat 0 0 / 500%;
vertical-align:top;
white-space:nowrap;
}
table.company2 td{
border: solid 1px silver;
padding: 5px;
text-align:left;
vertical-align:top;
}
@media screen and (max-width: 770px) {
	.last td:last-child{
	border-bottom: solid 1px silver;
	width: 100%;
	}
	table.company2{
	width:calc(100vw - 40px);
	}
	table.company2 th{
	background-size:cover;
	}
	table.company2 th,
	table.company2 td{
	border-bottom: none;
	display: block;
	width: 100%;
	}
}
@media screen and (min-width: 771px) {
	table.company2 th {
	text-align:right;
	}
}

table.company2 .map1{
width:calc(100% - 2px)!important;
margin:5px 0!important;
padding:0!important;
border:solid 1px silver!important;
}

table.company2 ul.jigyo1{
width:calc(100% - 20px);
margin:0;
padding:0 0 0 20px;
list-style:square outside;
text-align:left;
}


ul.access1{
width:calc(100% - 48px);
margin:0;
padding:0 0 0 48px;
style:square outside;
font-size:16px;
line-height:28px;
text-align:left;
letter-spacing:0.2em;
}
@media only screen and (max-width: 770px) {
	ul.access1{
	width:calc(100% - 42px);
	padding:0 10px 0 32px;
	font-size:14px;
	line-height:21px;}
}

ul.access1 li{
padding-bottom:5px;
}


/*お問い合わせフォーム*/
table.form1{
width:calc(100% - 16px);
margin:0 8px;
padding:0;
border-collapse:collapse;
border:0px solid silver;
}
table.form1 caption{
margin:0;
padding:0 0 5px 0;
font-weight:bold;
text-align:left;
color:#c2252e;
}
table.form1 th{
width:13%;
padding: 5px;
border: solid 1px silver;
background:#fff url(images/bg_h1midashi1.jpg) repeat 0 0 / 500%;
vertical-align:top;
white-space:nowrap;
}
table.form1 td{
border: solid 1px silver;
padding: 5px;
text-align:left;
vertical-align:top;
}
@media screen and (max-width: 770px) {
	table.form1 .last td:last-child{
	border-bottom: solid 1px silver;
	width: 100%;
	}
	table.form1{
	width:calc(100vw - 40px);
	}
	table.form1 th{
	background-size:cover;
	}
	table.form1 th,
	table.form1 td{
	border-bottom: none;
	display: block;
	width: 100%;
	}
}
@media screen and (min-width: 771px) {
	table.form1 th {
	text-align:right;
	}
}

table.form1 .cur{
width:calc(100% - 10px)!important;
padding: 4px;
border: solid 1px silver;
}
table.form1 .yubin{
width:calc(10% - 10px)!important;
min-width:70px;
margin-bottom:10px;
padding: 4px;
border: solid 1px silver;
}
table.form1 .add{
width:100%!important;
padding: 4px;
border: solid 1px silver;
background:#fff;
}
table.form1 .naiyou{
width:calc(100% - 10px)!important;
height:200px;
padding: 4px;
border: solid 1px silver;
}

input.q_btn{
width:100px;
padding:10px;
}


ol.policy1{
width:calc(100% - 40px);
margin:0 0 15px 0;
padding:20px 5px 0 35px;
style:decimal outside;
text-align:left;
}

ol.policy1 li{
padding-bottom:5px;
}


/*アニメーション各種*/
/*ふわっと下から*/
.fadeUp{
display:block;
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

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

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

@charset "utf-8";