@charset "utf-8";
/*
a[href="about_us.html#anc01"] ,
a[href="about_us.html#anc02"] ,
a[href="about_us.html#anc03"] ,
a[href="about_us.html#anc04"] ,
a[href="about_us.html#anc05"] ,
a[href="about_us.html"] ,
a[href="adoption.html"] ,
a[href="adoption.html#anc02"] ,
a[href="adoption.html#anc03"] ,
a[href="birth_mother1.html"] ,
a[href="birth_mother1.html#section02"] ,
a[href="birth_mother1.html#section03"] ,
a[href="shelter.html"] ,
a[href="foster_parents.html"] ,
a[href="foster_parents.html#anc02"] ,
a[href="faq.html"] ,
a[href="contact_sos.html"] ,
a[href="sent_sos.html"] ,
a[href="contact_foster.html"] ,
a[href="sent_foster.html"] {pointer-events: none;}

/* -----------------------------------------------------------
　共通・可変画像（親要素幅まで）
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  .sp-cont {display:none;}
}

@media screen and (max-width: 768px){
  .pc-cont {display:none;}
}

.fluid_image {
  max-width:100%;
  height: auto;
  width /***/:auto;
}

.fcRed {
  color:#d77969;
}

.fcPink {
  color:#f490a9;
}

.fwBold {
  font-weight:bold;
}

.fs120 {
  font-size:120%;
}

.left {
  float: left;
}

.right {
  float: right;
}

.center {
  text-align: center;
}

.clear {
  clear: both;
}

address {
  font-style: normal;
}

.hidden {
  font-size: 0;
  text-indent: -999999px;
  height: 0;
}

/* :::::::::: テキストリンク :::::::::: */

section p a {
  text-decoration:underline;
  color:#d77969;
}

section p a:hover {
  text-decoration:underline;
  color:#CCCCCC;
}

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】全体 :::::::::: */
  
  body {
	font-family: "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size:16px;
    color:#515151;
	background:#fff9fa;
  }  
    
  .pc_cont {
  }
  
  .sp_cont {
    display:none;
  }
  
  figure {
    margin:0 auto 1.7em;
    text-align:center;
  }

    
  /* :::::::::: 【PC】画像・右寄せ回り込み :::::::::: */
  
  .pc_image_right {
    margin:0 0 1.7em 1.7em;
    float:right;
  }
  
  /* :::::::::: 【PC】画像・左寄せ回り込み :::::::::: */
  
  .pc_image_left {
    margin:0 1.7em 1.7em 0;
    padding:0;
    float:left;
  }
  
  /* ::::::::::【PC】 ホバー時opacity :::::::::: */        
  
  .hover_img {
    opacity:1;
    -webkit-transition: 0.5s;    
    -moz-transition: 0.5s;
    transition: 0.5s;
  }
  
  .hover_img:hover {
    opacity:0.6;
    -webkit-transition: 0.5s;    
    -moz-transition: 0.5s;
    transition: 0.5s;
  }
}

@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】全体・画像 :::::::::: */
  
  body {
    font-family: "Rounded Mplus 1c", "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic", sans-serif; 
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-size:4.375vw;
    color:#515151;
	background:#fff9fa;
  }  

  .pc_cont {
    display:none;
  }
  
  .sp_cont {
  }
  
  figure {
    margin:0 auto 5%;
    text-align:center;
	max-width:75%;
  }  
}


