@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =============================================
HTML、body等全体に関わる設定
============================================= */
body {
	color: #202020;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: bold!important;
	font-style: normal;
	font-size: 16px;
	line-height: 2;
}

wrap {
	width: 100%;
}

a  {
	color: #007A59;
}

a:hover {
	color: #39a0ff;
	opacity: 0.7;
	transition: 0.5s;
}


/* =============================================
共通部分に関わる設定（wrapや下層ページ共通部等）
============================================= */

.header_inner {
	display: flex;
	width: 100%;
	margin: 30px 0;
}

.head_title {
	width: 50%;
	padding-left: 3%;
}

.head_logo {
	width: 50%;
	text-align: right;
	padding-right: 3%;
}

.head_logo a {
	vertical-align: middle;
}

ul.pc_navigation {
	display: flex;
	width: 100%;
	margin-bottom: 30px;
}

ul.pc_navigation li {
	width: 20%;
	text-align: center;
	list-style: none;
	border-right: 1px solid black;
}

ul.pc_navigation li:last-child {
	border-right: none;
}

.hero_header {
	width: 100%;
}

.hero_header img {
	width: 100%;
	height: auto;
}

#footer {
	width: 100%;
}

.footer_inner {
	background: #007A59;
	padding: 30px 0;
	text-align: center;
}

.foot_logo {
	padding-bottom: 5px;
}

.copyright {
	font-size: .6em;
	font-weight: 400;
	color: #FFFFFF;
}

#under_content {
	width: 1100px;
	margin: 0 auto;
}

section.cont_inner {
	width: 90%;
	margin: 0 auto 40px;
}

h2 {
	text-align: center;
	margin-bottom: 15px;
	color: #006536;
	font-size: 1.4em;
}

h3 {
	color: #006536;
	font-size: 1.2em;
	border-bottom: 1px solid #006536;
}

.cont_img {
	text-align: center;
}

.cont_img img {
	width: 80%;
	height: auto;
}

.cont_dis {
	padding: 20px 0;
}

/* PCのとき非表示 */

h2.pc_head_ttl {
	display: none;
}

.br-sp {
	display: none;
}

ul.sp_navigation {
	display: none;
}

.sp_search_point {
	display: none;
}

/* =============================================
各ページ特有のデザインに関わる設定
============================================= */

/* トップ */

#top_content {
	width: 1100px;
	margin: 30px auto 40px;
}

.summary {
	margin-bottom: 30px;
}

/* 幹細胞とは */

.img_wrap {
	width: 80%;
	margin: 0 auto;
}

.img_wrap .cont_img {
	margin: 25px 0;
}

h4.img_ttl {
	width: 80%;
	margin: 20px auto;
	padding: 15px 0;
	border: 1px solid #006536;
	border-radius: 15px;
	text-align: center;
	font-size: 1.1em;
	color: #006536;
}

.img_dis {
	width: 75%;
	margin: 0 auto;
	padding: 20px;
	border: 2px solid #4694d1;
	background-color: #f0f5fb;
	color: #4694d1;
}

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

.movie_dis  {
	color: #006536;
	text-align: center;
}

/* 動物病院検索 */

.search_inner {
	width: 800px;
	margin: 30px auto 80px;
	padding: 30px;
	border: 1px solid #727171;
}

p.search_dis {
	position: relative;
	margin-bottom: 30px;
	padding: 0 0 10px 30px;
	border-bottom: 1px solid #727171;
}

p.search_dis span {
	position: absolute;
	top:10px;
	left: 0;
	width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #727171;
}

ul.search_list {
	position: relative;
    left: -30px;
	width: 800px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
    align-items: center;
	gap: 30px 30px;
	list-style: none;
}

ul.search_list::after  {
	content: "";
	display: block;
	width: 230px;
}


ul.search_list li {
	width: 230px;
	height: 80px;
}


ul.search_list li a {
	display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: #2eac6f;
    color: #FFFFFF;
}

