@tailwind base;
@tailwind components;
@tailwind utilities;

/*

@layer components {
  .btn-primary {
    @apply py-2 px-4 bg-blue-200;
  }
}

*/
@media (min-width: 992px) and (max-width: 1399px) {
  /*-------------------- General --------------------*/
  .header_underline {
    width: 400px;
    margin: 0px auto;
  }

  #main_container {
    margin-top: 0px;
  }

  #landing_content {
    text-align: right;
    height: 100%;
    width: 100%;
    position: relative;
  }

  #cushion_background {
    position: absolute;
    height: 100%;
    width: 50%;

    left: -135px;
    top: -75%;

    -webkit-transform: skewY(-25deg);
    -moz-transform: skewY(-25deg);
    -ms-transform: skewY(-25deg);
    -o-transform: skewY(-25deg);
    transform: skewY(-25deg);

    background: linear-gradient(#1f6e8f, white);
  }

  #logo_container {
    display: inline;

    position: absolute;
    left: 24%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  #logo {
    width: 325px;
    height: auto;
  }
  #top_pictures {
    display: inline-block;
  }

  /*
  #landing_content_pictures {
    display: inline-block;
    text-align: center;
    padding: 35px;
    padding-top: 70px;
    margin-right: 75px;
  }
  .landing_content_picture {
    display: inline-block;
    height: 200px;
    width: auto;

    margin: 10px;
    border-radius: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }
  */

  /*-------------------- Slogan --------------------*/
  #slogan_container {
    margin-top: 10px;
    padding: 50px 0px;
    text-align: center;
    font-size: 32px;
    color: dimgray;
  }
  #slogan_first_half {
    display: inline-block;
  }
  #slogan_second_half {
    display: inline-block;
  }
  #slogan_to_you {
    color: #005a80;
    font-weight: bold;
  }

  /*-------------------- Gallery Slider --------------------*/
  h1 {
    font-family: 'ALS Script';
    font-size: 70px;
    text-align: center;
    color: whitesmoke;
  }
  #gallery_container {
    /* TODO: すべてのcontainerのpaddingを統一すること */
    padding: 60px 10px;

    background-color: whitesmoke;
    border-top: 1px rgb(180, 180, 180) solid;
    border-bottom: 1px rgb(180, 180, 180) solid;
  }
  #gallery_swiper_header_underline {
    margin-bottom: 0px;
  }
  #gallery_swiper_outer_container {
    z-index: 3;
    background-color: #005a80;
    border: 1px solid whitesmoke;
    margin: 5px;
    padding: 20px;
  }
  #gallery_swiper_inner_container {
    z-index: 4;
    background-color: #005a80;
    border: 1px solid whitesmoke;
    margin: 5px;
    padding: 35px 20px 20px 20px;
  }

  #gallery_swiper_header_underline {
    margin-bottom: 50px;
  }

  .swiper-slide {
    text-align: center;
  }
  .gallery_slider_image {
    border: 1px solid #005a80;
    width: 300px;
    height: auto;

    display: inline;

    text-align: center;
    margin: 0px 10px auto;
    margin-bottom: 40px;
  }
  #gallery_swiper_scrollbar {
    background-color:rgb(155, 155, 155);
  }

  .swiper-scrollbar-drag{
    background-color: whitesmoke !important;
  }

  /*-------------------- Profile --------------------*/
  #profile_container {
    padding: 60px 50px;
    background-color: #005a80;
  }
  #profile_card_header {
    color: rgb(239, 239, 239);
  }
  #profile_header_underline {
    margin-bottom: 35px;
  }

  /* 真ん中の線を跨るようにすること */
  #keiko_name {
    margin-top:40px;
    text-align: center;
    color: dimgray;
    font-size: 30px;
    text-shadow: 3px 1px 3px rgba(0,0,0,0.1);
  }
  #profile_card_katagaki {
    font-weight: italic;
    color: #005a80;
    font-size: 30px;
  }

  #profile_card {
    height: 700px;
  }

  #profile_picture_image {
    border-radius: 10px;
    width: 450px;
    height: auto;
    margin: 0px auto;

    position: relative;
    top: 40%;
    transform: translateY(-50%);

    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  #profile_card_upper_half {
    background-color: whitesmoke;
    width: 50%;
    height:700px;
    display: inline-block;
    float: left;

    border-radius: 10px 0px 0px 10px;
  }

  #profile_card_lower_half {
    padding: 15px;
    background-color: rgb(231, 231, 231);
    width: 50%;
    height: 700px;
    display: inline-block;
    float: right;

    border-radius: 0px 10px 10px 0px;
  }
  .profile_item {
    padding: 7px 0px;
  }
  .profile_description_header {
    margin-left: 20px;
    font-size: 20px;
    font-style: italic;
    color: rgb(95, 95, 95)
  }
  .profile_header_underline {
    width: 35%;
    margin-left: 15px;
    height: 2px;
    background-color: rgb(95, 95, 95);
  }
  .profile_text {
    padding: 10px;
    color: #005a80;
  }

  /*-------------------- Short Details --------------------*/
  #short_details_container {
    padding: 60px 40px;
  }
  .short_detail {
    display: flex;
    padding: 10px 0px;
  }
  .short_detail_header {
    display: inline;
    font-weight: bold;
    color: #005a80;
    margin-left: 15px;
  }
  .short_detail_icon {
    display: inline;
    vertical-align: middle;
  }
  .short_detail_text {
    display: inline-block;
    padding: 40px 20px;
    margin-left: 20px;
    width: 50%;

    font-size: 20px;
  }
  .short_detail_description {
    margin-top: 20px;
  }
  .short_detail_image {
    width: 50%;
    margin: 0px auto;
    text-align: center;
    display: inline-block;
  }
  .quick_point_image {
    display: inline-block;
    width: 425px;
    height: auto;
    text-align: center;

    position: relative;
    top: 50%;
    transform: translateY(-50%);

    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  .short_detail_underline {
    width: 75%;
    margin-top: 5px;
    margin-bottom: 5x;

    background-color: rgb(207, 207, 207);
    height: 2px;
  }

  /*-------------------- Pricing --------------------*/
  #pricing_container {
    padding: 20px 0px;
    background-color: #005a80;
    color:#005a80;

    /* これがないと下の方に線が出ちゃう */
    border: #005a80 1px solid
  }
  #pricing_header_underline {
    margin-bottom: 30px;
  }
  #pricing_inner_container {
    width: 90%;
    height: 650px;
    margin: 0px auto;
    padding: 20px;
    background-color: whitesmoke;
    border-radius: 10px;
  }
  #menu_header_image {
    height: 150px;
    width: auto;
    margin: 0px auto;
  }
  .pricing_table {
    margin: 0px auto;
  }

  #price_table_individual_container {
    width: 47%;
    float: left;
  }
  #price_table_place_container {
    width: 47%;
    float: right;
  }

  table {
    padding: 10px;
    border-radius: 10px;
    width: 100%;
    border-collapse: collapse;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);

    /*
      trのborder-radiusは10pxなのにbackground-colorは四角として表示されるから、
      これを入れるとborder-radiusはちゃんと丸っこく表示されます。
      https://stackoverflow.com/questions/6312067/border-radius-background-color-cropped-border
    */
    overflow: hidden;
  }
  th {
    padding: 10px 0px;
    border-radius: 10px 10px 0px 0px;
    background-color: #005a80;
    color: whitesmoke;
    text-align: left;
    padding-left: 20px;
    font-style: italic;
  }
  tr {
    text-align: center;
  }
  tr:nth-child(odd) {
    background-color: rgb(231, 231, 231);
  }
  tr:nth-child(even) {
    background-color: rgb(206, 206, 206);
  }
  td {
    padding: 7px 0px;
  }
  td:nth-child(1) {
    text-align: left;
    padding-left: 20px;
  }
  td:nth-child(2) {
    text-align: right;
    padding-right: 20px;
  }

  #tax_details {
    display: inline-block;
    margin: 0px auto;
    padding: 20px 0px 50px 0px;
  }
  #tax_details_text {
    display: block;
    text-align: center;
    font-size: 17px;
    margin: 0px auto;
    margin-top: 15px;

    /* なぜこうなってるか分からない */
    position: relative;
    left: 40%;
  }
  #extra_pricing_details {
    text-align: center;
    margin-top: 40px;
    font-size: 17px;
    float: left;
  }

  /*-------------------- Contact Information --------------------*/
  #contact_information_container {
    background-color: #005a80;
    color: whitesmoke;
    padding: 50px 40px 100px 40px;
    text-align: center;
  }

  #contact_information_flex_container {
    display: flex;
    justify-content: space-around;
  }
  .contact_information_flex_item {
    width: 30%;
  }

  #contact_information_header_underline {
    margin-bottom: 30px;
  }
  .contact_gray_header {
    background-color: rgb(206, 206, 206);
    text-align: left;

    padding: 7px 0px;
    padding-left: 20px;
    border-radius: 10px;
    color: #005a80;

    font-weight: bold;
    font-style: italic;

    margin-bottom: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }
  .contact_item {
    font-size: 25px;
    margin: 20px 0px;
    padding: 0px 0px;
  }
  .contact_information_comment {
    font-size: 15px;
    padding: 0px 10px 20px 10px;
  }
  #contact_name {
    font-size: 30px;
  }

  #genesis_2_18 {
    display: none;
  }

  /*-------------------- Footer --------------------*/
  #footer {
    height: 100px;
    position: static;
    text-align: right;
    padding: 0px;
    background-color: rgb(231, 231, 231);
  }
  #footer_logo {
    position: relative;
    left: 120px;
    top: -70px;

    height: 150px;
    width: auto;

    border-radius: 100%;
  }
  #footer_icons {
    position: relative;
    top: -133px;
    margin-right: 140px;
  }
  .footer_icon {
    height: 50px;
    width: auto;
    padding: 10px;

    color: #005a80;
  }
}
@media (min-width: 1400px) {
  /*-------------------- General --------------------*/
  .header_underline {
    width: 400px;
    margin: 0px auto;
  }

  #main_container {
    margin-top: 0px;
  }

  #landing_content {
    text-align: right;
    height: 100%;
    position: relative;
  }

  #linear_gradient_background {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: -2;
  }
  #cushion_background {
    position: absolute;
    height: 100%;
    width: 50%;

    left: -135px;
    top: -75%;

    -webkit-transform: skewY(-25deg);
    -moz-transform: skewY(-25deg);
    -ms-transform: skewY(-25deg);
    -o-transform: skewY(-25deg);
    transform: skewY(-25deg);

    background: linear-gradient(#1f6e8f, white);
  }

  #logo_container {
    display: inline;

    position: absolute;
    left: 24%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  #logo {
    width: 325px;
    height: auto;
  }
  #landing_content_pictures {
    display: inline-block;
    text-align: center;
    padding: 35px;
    padding-top: 70px;
    margin-right: 130px;
  }
  .landing_content_picture {
    display: inline-block;
    height: 250px;
    width: auto;

    margin: 10px;
    border-radius: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  /*-------------------- Slogan --------------------*/
  #slogan_container {
    margin-top: 10px;
    padding: 50px 0px;
    text-align: center;
    font-size: 32px;
    color: dimgray;
  }
  #slogan_first_half {
    display: inline-block;
  }
  #slogan_second_half {
    display: inline-block;
  }
  #slogan_to_you {
    color: #005a80;
    font-weight: bold;
  }

  /*-------------------- Gallery Slider --------------------*/
  h1 {
    font-family: 'ALS Script';
    font-size: 70px;
    text-align: center;
    color: whitesmoke;
  }
  #gallery_container {
    /* TODO: すべてのcontainerのpaddingを統一すること */
    padding: 60px 10px;

    background-color: whitesmoke;
    border-top: 1px rgb(180, 180, 180) solid;
    border-bottom: 1px rgb(180, 180, 180) solid;
  }
  #gallery_swiper_header_underline {
    margin-bottom: 0px;
  }
  #gallery_swiper_outer_container {
    z-index: 3;
    background-color: #005a80;
    border: 1px solid whitesmoke;
    margin: 5px;
    padding: 20px;
  }
  #gallery_swiper_inner_container {
    z-index: 4;
    background-color: #005a80;
    border: 1px solid whitesmoke;
    margin: 5px;
    padding: 35px 20px 20px 20px;
  }

  #gallery_swiper_header_underline {
    margin-bottom: 50px;
  }

  .swiper-slide {
    text-align: center;
  }
  .gallery_slider_image {
    border: 1px solid #005a80;
    width: 300px;
    height: auto;

    display: inline-block;

    text-align: center;
    margin: 0px 10px auto;
    margin-bottom: 40px;
  }
  #gallery_swiper_scrollbar {
    background-color:rgb(155, 155, 155);
  }

  .swiper-scrollbar-drag{
    background-color: whitesmoke !important;
  }

  /*-------------------- Profile --------------------*/
  #profile_container {
    padding: 60px 50px;
    background-color: #005a80;
  }
  #profile_card_header {
    color: rgb(239, 239, 239);
  }
  #profile_header_underline {
    margin-bottom: 35px;
  }

  /* 真ん中の線を跨るようにすること */
  #keiko_name {
    margin-top:40px;
    text-align: center;
    color: dimgray;
    font-size: 30px;
    text-shadow: 3px 1px 3px rgba(0,0,0,0.1);
  }
  #profile_card_katagaki {
    font-weight: italic;
    color: #005a80;
    font-size: 30px;
  }

  #profile_card {
    height: 700px;
    margin: 0px 50px;
  }

  #profile_picture_image {
    border-radius: 10px;
    width: 450px;
    height: auto;
    margin: 0px auto;

    position: relative;
    top: 40%;
    transform: translateY(-50%);

    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  #profile_card_upper_half {
    background-color: whitesmoke;
    width: 50%;
    height:700px;
    display: inline-block;
    float: left;

    border-radius: 10px 0px 0px 10px;
  }

  #profile_card_lower_half {
    padding: 15px;
    background-color: rgb(231, 231, 231);
    width: 50%;
    height: 700px;
    display: inline-block;
    float: right;

    border-radius: 0px 10px 10px 0px;
  }
  .profile_item {
    padding: 7px 0px;
  }
  .profile_description_header {
    margin-left: 20px;
    font-size: 20px;
    font-style: italic;
    color: rgb(95, 95, 95)
  }
  .profile_header_underline {
    width: 35%;
    margin-left: 15px;
    height: 2px;
    background-color: rgb(95, 95, 95);
  }
  .profile_text {
    padding: 10px;
    color: #005a80;
  }

  /*-------------------- Short Details --------------------*/
  #short_details_container {
    padding: 60px 40px;
  }
  .short_detail {
    display: flex;
    padding: 10px 0px;
  }
  .short_detail_header {
    display: inline;
    font-weight: bold;
    color: #005a80;
    margin-left: 15px;
  }
  .short_detail_icon {
    display: inline;
    vertical-align: middle;
  }
  .short_detail_text {
    display: inline-block;
    padding: 40px 20px;
    margin-left: 120px;
    width: 50%;

    font-size: 20px;
  }
  .short_detail_description {
    margin-top: 20px;
  }
  .short_detail_image {
    width: 50%;
    margin: 0px auto;
    text-align: center;
    display: inline-block;
  }
  .quick_point_image {
    display: inline-block;
    width: 425px;
    height: auto;

    position: relative;
    top: 50%;
    transform: translateY(-50%);

    border-radius: 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  .short_detail_underline {
    width: 90%;
    margin-top: 5px;
    margin-bottom: 5x;

    background-color: rgb(207, 207, 207);
    height: 2px;
  }

  /*-------------------- Pricing --------------------*/
  #pricing_container {
    padding: 20px 0px;
    background-color: #005a80;
    color:#005a80;

    /* これがないと下の方に線が出ちゃう */
    border: #005a80 1px solid
  }
  #pricing_header_underline {
    margin-bottom: 30px;
  }
  #pricing_inner_container {
    width: 90%;
    height: 650px;
    margin: 0px auto;
    padding: 20px;
    background-color: whitesmoke;
    border-radius: 10px;
  }
  #menu_header_image {
    height: 150px;
    width: auto;
    margin: 0px auto;
  }
  .pricing_table {
    margin: 0px auto;
  }

  #price_table_individual_container {
    width: 47%;
    float: left;
  }
  #price_table_place_container {
    width: 47%;
    float: right;
  }

  table {
    padding: 10px;
    border-radius: 10px;
    width: 100%;
    border-collapse: collapse;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);

    /*
      trのborder-radiusは10pxなのにbackground-colorは四角として表示されるから、
      これを入れるとborder-radiusはちゃんと丸っこく表示されます。
      https://stackoverflow.com/questions/6312067/border-radius-background-color-cropped-border
    */
    overflow: hidden;
  }
  th {
    padding: 10px 0px;
    border-radius: 10px 10px 0px 0px;
    background-color: #005a80;
    color: whitesmoke;
    text-align: left;
    padding-left: 20px;
    font-style: italic;
  }
  tr {
    text-align: center;
  }
  tr:nth-child(odd) {
    background-color: rgb(231, 231, 231);
  }
  tr:nth-child(even) {
    background-color: rgb(206, 206, 206);
  }
  td {
    padding: 7px 0px;
  }
  td:nth-child(1) {
    text-align: left;
    padding-left: 20px;
  }
  td:nth-child(2) {
    text-align: right;
    padding-right: 20px;
  }

  #tax_details {
    display: inline-block;
    margin: 0px auto;
    padding: 20px 0px 50px 0px;
  }
  #tax_details_text {
    display: block;
    text-align: center;
    font-size: 17px;
    margin: 0px auto;
    margin-top: 15px;

    /* なぜこうなってるか分からない */
    position: relative;
    left: 40%;
  }
  #extra_pricing_details {
    text-align: center;
    margin-top: 40px;
    font-size: 17px;
    float: left;
  }

  /*-------------------- Contact Information --------------------*/
  #contact_information_container {
    background-color: #005a80;
    color: whitesmoke;
    padding: 50px 40px 100px 40px;
    text-align: center;
  }

  #contact_information_flex_container {
    display: flex;
    justify-content: space-around;
  }
  .contact_information_flex_item {
    width: 30%;
  }

  #contact_information_header_underline {
    margin-bottom: 30px;
  }
  .contact_gray_header {
    background-color: rgb(206, 206, 206);
    text-align: left;

    padding: 7px 0px;
    padding-left: 20px;
    border-radius: 10px;
    color: #005a80;

    font-weight: bold;
    font-style: italic;

    margin-bottom: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }
  .contact_item {
    font-size: 25px;
    margin: 20px 0px;
    padding: 0px 0px;
  }
  .contact_information_comment {
    font-size: 15px;
    padding: 0px 10px 20px 10px;
  }
  #contact_name {
    font-size: 30px;
  }

  #genesis_2_18 {
    display: none;
  }

  /*-------------------- Footer --------------------*/
  #footer {
    height: 200px;
    position: static;
    text-align: right;
    padding: 0px;
    background-color: rgb(231, 231, 231);
  }
  #footer_logo {
    position: relative;
    left: 95px;
    top: -85px;

    height: 180px;
    width: auto;

    border-radius: 100%;
  }
  #footer_icons {
    position: relative;
    top: -120px;
    margin-right: 140px;
  }
  .footer_icon {
    height: 50px;
    width: auto;
    padding: 10px;

    color: #005a80;
  }
}
@media (min-width: 320px) and (max-width: 991px) {
  /* 最初の画面：ロゴと写真数枚 */
  #landing_content {
    background-image: url(/assets/main_background-c4bcf817aa238a8e7fe04976b613a52be0ea179a651d1d9ac68e8df8d94db3c3.png);
    background-repeat: no-repeat;
    background-position: center;

    width: 100%;
    height: 625px;
    padding-top: 150px;
    text-align: center;
    overflow: hidden;

    /* .landing_content_pictureに対してstatic */
    position: static;
  }

  #linear_gradient_background {
    display: none;
  }

  #logo_container {
    z-index: 5; /* 高いほど前に出てくる */
    visibility: hidden;
  }

  #logo {
    width: 175px;
    height: 125px;
    margin: 50px 0px;
  }

  #landing_content_pictures {
    display: none;
  }

  #braided_back_image {
    width: 200px;
    top: -450px;
    left: -20px;
  }

  #face_front_girl {
    width: 200px;
    top: -525px;
    left: 60%;
  }

  #hair_down_back {
    width: 225px;
    top: -700px;
    left: -100px;
  }

  /*-------------------- Slogan --------------------*/
  #slogan_container {
    padding: 40px 20px;
    padding-bottom: 100px;
  }
  .slogan_text {
    font-size: 20px;
    padding: 0px 20px;
    color: dimgray;
  }
  #slogan_second_half {
    text-align: right;
  }
  #slogan_to_you {
    color: #005a80;
    font-weight: bold;
  }

  /*-------------------- Gallery Slider --------------------*/
  @font-face {
    font-family: 'ALS Script';
    src: url(/assets/alsscrp-5edfa8d9977a3a711fd0d13cd71533a022be2529dbd3a24ff5b297b23eb35b32.ttf);

    /*
    font-family: 'Adine Kirnberg Alternate, Regular';
    src: url(/assets/AdineKirnberg-Alternate-4fdbdc7d9bb74b3ee74177067ce5d285e05ff231f398809ac606f3dbcd660d50.ttf);
    */

    /*
    font-family: 'Great Vibes, Regular';
    src: url(/assets/GreatVibes-Regular-2ca2d5ee7954e9c13d21d36f6a6e5f06e980cc1aef005db313da413c9d682b27.ttf);
    */
  }

  h1 {
    font-family: 'ALS Script';
    font-size: 70px;
    text-align: center;
    color: whitesmoke;
  }
  #gallery_container {
    /* TODO: すべてのcontainerのpaddingを統一すること */
    padding: 60px 10px;

    background-color: whitesmoke;
    border-top: 1px rgb(180, 180, 180) solid;
    border-bottom: 1px rgb(180, 180, 180) solid;
  }
  #gallery_swiper_header_underline {
    margin-bottom: 0px;
  }
  #gallery_swiper_outer_container {
    z-index: 3;
    background-color: #005a80;
    border: 1px solid whitesmoke;
    margin: 5px;
  }
  #gallery_swiper_inner_container {
    z-index: 4;
    background-color: #005a80;
    border: 1px solid whitesmoke;
    margin: 5px;
    padding: 35px 0px 30px 0px;
  }
  #gallery_swiper_text {
    font-size: 60px;
    text-align: center;
  }
  .header_underline {
    width: 75%;
    background-color: dimgrey;
    height: 2px;
    margin: 0px auto;
    margin-bottom: 30px;
  }
  .swiper {
    position: static;
    width: 275px;
    height: 450px;
  }
  .swiper_slide {
    width: 260px;
  }
  .gallery_slider_image {
    border: 1px solid #005a80;
    width: 400px;
    height: auto;
    margin: 0;

    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  #gallery_swiper_scrollbar {
    background-color:rgb(155, 155, 155);
  }

  .swiper-scrollbar-drag{
    background-color: whitesmoke !important;
  }

  /*-------------------- Profile --------------------*/
  #profile_container {
    padding: 60px 20px;
    background-color: #005a80;
  }
  #profile_card_header {
    font-size: 60px;
    color: rgb(239, 239, 239);
  }
  #profile_header_underline {
    margin-bottom: 55px;
  }

  #keiko_name {
    color: #005a80;
    font-size: 20px;
    background-color: rgb(231, 231, 231);
    display: inline-block;
    padding: 5px 10px;
    border-radius: 3%;
    box-shadow: 4px 4px 4px rgba(146, 146, 146, 0.6);
  }
  #profile_card_katagaki {
    display: none;
  }
  #profile_picture_image {
    position: relative;
    border-radius: 100%;
    width: 45%;
    top: 45px;
    left: 25%;
    border: 1px rgb(165, 165, 165) solid;
  }

  #profile_card_upper_half {
    border-radius: 10px 10px 0px 0px;
    position: static;
    height: 220px;
    background-color: rgb(206, 206, 206);
    padding-top: 60px;

    text-align: center;
  }
  #profile_card_lower_half {
    border-radius: 0px 0px 10px 10px;
    background-color: rgb(231, 231, 231);
    padding-top: 100px;
    padding-bottom: 15px;
  }

  .profile_item {
    padding: 7px 0px;
  }
  .profile_description_header {
    margin-left: 20px;
    font-size: 20px;
    font-style: italic;
    color: rgb(101, 101, 101)
  }
  .profile_header_underline {
    width: 50%;
    margin-left: 15px;
    height: 2px;
    background-color: rgb(153, 153, 153);
  }
  .profile_text{
    padding: 10px 10px;
    color: #005a80;
  }

  /* 賞の名前が1行に入りきれないやつもあるのでフォントサイズを小さめにします。 */
  #profile_award_list {
    font-size: 14px;
  }

  /*-------------------- Short Details --------------------*/
  #short_details_container {
    padding: 60px 0px;
  }
  .short_detail {
    padding: 10px 0px;
  }
  /* TODO: これはindexにないみたい */
  .detail_icon_container {
    display: inline-block;
    width: 50px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .short_detail_text {
    width: 75%;
    margin: 0px auto;
  }
  .short_detail_header {
    color: #005a80;
    font-size: 20px;
    font-weight: bold;

    display: inline-block;
    margin-bottom: 15px;
  }
  .short_detail_icon {
    display: block;
    float: right;
    margin-top: 0px;
    margin-right: 30px;
    color: rgb(47, 47, 47);
  }
  .short_detail_description {
    color: rgb(50, 50, 50);
  }
  .short_detail_underline {
    margin: 0px auto;
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .quick_point_image {
    width: 275px;
    height: auto;
    background-size: 50px 100px;

    margin: 0px auto;
    margin-top: 20px;

    border-radius: 5px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }

  /*-------------------- Pricing --------------------*/
  #pricing_container {
    padding: 20px 0px;
    background-color: #005a80;
    color:#005a80;

    /* これがないと下の方に線が出ちゃう */
    border: #005a80 1px solid
  }
  #pricing_inner_container {
    width: 90%;
    margin: 0px auto;
    padding: 20px;
    background-color: whitesmoke;
    border-radius: 10px;
  }
  #menu_header_image {
    height: 150px;
    width: auto;
    margin: 0px auto;
  }
  .pricing_table {
    margin: 0px auto;
  }
  table {
    padding: 10px;
    border-radius: 10px;
    width: 100%;
    border-collapse: collapse;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);

    /*
      trのborder-radiusは10pxなのにbackground-colorは四角として表示されるから、
      これを入れるとborder-radiusはちゃんと丸っこく表示されます。
      https://stackoverflow.com/questions/6312067/border-radius-background-color-cropped-border
    */
    overflow: hidden;
  }
  th {
    padding: 10px 0px;
    border-radius: 10px 10px 0px 0px;
    background-color: #005a80;
    color: whitesmoke;
    text-align: left;
    padding-left: 20px;
    font-style: italic;
  }
  tr {
    text-align: center;
  }
  tr:nth-child(odd) {
    background-color: rgb(231, 231, 231);
  }
  tr:nth-child(even) {
    background-color: rgb(206, 206, 206);
  }
  td {
    padding: 7px 0px;
  }
  td:nth-child(1) {
    text-align: left;
    padding-left: 20px;
  }
  td:nth-child(2) {
    text-align: right;
    padding-right: 20px;
  }

  #tax_details {
    margin: 0px auto;
    padding: 20px 0px 50px 0px;
    text-align: center;
  }
  #tax_details_text {
    display: inline-block;
    font-size: 15px;
    text-align: left;
    margin: 0px auto;
  }
  #extra_pricing_details {
    text-align: center;
    margin-top: 20px;
    font-size: 12px;
  }

  /*-------------------- Contact Information --------------------*/
  #contact_information_container {
    background-color: #005a80;
    color: whitesmoke;
    padding: 50px 40px 50px 40px;
    text-align: center;
  }
  .contact_gray_header {
    background-color: rgb(206, 206, 206);
    text-align: left;

    padding: 7px 0px;
    padding-left: 20px;
    border-radius: 10px;
    color: #005a80;

    font-weight: bold;
    font-style: italic;

    margin-bottom: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  }
  .contact_item {
    font-size: 25px;
    margin: 20px 0px;
    padding: 0px 0px;
  }
  .contact_information_comment {
    font-size: 15px;
    padding: 0px 10px 20px 10px;
  }
  #contact_name {
    font-size: 30px;
  }

  /*-------------------- Footer --------------------*/
  #footer {
    height: 100px;
    position: static;
    text-align: right;
    padding: 0px;
    background-color: rgb(231, 231, 231);
  }
  #footer_logo {
    position: relative;
    left: 40px;
    top: -60px;

    height: 120px;
    width: auto;

    border-radius: 100%;
    
  }
  #footer_icons {
    position: relative;
    top: -105px;
    margin-right: 20px;
  }
  .footer_icon {
    height: 35px;
    width: auto;
    padding: 10px;

    color: #005a80;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

 /* h1で使うフォント */
 @font-face {
  font-family: 'ALS Script';
  src: url(/assets/alsscrp-5edfa8d9977a3a711fd0d13cd71533a022be2529dbd3a24ff5b297b23eb35b32.ttf);
}

.japanese_text {
  font-family: 'Noto Sans JP, Regular';
  src: url(/assets/NotoSansJP-Regular-a88814dd81eecb4471bc02171bfb2ceddced1c81ba6c94ced4444a2002446d85.otf)
}

.logo_border {
  border: 1px solid gray;
  display: inline-block;
  background-color: white;
}

#outer_logo_border {
  padding: 20px;
}

#inner_logo_border {
  padding: 20px;
}