/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】ヘッダー :::::::::: */
  
  header {
    width:100%;
    min-width:1050px;
    height:200px;
    margin:0;
		background:#FFF;
  }
  
  header .header_box {
		position:relative;
    width:1000px;
    height:170px;
    margin:0 auto;
		font-weight:bold;
		display: flex;
		align-items: center;
		justify-content: space-between;
  }
  
  header .header_box .h_logo {
    padding:0;
		width: 410px;
  }
  
  header .header_box .h_qr {
		text-align: center;
    font-size: 13px;
		padding: 13px 0 0 0;
  }
  header .header_box .h_qr img {
		width: 100px;
		height: 100px;
  }
  
  header .header_box .h_detail {
		width: 390px;
  }
  
  header .header_box .h_designation {
		text-align: right;
		font-size:13px;
		margin: 0 1.2em 0.5em 0;
  }
  header .header_box .tel  {
    font-size:14px;
		line-height:150%;
		width: 350px;
		height:auto;
		margin:0 auto 3%;
		background:#fff4f6;
		border-radius:0.5em;
		padding:1%;
		border:solid 2px #fc9cb5;
		font-weight:bold;
		text-align:center;
		box-shadow:0.2em 0.2em 0 #f0f0f0;
  }
  header .header_box .tel span {color:#f86f93;}
  header .header_box .tel .h_tel {
		font-size:26px;
		display:block; 
		color:#f86f93;
  }
  header .header_box .h_mail  {
		font-size:13px;
  }
  header .header_box .h_mail span {  
    color:#f98976;
  } 
  header .header_box .h_mail a {  
    color:#f98976;
  }   
  
  /* :::::::::: 【PC】メインナビ :::::::::: */
  
  nav {
    width:100%;
	min-width:1050px;
    height:30px;
	clear:both;
  }
  
  nav p {display:none;}
  
  nav > ul {
    width:1000px;
    height: 30px;
    margin:0 auto;
  }
  
  nav > ul > li {
	position:relative;
    width:auto;
	height:30px;
    float:left;
	text-align:center;
	z-index:10;
  }
  
  nav > ul > li > a {
	box-sizing:border-box;
	display:block;
	width:100%;
	height:100%;
    color:#515151;
	text-decoration:none;
	line-height:30px;
  }
  
  nav > ul > li:nth-child(1) a {padding-right:1.8em;}
  
  nav ul .sub_menu span {
	position:relative;
	box-sizing:border-box;
	display:block;
	width:100%;
	height:30px;
	cursor:pointer; 
	padding:0 2.2em 0 0;
	line-height:30px;
	z-index:10;
  }
  
  nav ul .sub_menu span::after {
	position:absolute;
	display:block;
	content:"";
	width:0.5em;
	height:0.5em;
	border-right:solid 2px #ff8f7c;
	border-bottom:solid 2px #ff8f7c;
	transform:rotate(45deg);
	top:0.5em;
	right:1.3em;
  } 
  
  nav ul .sub_menu ul {
	display:none;
	position:absolute;
	width:250px;
	height:auto; 
	z-index:99;
	top:30px;
	left:0;
  }
  
  nav ul .sub_menu ul li {
	width:100%;
	height:30px;
	line-height:30px;
	font-size:14px;
	text-align:left;
	margin:0 0 2px;
  }
  
  nav ul .sub_menu ul li a {
	box-sizing:border-box;
	display:block;
	width:100%;
	height:100%;
	color:#515151;
	text-decoration:none;
	background:#ffe9ed;  
	padding:0 0.75em;
  }
}

