@charset utf-8;

/*---------------------------
	リセットCSS
---------------------------*/ 

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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;
 outline:0;
 vertical-align:baseline;
 background:transparent;
}

body {
 /* プロジェクトによって変動 */
/* min-width: 1000px;*/
 color: #000;
 line-height: 1.6;
 font-weight: 400;
 font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'YuGothic', '游ゴシック', 'メイリオ', Meiryo, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;

 width: 1583px;
 font-smoothing: antialiased;
 font-variant-numeric: tabular-nums;
 /* safari hover対策 */
 -webkit-font-smoothing: antialiased;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
 display:block;
}

ul, ol {
 list-style:none;
}

blockquote, q {
 quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
 content:'';
 content:none;
}

a {
 margin:0;
 padding:0;
 vertical-align:baseline;
 text-decoration: none;
 color: inherit;
}

/* change colours to suit your needs */
ins {
 background-color:#ff9;
 color:#000;
 text-decoration:none;
}

/* change colours to suit your needs */
mark {
 background-color:#ff9;
 color:#000;
 font-style:italic;
 font-weight:bold;
}

del {
 text-decoration: line-through;
}

abbr[title], dfn[title] {
 border-bottom:1px dotted;
 cursor:help;
}

table {
 border-collapse:collapse;
 border-spacing:0;
}

/* change border colour to suit your needs */
hr {
 display:block;
 height:1px;
 border:0;
 border-top:1px solid #cccccc;
 margin:1em 0;
 padding:0;
}

input, select {
 vertical-align:middle;
}

img {
 vertical-align: bottom;
 line-height: 1.0;
}

button {
 line-height: 1.0;
 background-color: transparent;
 border: none;
 cursor: pointer;
 outline: none;
 padding: 0;
 appearance: none;
}


body {
	width: 100%;
	margin: 0;
}

/*---------------------------
	桜舞う
---------------------------*/ 
/* 桜を表示するコンテナのスタイル */
.cherry-blossom-container {
  position: relative;
  width: 100%; /* コンテナの横幅 */
  overflow: hidden; /* コンテナからはみ出した要素を隠す */
}

/* 桜の花びらのスタイル */
.petal {
  position: absolute;
  background-color: #ffc0cb; /* 花びらの色 */
  border-radius: 150% 0 150% 0;
  animation: animate-petal 10s linear;
}

.petal::after {
  content: "";
  position: absolute;
  top: -14%;
  left: -10%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffc0cb;
  border-radius: 150% 0 150% 0;
  transform: rotate(15deg);
}

/* 花びらが降るアニメーション */
@keyframes animate-petal {
  0% {
    top: 0;
    opacity: 0;
    transform: rotate(0deg);
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 100vh;
    transform: rotate(3000deg);
  }
}

/*---------------------------
	header
---------------------------*/
header {
    height: 300px;
}

.haikei {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.logo {
    position: absolute;
    top: 121px;
    left: 100px;
}

header h1 {
    position: absolute;
    top: 138px;
    left: 165px;
    color: #F3AF7F;
}
/*---------------------------
	body
---------------------------*/
.wrapper {
    width: 1183px;
    margin: 0 auto;
}

.introduction h2,
.use h2,
.flow h2,
.accece h2 {
    color: #C0DDD2;
    display: table;
    margin: 0 auto;
    width: 400px;
    margin-top: 50px;
    text-align: center;
}

/*---------------------------
	introduction
---------------------------*/
.rehabilitation {
    width: 375px;
    margin-right: 10px;
}

.wrapper-a {
    display: flex;
    padding-left: 150px;
}

.introduction-text {
    width: 516px;
    padding-top: 75px;
    line-height: 30px;
}

/*---------------------------
	use
---------------------------*/
.use ul {
    padding-left: 360px;
}

.use li {
    list-style: disc;
    color: #E1A77F;
    line-height: 3;
}

.caregiver {
    width: 175px;
}

.wapper-b {
    display: flex;
}

.flow table {
    margin-left: 230px;
    margin-top: 20px;
}

.flow table tr,
.flow table th:nth-child(3),
.flow table td:nth-child(3){
    border: 1px solid #000000;
}

.flow table td {
    background: rgba(241, 230, 140, 0.5);
}

.flow table td:nth-child(2) {
    width: 198px;
}

.flow table th {
    background: rgba(241, 230, 140, 0.9);
}

.flow tr:nth-child(odd) td {
	background: #fff;
}

/*---------------------------
	accece
---------------------------*/
.accece address {
    font-weight: 600;
    font-style: normal;
    padding-top: 60px;
}

.map {
    margin-right: 20px;
}

.wapper-c {
    display: flex;
    margin-top: 30px;
    padding-left: 425px;
}

/*---------------------------
	accece
---------------------------*/
footer {
    margin-top: 50px;
    display: block;
    height: 30px;
    width: 100%;
    background: #000000;
    color: #ffffff;
    text-align: center;
}

/*---------------------------
	Responsible
---------------------------*/
@media screen and (max-width: 479px) {
    .wrapper {
        width: 100%;
    }
    
    .haikei {
        width: 100%;
    }
    
    .logo {
        position: absolute;
        top: 121px;
        left: 30px;
        width: 11%;
    }
    
    header h1 {
        position: absolute;
        top: 138px;
        left: 85px;
        color: #F3AF7F;
        font-size: 1.0em;
    }
    
    .introduction,
    footer {
        max-width: 100%
    }
    
    .introduction h2 {
        color: #C0DDD2;
        display: table;
        margin: 0 auto;
        width: 265px;
        margin-top: 50px;
        text-align: center;
        margin-right: auto;
        margin-left: auto;
        
    }
    
    .wrapper-a {
        padding-left: 0;
    }
    
    .rehabilitation {
        display: none;
    }
    
    .introduction-text {
        font-size: 1em;
        padding: 30px;
    }
    
    .wapper-b ul {
        padding-left: 0;
    }
    
    .use h2 {
        width: 265px
    }
    
    .wapper-b {
        margin-left: 30px;
    }
    
    .caregiver {
        display: none;
    }
    
    .flow h2 {
        width: 80%;
    }
    
    .flow table {
        margin: 0 15px;
        width: 95%;
    }
    
    .flow table td:nth-child(2){
        width: 40%;
    }
    
    .accece h2 {
        width: 80%;
    }
    
    .wapper-c {
        padding-left: 0;
    }
    
    .map {
      max-width: 50%;
    }
    
    .accece address {
      width: 50%;
      padding-top: 0;
      font-size: 0.8em;
    }
}

@media screen and (max-width: 768px) {
    .wrapper {
        width: 100%;
    }
    
    .wapper-b {
        width: 80%;
        margin: 0 auto;
    }
    
    .haikei {
        width: 100%;
    }
    
    .rehabilitation {
        display: none;
    }
    
    .use {
        margin: 0 auto;
        display: block;
    }
    
    .use ul {
        padding-left: 0;
    }
    
    .flow table {
        margin-left: auto;
        margin-right: auto;
    }
    
    .wapper-c {
        padding-left: 0;
        margin-left: 15px;
    }
    
    .flow table td:nth-child(2),
    .flow table td:nth-child(3) {
        width: 40%;
    }
}