@charset "UTF-8";
/* リセットcss */
* {
	margin: 0;
	padding: 0;
}

html {
  overflow-y: scroll;
}

body {
  margin: 0 auto;
  padding: 0 auto;
  color: #333333;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 23px;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font-weight: 500;
vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}

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;
}

p {
  margin: 20px 0px;
}

/* === parts === */

.txt_orange {
	color: #ff9000;
}

.txt_red {
	color: #ff0000;
}

.txt_13 {
	font-size: 14px;
}

.txt_20 {
	font-size: 20px;
}

.txt_center {
	text-align: center;
}

.txt_bold {
	font-weight: bold;
}

.margin_top30 {
	margin-top: 30px;
}

a {
	color: #86b92c;
	text-decoration: underline;
	transition: all 0.3s ease;
}

a:hover {
	color: #a5de40;
	cursor: pointer;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity: 0.8;
	-khtml-opacity: 0.8;
}

.banner_img {
	width: 100%;
	height: auto;
}

.banner_switch {
  position: relative;
  display: inline-block;
	width: 100%;
	height: 160px;
}

.banner_switch .banner_img {
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}

.banner_switch .on {
  opacity: 0;
}

.banner_switch:hover .on {
  opacity: 1;
}

.banner_switch:hover .off {
  opacity: 0;
}


ul.list_on {
	list-style: disc;
	margin-left: 15px;
}

ul.list_on li {
	margin-bottom: 0.8rem;
}

h1.logo_txt {
	color: #666666;
	font-size: 12px;
	padding-left: 5px;
}

.h_icon_box {
	display: flex;
	align-items: center;
	margin: 50px 0px 15px 0px;
}

.h_icon_img {
	width: 80px;
	height: auto;
	margin: 0px 15px;
}

.h_orange_under {
	color: #ff6600;
	font-size: 30px;
	font-weight: bold;
	text-decoration: underline #8cc63e 3px;
	text-underline-offset: 8px;
}

.h_green_back {
	color: #ffffff;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	background-color: #8cc63e;
	padding: 25px 10px;
}

.h_icon_bubble_box {
	display: flex;
	align-items: center;
	margin: 5px 0px 50px 0px;
}

.h_bubble {
  position: relative;
  display: inline-block;
	width: 100%;
  margin-left: 16px;
  padding: 16px 45px;
  border: 2px solid #d3dbc0;
  border-radius: 10px;
  background-color: #f5f9eb;
  text-align: left;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  color: #333333;
}

.h_bubble::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 0 16px 16px 0;
  border-color: transparent #d3dbc0 transparent transparent;
  translate: -100% -50%;
  transform: skew(0, -10deg);
  transform-origin: right;
}

.h_bubble::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 0 11.2px 11.2px 0;
  border-color: transparent #f5f9eb transparent transparent;
  translate: -100% calc(-50% - 0.4px);
  transform: skew(0, -10deg);
  transform-origin: right;
}

.h_green {
	color: #8cc63e;
	font-weight: bold;
	font-size: 25px;
	margin-top: 50px;
}

.box_orange {
	border: 5px solid #ffcc33;
	padding: 30px;
}

.box_gray {
	background-color: #f9f9f9;
	padding: 30px;
}

.box_shadow {
	background-color: #ffffff;
	border: 1px solid #d1d1d1;
	border-radius: 10px;
	box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.3);
	margin-top: 30px;
	padding: 30px;
}


/* === header ===*/
#header {
	border-top: solid 3px #8cc63e;
}

.header_wrap {
	margin: auto;
	padding: 15px 0px;
}

#logo_box {
	align-items: center;
}

#gNav {
	display: flex;
}

.gNav_box {
	display: flex;
	list-style: none;
	height: 40px;
	margin: 0;
	padding: 0;
	border-left: 1px solid #a1a1a1;
	border-right: 1px solid #a1a1a1;
}

.gNav_block {
	position: relative;
}

.gNav_link {
	display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: #333;
	font-size: 13px;
	font-weight: bold;
  padding: 0px 5px;
  width: 130px;
  height: 40px;
  box-sizing: border-box;
}