@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】ヘッダー :::::::::: */  
  
  header {
    width:100%;
    height:auto;
    margin:0 ;
		background:#FFF;
		position:relative;
		padding:1.5em 0 5%;
		z-index:99;
  }
  
  header .header_box {
		width:100%;
	}
  header .header_box a {color:inherit;text-decoration:none;}
  header .header_box h1 {
    width:100%;
		margin:0 auto 3%;
		text-align:center;
  }
	
	header .header_box .h_qr {
	}
	header .header_box .h_qr .sp-cont a {
		display: block;
		width:80%;
		height:auto;
		margin:0 auto 3%;
		padding: 1.5% 1%;
		background:#fff;
		border-radius:0.5em;
		line-height:120%!important;
		border:solid 2px #eee;
		font-weight:bold;
		text-align:center;
		color: #00B800;
		box-shadow:0.2em 0.2em 0 #f0f0f0;
	}
  
  header .header_box .h_designation {
    position:absolute;
	top:0;
	left:0;
	right:0;
	font-size:0.8em;
	text-align:center;
	width:100%;
  }
  
  header .header_box .tel {
	width:80%;
	height:auto;
	margin:0 auto 3%;
	background:#fff4f6;
	border-radius:0.5em;
	line-height:120%!important;
	padding:1%;
	border:solid 2px #fc9cb5;
	font-weight:bold;
	text-align:center;
	font-size:0.9em;
	box-shadow:0.2em 0.2em 0 #f0f0f0;
  }
  
  header .header_box .tel span {color:#f86f93;}
  header .header_box .tel .h_tel {
	font-size:1.6em;
	display:block; 
	color:#f86f93; 
	margin:2% 0 0;
	
  }
 
  header .header_box .h_mail  {
	font-size:0.9em;
	text-align:center;
	margin:0 auto;
  }
  
  header .header_box .h_mail span {  
    color:#f98976;
  } 
  
  header .header_box .h_mail a {  
    color:#f98976;
	text-decoration:underline;
  } 

  /* :::::::::: 【SP】メインナビ :::::::::: */  
  
  nav {
    position:absolute;
    top:5.5em;
    height:auto;
	margin:auto;
    left:0;
	right:0;
    z-index:999;
  }
	
  nav p {	
    position:absolute;
	box-sizing:border-box;
    width:3.6em;
    height:3.6em;
    padding:2.2em 0 0;
    font-size:0.8em;
    right:2%;
    top:-4.5em;
    color:#515151;
    text-align:center;
    font-weight:bold;
  }
  
  nav p span::before {
    content:'';
    height:0.15em;
    width:2.4em;
    background:#515151;
    display:block;
    position:absolute;
    margin:auto;
    top:0.5em;
    left:0;
    right:0;
    box-shadow:0 0.65em #515151;
    transition: 0.5s;
  }
	
  nav p span::after {
    content:'';
    height:0.15em;
    width:2.4em;
    background:#515151;
    display:block;
    position:absolute;
    margin:auto;
    top:1.7em;
    left:0;
    right:0;
    transition: 0.5s;
  }	

  nav p.open span::before{
    width:2.2em;
    transform:rotate(315deg);
    top:1.1em;
    box-shadow:none;
    transition: 0.5s;
    left:0;
    right:0;
  }
	
  nav p.open span::after{
    width:2.2em;
    transform:rotate(-315deg);
    top:1.1em;
    transition: 0.5s;
    left:0;
    right:0;
  }
	
  nav > ul {
	box-sizing:border-box;
    display:none;
    background:#FFF;
    padding:0;
	border:solid 1px #CCC;
	border-bottom:none;
	z-index:99;
  }
	
  nav > ul > li {
    width:100%;
    height:auto;
    border-bottom:solid 1px #CCC;
  }
	
  nav > ul > li a ,
  nav > ul > li.sub_menu span {  
    position:relative;
    box-sizing:border-box;
    display:block;
    width:100%;
    height:100%;
    padding:0.6em;
    color:#515151;
    font-size:1.1em;
	text-decoration:none;
  }
  
  nav ul > li.sub_menu span::after { 
    position:absolute;
	display:block;
	content:"";
	width:0.5em;
	height:0.5em;
	border-bottom:solid #ff836e 3px;
    border-right:solid #ff836e 3px;
	margin:auto;
	top:0;
	bottom:0;
	right:0.75em;
    transition:0.5s;
	transform:rotate(45deg);
  } 
	
  nav ul > li.sub_menu span.open::after { 
   transform:rotateX(180deg) rotate(45deg);
   transition:0.5s;
  } 
  
  nav > ul > li > ul {
	background:#ffe9ed;
	margin:0 auto 3%; 
	display:none; 
  }
  
  nav > ul > li > ul.open {display:block;}
  
  nav > ul > li > ul > li {
    width:90%;
    height:auto;
	margin:0 auto;
    border-top:dotted 2px #FFFFFF;
	font-size:0.9em;
  }  

}