/* 動物病院検索　結果 */

.search_result_inner {
	width: 800px;
    margin: 0 auto;
    padding: 30px 70px;
    border: 1px solid #727171;
}

.result_title {
	margin-bottom: 15px;
	border-bottom: none;
	color: #231815;
}

.taxt_color {
	color: #2EAC6F;
}

.result_number {
	font-size: 1.2em;
}

.result_unit {
	font-size: 0.9em;
}

.display_number {
	font-size: 0.6em;
}

.result_info {
	margin-bottom: 20px;
}

li.result_hospital {
	padding: 20px 0;
	border-top: #2EAC6F 2px solid;
}

li.result_hospital:last-child {
	border-bottom: #2EAC6F 2px solid;
}

.result_inner {
	width: 95%;
    margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	padding-top: 10px;
}

h4 {
	padding-bottom: 10px;
	font-size: 1.2em;
	color: #076BAF;
	border-bottom: 1px #727171 solid;
}

.hospital_info {
	width: 75%;
    line-height: 30px;
	font-size: 0.9em;
	color: #727171;
}

.address {
	position: relative;
	padding-left: 28px;
}

.address_icon  {
	position: absolute;
    left: 0;
    top: 3px;
    width: 30px;
    height: 30px;
    display: inline-block;
    background: no-repeat;
    background-image: url(img/address_logo.png);
}

.tel  {
	position: relative;
	padding-left: 28px;
}

.tel_icon {
	position: absolute;
    left: 2px;
    top: 8px;
    width: 30px;
    height: 30px;
    display: inline-block;
    background: no-repeat;
	background-image: url("img/call_logo.png");
}

.access {
	width: 25%;
}

p.map  {
	position: relative;
    line-height: 30px;
	padding: 6px 2px 2px 20px;
    text-align: center;
	color: #076BAF;
    border: 1px black solid;
}

.map_icon {
	position: absolute;
	left: 20px;
    top: 10px;
    width: 30px;
    height: 30px;
	display: inline-block;
	background: no-repeat;
	background-image: url("img/access_logo.png");
}

/* 動画 */
h3.movie {
	color: #006536;
	font-size: 1.4em;
	border-bottom: none;
        text-align: center;
      	margin-bottom: 15px;
}



/*=====================================
			レスポンシブ
=====================================*/