.gNav_block + .gNav_block {
	border-left: 1px solid #a1a1a1;
}

/* === contents ===*/
.contents_wrap {
	margin: 50px auto;
}

.contents_back_eyecatch {
	background: url(/img/ip_outline_eyecatch_back.png) center top no-repeat;
	margin-top: -50px;
}

/*医院検索*/

.pref_region {
	color: #ffffff;
	font-weight: bold;
	background-color: #ffcc33;
	width: 18%;
	display: block;
	padding: 6px 10px 2px 10px;
	text-align: center;
}

.pref_area {
	padding: 5px 15px;
}

.pref_area_li {
	display: inline-block;
	padding: 0px 5px;
}

.pref_area_a {
	font-weight: bold;
}

.pref_area_li + .pref_area_li {
	border-left: 1px solid #a1a1a1;
}


/* === footer ===*/

#footer {
	margin-top: 50px;
}

.fb_iframe iframe {
	display: block;
	margin: auto;
}

.footer_box {
	background: url(/img/ip_outline_footer.png) center bottom no-repeat;
	margin-top: 30px;
	padding-top: 250px;
}

.footer_txt_block {
	margin: auto;
	display: flex;
	color: #ffffff;
}

.footer_txt {
	margin-right: auto;
}

.footer_link {
	color: #ffffff;
}

.footer_fix {
	position: fixed !important;
	z-index: 9999;
	bottom: 5px;
	right: 80px;
}


/*========= pc =========*/
@media screen and (min-width: 1230px) {
	/* === parts === */
	.pc_none {
		display: none;
	}


	/* === header ===*/
	.header_wrap {
		width: 950px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	/* === contents ===*/
	.contents_wrap {
		width: 950px;
	}


	/*医院検索*/
	.pref_box {
		display: flex;
		margin-bottom: 5px;
	}

	.search_box {
		background: url(/img/ip_outline_search_back.png) center bottom no-repeat;
		box-shadow: 1px 0px 5px 3px rgba(0, 0, 0, 0.3)
	}

	.search_block {
		width: 1020px;
		height: 360px;
		display: flex;
		align-items: flex-start;
	}

	.search_pref {
		padding: 15px;
		flex: 0.85;
	}

	.search_exp {
		padding: 15px;
		width: 25%;
	}

	.exp_index {
		color: #ffffff;
		font-size: 18px;
		font-weight: bold;
		background-color: #ffcc33;
		width: 100%;
		display: inline-block;
		padding: 15px 10px;
		text-align: center;
	}

	.speechBubble {
	  position: relative;
	  display: inline-block;
		width: 65%;
	  margin: 30px auto 20px auto;
	  padding: 16px;
	  border-radius: 15px;
	  background-color: #ffffff;
	  text-align: center;
	  font-size: 16px;
	  color: #000000;
	}

	.speechBubble::after {
	  content: "";
	  position: absolute;
	  bottom: 0;
	  left: 76%;
	  border-style: solid;
	  border-width: 20px 10px 0 10px;
	  border-color: #ffffff transparent transparent;
	  translate: -50% 100%;
	  transform: skew(47deg);
	  transform-origin: top;
	}

}

/*========= tablet =========*/
@media only screen and (min-width: 700px) and (max-width: 1229px) {
	/* === parts === */
	.tb_none {
		display: none;
	}

	.h_icon_img {
		margin: 0px;
	}

	.h_bubble {
		padding: 15px;
	}

	/* === header ===*/
	.header_wrap {
    flex-direction: column;
  }

	#logo_box {
		margin-left: 15px;
	}

	.logo_img {
		width: 60%;
		max-width: 200px;
		height: auto;
	}

  #gNav {
    width: 100%;
		margin-top: 10px;
		margin-bottom: 20px;
  }

  .gNav_box {
    flex-wrap: wrap;
    justify-content: center;
		margin: auto;
  }

  .gNav_link {
    max-width: none;
    flex: 1 1 auto;
  }

	/* === contents ===*/
	.contents_wrap {
		margin: 30px 30px 30px 30px;
	}

	.contents_back_eyecatch {
		background: url(/img/ip_outline_eyecatch_back.png) center bottom no-repeat;
	}

	/*医院検索*/
	.search_box {
		width: 100%;
		margin: auto;
	}

	.search_pref {
		background: url(/img/ip_outline_search_back_sp.png) right bottom no-repeat;
		box-shadow: 1px 0px 5px 3px rgba(0, 0, 0, 0.3);
		padding: 30px;
	}

	.pref_box {
		display: flex;
		margin-bottom: 5px;
	}

	.search_exp {
		display: none;
	}

	/* === footer ===*/
	.footer_fix {
		bottom: 15px;
		right: 5px;
	}

	.footer_link {
		margin-right: auto;
	}

	.footer_box .contents_wrap {
		margin: 15px 15px 0px 15px;
	}
}