/* -----------------------------------------------------------
　メインコンテンツ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】メインコンテンツ・共通要素 :::::::::: */  
  
  .main {
    display:block;
    width:800px;
    height:auto;
    overflow:hidden;
	padding:0 125px;
    margin:0 auto 40px;
  }
  
  .main .p_title {
	position:relative;
	width:100%;
	height:290px;
	margin:0;
	text-align:center; 
	line-height:1.5em;
  } 
  
  .main .p_title p { 
    position:absolute; 
    display:block;
	color:#96655c;
	font-size:32px;
	line-height: 38px;
	width:100%;
	height:96px;
	text-align:center;
	margin:auto;
	top:0;
	bottom:0;
  }   
  
  .main .p_title p::after { 
    position:absolute;
	display:block;
	content:"";
	width:95px;
	height:2px;
	background:#f3e0c7;
	bottom:-30px;
	margin: auto;
	left:-0;
	right:0;
  }
  
  .main section {
    height:auto;
    overflow:hidden;
    margin: 0 auto 50px;
    text-align:left;
    word-wrap: break-word;
  }
  
  .main section .h3_box {
    margin:0 auto 40px;
  }

  .main section .h3_box:nth-of-type(1) {
    margin:30px auto 40px;
  }  
  
  .main section .h3_box .h4_box {
    margin:0 auto 30px;
  } 
  
  .main section .h3_box .h4_box:nth-of-type(1) {
    margin:20px auto 30px;
  }     

  .main section h2 {
	font-size:24px;
	color:#d77969;
    margin:0 0 15px;
	font-weight:500;
	line-height:1.3em;
	font-family: "Rounded Mplus 1c";
  }
  
  .main section h2::before {
	display:inline-block;
	content:"";
	width:1.2em;
	height:1.3em;
	background:url(../images/template/bg_h2.png) no-repeat bottom left;
  }
	
  .main section .h3_box h3 {
	font-size:22px;
	color:#fc9cb5;
    margin:0 0 15px;
	padding:0 0 8px;
	font-weight:500;
	line-height:1.2em;  
    background:url(../images/template/bg_h3.png) repeat-x bottom left;
		font-family: "Rounded Mplus 1c";
  }
  
  .main section .h3_box .h4_box h4 {
	border-bottom:solid 2px #faebea;
    margin:0 0 5px;
		font-family: "Rounded Mplus 1c";
  }
  
  .main section .h3_box .h4_box h4 span { 
    display:inline-block; 
    font-size:20px;
    color:#faa395;
    font-weight:500;
	background:#faebea;
	padding:0.2em 0.5em;
  }
    
  .main section:last-child ,
  .main section .h3_box:last-child,
  .main section .h3_box .h4_box:last-child {  
    margin-bottom:0;
  }
    
  .main section p {
    margin:0 0 1em;
    line-height:1.2em;
  }
  
  .main section ol {
    margin:0 0 1em 1.5em;
  }
  
  .main section ol li {
    list-style-type:decimal;
    line-height:1.2em;
  }
  
  .main ul {
    margin:0 0 1.5em;
  }
  
  .main ul li {
    line-height:1.5em;
  }
  
  .main ul.mark {
    margin:0 0 1em 1.5em;
	list-style-type:disc;
  }
  
  .main ul.mark li {
    line-height:1.2em;
	margin:0 0 10px;
  }  
  
  .main dl {
    overflow:hidden;
    margin:0 0 1em;
  }
  
  .main dl dt{
    font-size:1em;
    line-height:1.2em;
  }
  
  main dl dd{
    font-size:1em;
    line-height:1.2em;
  }
  
  .main section .section_head {
    margin-bottom:2em;
  }
  
  .main section p:last-child,  
  .main section ul:last-child,  
  .main section ol:last-child,  
  .main section dl:last-child{ 
    margin-bottom:0;
  }  
    
}