/*ここからタブレットデザイン（横モード）*/
@media screen and (max-width: 1100px){
	
	/* 共通 */

	body {
		font-size: 30px;
	}
	
	#top_content {
	    width: 90%;
}
	
	ul.pc_navigation {
		display: none;
	}
	
	/* ヘッダー共通 */
	
	.head_title {
		width: 70%;
	}
	
	.head_logo img {
		height: 22px;
		width: auto;
	}
	
	h2.pc_head_ttl {
		display: block;
		margin-bottom: 15px;
		color: #231815;
		font-size: 2em;
	}
	
	/* フッター共通 */
	
	#footer {
		margin-bottom: 310px;
	}
	
	.footer_inner {
		background: #007A59;
		margin-bottom: 20px;
		padding: 20px 0;
	}
	
	.foot_logo {
		padding-bottom: 0;
	}
	
	.foot_logo img {
		width: 30%;
		height: auto;
	}
	
	.copyright {
		font-size: 0.8em;
	}
	
	.sp_footer_nav {
		position: fixed;
		bottom: 0;
	}
	
	ul.sp_navigation {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		background-color: #006536;
		text-align: center;
	}

	ul.sp_navigation li {
		width: 33.3%;
		height: 140px;
		border-right: 2px white solid;
		border-bottom: 2px white solid;
	}
	
	ul.sp_navigation li:last-child {
		border-right: none;
		border-bottom: none;
	}
	
	ul.sp_navigation li a {
		line-height: 1.5;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        text-align: center;
	}

	/* 固定ページ共通（トップ以外） */
	
	#under_content {
		width: 100%;
	}
	
	.cont_img img {
		width: 100%;
	}
	
	/* トップ */
	
	.br-sp {
		display: block;
	}
		
	#top_content {
		width: 95%;
	}
	
	/* 幹細胞とは */
	
	.img_wrap {
		width: 100%;
	}
	
	h4.img_ttl {
		width: 95%;
	}
	
	.img_dis {
		width: 95%;
	}
	
	/* 動物病院検索 */

	section.sp_cont_inner {
		width: 100%;
	}
	
	.search_inner {
		width: 100%;
		padding: 0;
		border: none;
	}
	
	p.search_dis {
		padding: 0 0 10px 200px;
		border-bottom: none;
	}
	
	p.search_dis span {
		top: 17px;
		left: 140px;
		border-left: 18px solid transparent;
		border-right: 18px solid transparent;
		border-top: 26px solid #727171;
	}
	
	ul.search_list {
		width: 100%;
		display: block;
	}
	
	ul.search_list li {
		position: relative;
		left: 30px;
		width: 100%;
		height: 110px;
		font-size: 1.4em;
		border-top: 1px solid #727171;
	}

	ul.search_list li a {
		display: block;
		padding: 14px 0 0 50px;
		text-align: left;
		background-color: white;
		color: #231815;
	}

	.br-pc {
		display: none;
	}
	
	.sp_search_point {
		display: inline-block;
	}
	
	.arrow{
	  width: 10em;
	  position: relative;
	  display: inline-block;
	  color: #000;
	  vertical-align: middle;
	  text-decoration: none;
	  font-size: 1em;
	}

	.arrow::after{
	  position: absolute;
	  top: 0;
	  bottom: 0;
	  right: 50px;
	  margin: auto;
	  content: "";
	  vertical-align: middle;
	  width: 0.8em;   /* arrow size */
	  height: 0.8em;  /* arrow size */
	  border-top: 2px solid #006536;  /* thickness, color */
	  border-right: 2px solid #006536;
	  -webkit-transform: rotate(45deg);
	  transform: rotate(45deg);
	}
	
	
	/* 動物病院検索　結果 */

	.search_result_inner {
		width: 100%;
		margin: 0 auto;
    	padding: 0;
		border: none;
	}
	
	.result_title {
		width: 90%;
    	margin: auto;
	}
	
	.result_info {
		margin-bottom: 25px;
		border-bottom: 1px #727171 solid;
	}
	
	.result_info_text {
		width: 90%;
		margin: 0 auto;
	}
	
	li.result_hospital {
		border-top: none;
	}

	li.result_hospital:last-child {
		border-bottom: none;
	}

	.result_hospital {
		width: 90%;
		margin: 0 auto;
	}
	
	.result_inner {
		margin: 10px auto;
	}
	
	.hospital_info {
    	width: 70%;
	}
	
	.address {
		line-height: 50px;
		padding-left: 50px;
	}
	
	.address_icon {
		width: 30px;
		top: 8px;
		background-size: contain;
	}
	
	.tel {
		line-height: 50px;
    	padding-left: 50px;
}
	.tel_icon {
		width: 30px;
		left: 3px;
		top: 10px;
		background-size: contain;
	}
	
	.access {
		width: 30%;
	}
	
	p.map {
		width: 100%;
		padding:  20px 10px 18px 50px;
	}
	
	.map_icon {
		left: 28px;
		top: 18px;
		background-size: contain;
}
	
}

/*ここからタブレットデザイン（縦モード）*/
@media screen and (max-width: 959px){

}

/*ここからスマホデザイン*/
@media screen and (max-width: 559px) {

	/* 共通 */
	
	body {
		font-size: 30px;
	}
	
	/* ヘッダー共通 */
	
	.head_title {
		width: 70%;
	}
	
	/* トップ */
	
	#top_content {
		width: 95%;
	}
	
}