/*========= smartPhone =========*/
@media screen and (max-width: 699px) {
	/* === parts === */
	.sp_none {
		display: none;
	}

	.txt_20 {
		font-size: 17px;
	}

	.banner_switch {
    height: 80px;
	}

	.h_icon_box {
		margin: 30px 0px 15px 0px;
	}

	.h_icon_img {
		width: 50px;
		margin: 0px 5px 0px 0px;
	}

	.h_orange_under {
		font-size: 1.1em;
	}

	.h_green_back {
		font-size: 1em;
		padding:5px;
	}

	.h_icon_bubble_box {
		margin: 5px 0px 30px 0px;
	}

	.h_bubble {
	  padding: 5px 5px 5px 10px;
	  font-size: 18px;
	}

	.box_orange {
		padding: 10px;
	}

	.box_gray {
    padding: 10px;
	}

	.box_shadow {
		padding: 10px;
	}

	/* === header ===*/
	.header_wrap {
		flex-direction: column;
	}

	#logo_box {
		margin-left: 15px;
	}

	.logo_img {
		width: 60%;
		max-width: 200px;
		height: auto;
	}

	#gNav {
		width: 100%;
		margin-top: 10px;
		margin-bottom: 20px;
	}

	.gNav_box {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: auto;
		border-left: none;
		border-right: none;
	}

	.gNav_block {
		width: 22%;
		box-sizing: border-box;
	}

	/* 1列目の左端は線を消す */
	.gNav_block:last-child {
		border-right: 1px solid #a1a1a1;
	}

	.gNav_link {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		text-decoration: none;
		color: #333;
		font-size: 12px;
		padding: 0px 5px;
		width: 100%;
		height: 45px;
		box-sizing: border-box;
	}

	/* === contents ===*/
	.contents_wrap {
		margin: 30px 15px 10px 15px;
	}

	.contents_back_eyecatch {
		background: url(/img/ip_outline_eyecatch_back.png) center bottom no-repeat;
	}

	/*医院検索*/
	.search_box {
	}

	.search_pref {
		background: url(/img/ip_outline_search_back_sp.png) center bottom repeat;
		box-shadow: 1px 0px 5px 3px rgba(0, 0, 0, 0.3);
		padding: 10px;
		font-size: 1rem;
	}

	.pref_box {
		margin: 10px auto;
	}

	.pref_region {
		display: block;
		width: 40%;
		padding: 2px 5px;
	}

	.pref_area {
		padding: 5px;
	}

	.search_exp {
		display: none;
	}

	/* === footer ===*/
	#footer {
		margin-top: 30px;
	}

	.fb_iframe {
    position: relative;
    width: 90%;
		margin: auto;
    padding-bottom: 50%;
    height: 0;
    overflow: hidden;
  }

  .fb_iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

	.footer_box {
		background: url(/img/ip_outline_footer_sp.png) left bottom no-repeat;
		margin-top: 30px;
		padding-top: 200px;
	}

	.footer_txt_block {
		display: block;
	}

	.footer_fix {
		bottom: 15px;
		right: 5px;
	}

	.footer_txt {
		font-size: 0.7rem;
	}

	.footer_box .contents_wrap {
		margin: 15px 15px 0px 15px;
		padding-bottom: 15px;
	}
}