@media screen and (max-width: 768px){

  /* :::::::::: 【SP】メインコンテンツ・共通要素 :::::::::: */
    
  .main {
    display:block;
    width:92%;
    height:auto;
    overflow:hidden;
    margin:0 auto 10%;
  }
  
  .main .p_title {
	position:relative;
	width:100%;
	height:auto;
	margin:0;
	padding:4.5em 0;
	margin:0;
	text-align:center; 
	line-height:1.5em;
  } 
  
  .main .p_title p { 
    display:block;
	color:#96655c;
	font-size:1.5em;
	width:100%;
	height:auto;
	line-height:1.3em;
	text-align:center;
	margin:auto;
	top:0;
	bottom:0;
  }   
  
  .main .p_title p::after { 
    position:absolute;
	display:block;
	content:"";
	width:3em;
	height:2px;
	background:#f3e0c7;
	bottom:2.5em;
	margin: auto;
	left:-0;
	right:0;
  }
  
  .main section {
    height:auto;
    overflow:hidden;
    margin: 0 auto 10%;
    text-align:left;
    word-wrap: break-word;
  }
  
  .main section .h3_box {
    margin:0 auto 8%;
  }

  .main section .h3_box:nth-of-type(1) {
    margin:6%x auto 8%;
  }  
  
  .main section .h3_box .h4_box {
    margin:0 auto 6%;
  } 
  
  .main section .h3_box .h4_box:nth-of-type(1) {
    margin:4% auto 6%;
  }     

  .main section h2 {
	font-size:1.3em;
	color:#d77969;
    margin:0 0 5%;
	font-weight:500;
	line-height:1.1em;
  }
  
  .main section h2::before {
	display:inline-block;
	content:"";
	width:1.2em;
	height:1.1em;
	background:url(../images/template/bg_h2.png) no-repeat bottom left;
	background-size:100%;
  }
	
  .main section .h3_box h3 {
	font-size:1.2em;
	color:#fc9cb5;
    margin:0 0 4%;
	padding:0 0 8px;
	font-weight:500;
	line-height:1.1em;  
    background:url(../images/template/bg_h3.png) repeat-x bottom left;
	background-sizer:100%;
  }
  
  .main section .h3_box .h4_box h4 {
	border-bottom:solid 2px #faebea;
    margin:0 0 5px;
  }
  
  .main section .h3_box .h4_box h4 span { 
    display:inline-block; 
    font-size:1.1em;
    color:#faa395;
    font-weight:500;
	background:#faebea;
	line-height:1.1em;
	padding:0.2em 0.5em;
  }
    
  .main section:last-child ,
  .main section .h3_box:last-child,
  .main section .h3_box .h4_box:last-child {  
    margin-bottom:0;
  }
    
  .main section p {
    margin:0 0 1em;
    line-height:1.2em;
  }
  
  .main section ol {
    margin:0 0 1em 1.5em;
  }
  
  .main section ol li {
    list-style-type:decimal;
    line-height:1.2em;
  }
  
  .main ul {
    margin:0 0 1.5em;
  }
  
  .main ul li {
    line-height:1.5em;
  }
  
  .main ul.mark {
    margin:0 0 1em 1.5em;
	list-style-type:disc;
  }
  
  .main ul.mark li {
    line-height:1.2em;
	margin:0 0 10px;
  }  
  
  .main dl {
    overflow:hidden;
    margin:0 0 1em;
  }
  
  .main dl dt{
    font-size:1em;
    line-height:1.2em;
  }
  
  main dl dd{
    font-size:1em;
    line-height:1.2em;
  }
  
  .main section .section_head {
    margin-bottom:2em;
  }
  
  .main section p:last-child,  
  .main section ul:last-child,  
  .main section ol:last-child,  
  .main section dl:last-child{ 
    margin-bottom:0;
  }    
}

/* -----------------------------------------------------------
　フッタ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】フッタ :::::::::: */  
  
  footer {
    width: 100%;
    min-width:1050px;
    clear: both;
    height: 100px;
    overflow:hidden;
    background:#fcecef;
  }
  
  footer .copyright{
    width:100%;
    height: auto;
    text-align: center;
    font-size:13px;
    line-height:25px;
    color:#515151;
    margin:10px 0 0;
  }
  
  footer .copyright a {
    color:#515151;
    text-decoration:none;
  }
  
  .Pagetop{
    width:71px;  
    height:48px;  
    position: fixed;
    bottom:70px;
    right:10px;
  }
}
  
@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】フッタ :::::::::: */  
    
  footer {
    width: 100%;
    clear: both;
    height: auto;
  }

  footer .copyright{
    width:100%;
    height: auto;
    text-align: center;
    font-size: 0.8em;
    line-height:1.1em;
    color:#515151;
    margin:0;
    padding:0.5em 0;
    clear:both;
    background:#fdf1f3;
  }
  
  footer .copyright a {
    color:#515151;
    text-decoration:none;
  }
  
  .Pagetop{
    position: fixed;
    width:15%;
    bottom: 20px;
    right:10px;
  }
}
