@charset "UTF-8";
@import url("./business.css");

/************************************
component
************************************/
.tlink {
    text-decoration: underline;
    color: #ea6876;
}

.tlink:hover {
    text-decoration: none;
}

.new_flex {
    display: flex;
    gap: 30px;
    justify-content: center;
}

ul.new_flex li {
    width: 187px;
}

/** contact_banner **/
#contact_banner a {
    display: block;
    background: #000;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding: 70px 5%;
}

#contact_banner a span {
    display: block;
    font-size: 40px;
}

/** company_nav,sustainability_nav **/
#business_nav,
#company_nav,
#sustainability_nav {
    background: #ededed;
    padding: 40px 5%;
}

#business_nav p,
#company_nav p,
#sustainability_nav p {
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 30px;
}

#business_nav ul,
#company_nav ul,
#sustainability_nav ul {}

#business_nav .business_nav__item,
#company_nav .company_nav__item,
#sustainability_nav .sustainability_nav__item {
    margin: 0 0 20px;
}

#business_nav .business_nav__link,
#company_nav .company_nav__link,
#sustainability_nav .sustainability_nav__link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px 15px;
    border-bottom: 1px solid #cecece;
}

#business_nav .link__arrow,
#company_nav .link__arrow,
#sustainability_nav .link__arrow {
    width: 15px;
}

.link__arrow {
    width: 25px;
    transition: 0.3s;
}

.gradient_marker {
    background-image: linear-gradient(to right, #f8ae9c, #ea6876);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: 100% 20%;
}

/************************************
index
************************************/
#index .section__headline {
    font-weight: bold;
    line-height: 1.3;
    font-size: 20px;
}

#index .section__headline span {
    margin-right: 24px;
    font-family: "Overpass", sans-serif;
    display: block;
    font-size: 40px;
    text-shadow: 3px 1px #e4e4e5;
}

/** main__vis **/
#index .main__vis {
    position: relative;
    overflow: hidden;
    margin: 0 0 40px;
}

#index .main__vis .bx-wrapper {
    box-shadow: none;
}

#index .main__vis .bx-viewport {
    background: none;
}

#index .main__copy {
    position: absolute;
    bottom: 60px;
    left: 5%;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    max-width: 90%;
}

#index .main__copy h2 {
    font-size: min(24px, 5vw);
}

#index .main__copy span {
    font-size: 56px;
}

#index .main__copy img {
    display: inline-block;
    margin-bottom: 24px;
}

#index .scroll {
    position: absolute;
    bottom: 20%;
    right: -10%;
    color: #fff;
    font-weight: bold;
}

#index .scroll p {
    display: flex;
    align-items: center;
    transform: rotate(-90deg);
}

#index .scroll p::before {
    content: "";
    border-top: 1px solid #fff;
    width: 90px;
    margin: 5px 0.5em 0 0;
}

/** news **/
#index .news {
    width: 90%;
    margin: 0 auto 60px;
}

#index .news__headWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 20px;
}

#index .news__link {
    color: #ea6876;
    padding: 0 10px 5px;
    border-bottom: 1px solid #ea6876;
}

#index .news__catWrap,
#archive_news .news__catWrap {
    margin: 0 0 25px;
}

#index .news__catWrap li,
#archive_news .news__catWrap li {
    margin: 0 0 15px;
}

#index .news__catWrap li a,
#archive_news .news__catWrap li a {
    color: #a0a0a0;
    font-weight: bold;
}

#index .news__catWrap li.current a,
#archive_news .news__catWrap li.current a {
    color: #ea6876;
}

#index .news__list li,
#archive_news .archive_news__list li {
    border-bottom: 1px solid #e4e4e4;
}

#index .news__list li:first-child,
#archive_news .archive_news__list li:first-child {
    border-top: 1px solid #e4e4e4;
}

#index .news__list li a,
#archive_news .archive_news__list li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

#index .news__list li a .news__item,
#archive_news .archive_news__list li a .archive_news__item {
    width: calc(100% - 45px);
    white-space: nowrap;
    display: flex;
}

#index .news__list li a .news__time_cat,
#archive_news .archive_news__list li a .archive_news__time_cat,
#single_news .single_news__time_cat {
    display: inline;
    align-items: center;
    /* margin: 0 0 20px; */
}

#index .news__list li a .news__time_cat time,
#archive_news .archive_news__list li a .archive_news__time_cat time,
#single_news .single_news__time_cat time {
    display: inline;
    margin: 0 1em 0 0;
}

#index .news__list li a .news__time_cat p,
#archive_news .archive_news__list li a .archive_news__time_cat p,
#single_news .single_news__time_cat p {
    color: #ea6876;
    font-size: 14px;
    padding: 2px 20px;
    border: 1px solid #ea6876;
    border-radius: 14px;
    display: inline;
    margin-right: 1em;
    min-width: 160px;
}

#index .news__list li a .news__item h3,
#archive_news .archive_news__list li a .archive_news__item h3 {
    font-weight: normal;
    display: inline;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: 1;
    overflow: hidden;
}

/** message **/
#index .message {
    position: relative;
    background: url("../img/index/background_img01_sp.png");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 90% 100%;
    padding: 50px 0 90%;
    margin: 0 0 100px;
}

#index .message__in {
    position: relative;
    width: 90%;
    margin: 0 auto;
    font-weight: bold;
    z-index: 2;
}

#index .message__in h2 {
    font-size: 22px;
    margin: 0 0 25px;
}

#index .message__in p {
    line-height: 2;
}

#index .message img {
    position: absolute;
}

#index .message .message_img01 {
    right: 0;
    bottom: -40%;
    width: 100%;
}

/** company **/
#index .company__intro {
    background: url("../img/index/company_bg01_sp.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 90% 100%;
    padding: 50% 5% 50px;
}

#index .company__intro .section__headline {
    margin: 0 0 15px;
    line-height: 1;
}

#index .company__intro h3 {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 10px;
}

#index .company__topmessage {
    background: url("../img/index/company_bg02.png");
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 90% 80%;
    padding: 0 0 50px;
}

#index .company__topmessageIn {
    background: #000;
}

#index .company__topmessageTxt {
    color: #fff;
    padding: 50px 5%;
    font-weight: bold;
}

#index .company__topmessageTxt h3 {
    font-size: 24px;
    margin: 0 0 25px;
    line-height: 1.2;
}

#index .company__topmessageTxt h3 img {
    width: 20px;
    vertical-align: baseline;
}

#index .company__topmessageTxt ul {
    display: grid;
    gap: 24px;
}

#index .company__topmessageTxt p {
    font-size: 22px;
    margin: 0 0 30px;
}

#index .company__topmessageTxt a {
    color: #fff;
    border-bottom: 1px solid #fff;
    padding: 0 0 10px;
}

#index .company__topmessageTxt a .link__arrow {
    width: 20px;
    margin: 0 0 0 30px;
}

#index .company__linkWrap {
    margin: 0 0 60px;
}

#index .company__link {
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    padding: 100px 5%;
}

#index .company__link01 {
    background: url("../img/index/company_link_img01.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#index .company__link02 {
    background: url("../img/index/company_link_img02.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#index .company__link span {
    display: block;
    font-size: 30px;
    font-weight: bold;
    margin: 0 0 20px;
}

#index .company__link p {
    font-size: 18px;
    font-weight: bold;
    width: 150px;
    margin: 0 auto;
    border-bottom: 1px solid #fff;
    padding: 0 0 10px;
}

#index .company__link p img {
    margin: 0 0 0 30px;
}

#index .structure {
    width: 90%;
    margin: 0 auto 70px;
}

#index .structure__head {
    text-align: center;
}

#index .structure h3 {
    font-size: 20px;
    border-bottom: 2px solid #ea6876;
    padding: 0 0 10px;
    margin: 0 0 40px;
}

#index .company__page {
    margin: 0 0 20px;
}

#index .company__page a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #707070;
    padding: 20px;
}

#index .company__page .company__page_l {
    width: calc(100% - 45px);
    display: flex;
    align-items: center;
}

#index .company__page .company__page_l .company__icon {
    width: 70px;
}

#index .company__page .company__page_l p {
    margin: 0 0 0 20px;
    font-size: 24px;
    font-weight: bold;
}

#index .base {
    background: url("../img/index/base_bg_sp.png");
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 90% 98%;
    padding: 0 5% 70px;
}

#index .base__head {
    margin: 0 0 20px;
}

#index .base__head h3 {
    font-size: 20px;
    margin: 0 0 15px;
}

#index .base_map {
    margin: 0 auto 40px;
}

#index .base .company__page:last-child {
    margin: 0;
}

/** sustainability **/
#sustainability__wrap {
    background: url("../img/index/sustainability_bg_sp.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    color: #fff;

    padding: 70px 5% 90px;
}

#index .sustainability__head {
    margin: 0 0 30px;
}

#index .sustainability__head h2 {
    text-align: right;
    margin: 0 0 10px;
}

#index .sustainability__head h2 span {
    font-size: 40px;
}

#index .sustainability__head h3 {
    text-align: right;
    font-size: 20px;
    margin: 0 0 15px;
}

#index .sustainability__list {}

#index .sustainability__list li {
    margin: 0 0 60px;
}

#index .sustainability__list li:last-child {
    margin-bottom: 0;
}

#index .sustainability__list li a {
    color: #fff;
}

#index .sustainability__list li a img {
    border-radius: 24px;
}

#index .sustainability__list li a p {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 10px;
    border-bottom: 1px solid #fff;
    font-size: 18px;
    font-weight: bold;
}

/** group_company **/
#index .group_company {
    background: url("../img/index/group_company_bg_sp.png");
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 90% 90%;
    padding: 70px 0 0;
    margin: 0 0 20px;
}

#index .group_company .section__headline {
    text-align: center;
    margin: 0 0 30px;
    line-height: 1;
}

#index .group_company__content {
    display: block;
    margin: 0 0 50px;
}

#index .group_company__content:last-child {
    margin: 0;
}

#index .group_company__content .group_company__img {}

#index .group_company__content_r .group_company__img {}

#index .group_company__txtWrap {
    position: relative;
    width: 95%;
    padding: 30px 5%;
    background: #fff;
    z-index: 2;
}

#index .group_company__content_l .group_company__txtWrap {
    margin: -50px 0 0 auto;
}

#index .group_company__content_r .group_company__txtWrap {
    margin: -50px 0 0;
}

#index .group_company__txtWrap img {
    margin: 0 0 15px;
}

#index .group_company__txtWrap p {
    font-size: 16px;
    font-weight: bold;
}

/** recruit **/
#index .recruit a {
    display: block;
    margin: 0 0 40px;
}

#index .recruit a img {}

#index .recruit .recruit__txtWrap {
    position: relative;
    width: 90%;
    margin: -20px auto 0;
    color: #fff;
    background: linear-gradient(to right, #f8ae9c, #ea6876);
    padding: 35px 10%;
}

#index .recruit .recruit__txtWrap.-left {
    background: linear-gradient(to right, #ea6876, #f8ae9c);
}

#index .recruit .recruit__txtWrap span {
    font-family: "Cormorant Garamond", serif;
    display: block;
    font-size: 40px;
    line-height: 1.1;
}

#index .recruit .recruit__txtWrap p {
    font-size: 10px;
    letter-spacing: 0.2em;
}

/************************************
page共通
************************************/
/** page__headline **/
#page .page__headline {
    position: relative;
    margin: 0 0 60px;
}

#page h1 {
    font-size: 20px;
}

#page h1 span {
    font-family: "Overpass", sans-serif;
    font-size: 40px;
}

#page .page__headline h1 {
    position: absolute;
    top: 50%;
    left: 5%;
    color: #fff;
    line-height: 1.3;
}

#page .page__headline h1 span {
    display: block;
    color: rgba(255, 255, 255, 0.5);
}

/** page__headline02 **/
#page .page__headline02 {
    padding: 150px 5% 50px;
    margin: 0 0 60px;
    border-image: linear-gradient(to right, #ea6876 0, #ea6876 35%, #dedede 35%, #dedede 100%) 1/0 0 2px 0;
    border-style: solid;
}

#page .page__headline02 h1 {
    display: flex;
    align-items: center;
}

#page .page__headline02 h1 span {
    position: relative;
    color: #f4f4f4;
    margin: 0 0 0 -140px;
    z-index: -1;
}

#page .page__headline02.-p03 h1 span {
    position: relative;
    color: #f4f4f4;
    margin: 0 0 0 -140px;
    z-index: -1;
}

#page h2 {
    font-size: 22px;
    border-bottom: 3px solid #ea6876;
    padding: 0 0 10px;
    margin: 0 0 30px;
}

/** sustainability__head **/
#page .sustainability__headWrap {
    margin: 0 0 60px;
}

#page .sustainability__headTxt {
    margin: 0 0 20px;
}

#page .sustainability__headline {
    font-size: 18px;
    padding: 0 0 10px;
    margin: 0 0 20px;
    border-bottom: 2px;
    border-image: linear-gradient(to right, #ea6876 0, #ea6876 20%, #d6d6d6 20%, #d6d6d6 100%) 1/0 0 2px 0;
    border-style: solid;
}

#sustainability__wrap .sustainability__link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}

/** section__in **/
#page .section__in {
    width: 90%;
    margin: 0 auto 60px;
}

#page .page__section {
    background: #f7f7f7;
    border-radius: 100px 0 0 0;
    padding: 80px 5% 50px;
}

/************************************
company/top_message
************************************/
#top_message .top_message .section__in {}

#top_message .top_message__txt {
    margin: 0 0 50px;
}

#top_message .ceo__imgWrap {}

#top_message .ceo__imgWrap img {
    margin: 0 0 10px;
}

#top_message .ceo__imgWrap p {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 30px;
}

#top_message .ceo__imgWrap p span {
    display: block;
    font-size: 14px;
    margin: 0 1em 0 0;
}

/************************************
company/philosophy
************************************/
#philosophy .intro {
    width: 90%;
    margin: 0 auto 40px;
    line-height: 1.8;
    margin-bottom: 40px;
}

#philosophy .intro_text {}

#philosophy .intro_name {
    margin-top: 36px;
    text-align: right;
}

#philosophy .philosophy {}

#philosophy .philosophy h2 {
    width: 90%;
    margin: 0 auto 40px;
    font-size: 24px;
    border-bottom: none;
    padding: 0;
}

#philosophy .content {
    background: url("../img/philosophy/philosophy_bg_sp.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 100% 90%;
    padding: 0 0 70px;
}

#philosophy .image {
    text-align: right;
    margin: 0 0 60px auto;
}

#philosophy .image img {
    width: 90%;
}

#philosophy .philosophy ul {
    width: 90%;
    margin: 0 auto;
}

#philosophy .philosophy li {
    position: relative;
    margin: 0 0 80px;
    text-align: center;
}

#philosophy .philosophy li::after {
    position: absolute;
    content: "";
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 180px;
    height: 1px;
    background: #e76977;
}

#philosophy .philosophy li:last-child {
    margin: 0;
}

#philosophy .philosophy li:last-child::after {
    content: none;
}

#philosophy .philosophy li h3 {
    font-family: "Overpass", sans-serif;
    font-size: 48px;
    color: #ededed;
    line-height: 1;
}

#philosophy .philosophy li p {
    font-size: 16px;
    font-weight: bold;
    line-height: 2;
    margin: -20px 0 0;
}

#philosophy .quality {
    padding-top: 64px;
    line-height: 1.8;
}

#philosophy .quality h2 {}

#philosophy .quality ol {
    list-style-type: decimal;
    padding-left: 1.5em;
}

#philosophy .quality ol>li {}

/************************************
company/company_profile
************************************/
#company_profile .company_profile dl div {
    border-bottom: 1px solid #d6d6d6;
    padding: 20px 10px;
}

#company_profile .company_profile dl div dt {
    font-weight: bold;
}

#company_profile .company_profile dl div dd {}

/************************************
company/financial_info
************************************/
#financial_info .financial_info p {
    margin: 0 0 30px;
}

#financial_info .financial_info__imgWrap {
    margin: 0 0 60px;
}

#financial_info .financial_info__imgWrap .financial_info__img {
    margin: 0 0 20px;
}

/************************************
company/officer_introduction
************************************/
/** ceo **/
#officer_introduction .ceo__wrap {
    margin: 0 0 40px;
}

#officer_introduction .ceo__wrap img {
    margin: 0 0 20px;
}

#officer_introduction .officer_txtWrap h2 {
    display: flex;
    align-items: center;
    font-size: 20px;
    border-bottom: 2px solid #ea6876;
    margin: 0 0 15px;
}

#officer_introduction .officer_txtWrap h2 span {
    display: block;
    font-size: 14px;
    margin: 0 1em 0 0;
}

#officer_introduction .officer_txtWrap dl div,
#group_company .group_company__content dl div {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #d6d6d6;
    padding: 15px 0;
}

#officer_introduction .officer_txtWrap dl div dt,
#group_company .group_company__content dl div dt {
    width: 35%;
}

#officer_introduction .officer_txtWrap dl div dd,
#group_company .group_company__content dl div dd {
    width: 62%;
}

/** other_officer **/
#officer_introduction .other_officer .officer_txtWrap {
    margin: 0 0 40px;
}

#officer_introduction .other_officer .officer_txtWrap h2 {
    border-bottom: 1px solid #ea6876;
}

/************************************
company/group_company
************************************/
#group_company .group_company {
    margin-top: -90px;
    padding-top: 90px;
}

#group_company .group_company__headline {}

#group_company .group_company__headline h2 {
    font-size: 22px;
    padding: 0 0 10px;
    margin: 0 0 20px;
    border-image: linear-gradient(to right, #ea6876 0, #ea6876 20%, #d6d6d6 20%, #d6d6d6 100%) 1/0 0 2px 0;
    border-style: solid;
}

#group_company .group_company__headline a {
    display: flex;
    justify-content: space-between;
    width: 200px;
    background: #000;
    color: #fff;
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 14px;
}

#group_company .group_company__headline a .link__arrow {
    width: 15px;
}

#group_company .group_company p {
    margin: 0 0 30px;
}

#group_company .group_company__content {}

#group_company .group_company__content img {
    margin: 0 0 20px;
}

#group_company .group_company__content dl {}

#group_company .group_company__content dl div {
    padding: 20px 0;
}

#group_company .group_company__content dl div:first-child {
    border-top: 1px solid #d6d6d6;
}

/************************************
company/base
************************************/

.tab_list {
    display: flex;
    gap: 10px;
    width: 90%;
    margin: 0 auto 40px;
    border-bottom: 10px solid #ea6876;
}

.tab_menu {
    align-items: center;
    background-color: #ccc;
    color: #fff;
    cursor: pointer;
    display: flex;
    flex-grow: 1;
    height: 50px;
    justify-content: center;
    border-radius: 10px 10px 0 0;
    font-size: 18px;
    font-weight: bold;
}

.tab_menu.current {
    background: #ea6876;
}

.cnt_box {
    display: none;
    width: 100%;
}

/************************************
company/production_base
************************************/
/** production_base **/
#production_base .production_base h2,
#sales_base .sales_base h2,
#logistics_base .logistics_base h2 {
    position: relative;
    font-size: 22px;
    border-bottom: none;
    margin: 0 0 60px;
}

#production_base .production_base h2::after,
#sales_base .sales_base h2::after,
#logistics_base .logistics_base h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    width: 120px;
    height: 1px;
    background: #e76977;
}

#production_base .production_base p,
#sales_base .sales_base p,
#logistics_base .logistics_base p {
    margin: 0 0 40px;
}

#production_base .production_base img,
#sales_base .sales_base img,
#logistics_base .logistics_base img {
    display: block;
    max-width: 1024px;
    width: 100%;
    margin: 0 auto;
}

/** dosage_form **/
#production_base .dosage_form__content h3 {
    font-size: 18px;
    margin: 0 0 15px;
}

#production_base .dosage_form__content {
    border-bottom: 1px solid #b9b9b9;
    padding: 0 0 20px;
    margin: 0 0 40px;
}

#production_base .dosage_form__content:last-child {
    border-bottom: none;
}

#production_base .dosage_form__content ul {
    display: flex;
    flex-wrap: wrap;
}

#production_base .dosage_form__content li {
    width: 48%;
    margin: 0 2% 30px 0;
}

#production_base .dosage_form__content li:nth-child(2n) {
    margin-right: 0;
}

#production_base .dosage_form__content li img {
    margin: 0 0 10px;
}

/************************************
company/sales_base
************************************/
#sales_base .sales_base__list dl div {
    padding: 20px 0;
    border-bottom: 2px solid #d6d6d6;
}

#sales_base .sales_base__list dl div dt {
    font-weight: bold;
    margin: 0 0 10px;
}

#sales_base .sales_base__list dl div dd a {
    color: #ea6876;
}

#sales_base .sales_base__list dl div dd a img {
    width: 15px;
    margin: 0 5px 0 0;
}

/************************************
company/logistics_base
************************************/

/************************************
company/history
************************************/
#history .history {
    margin: 0 0 50px;
}

#page .ay_pharma .page__headline {
    width: 90%;
    padding-block: 120px;
    margin-inline: auto;
}

#page .ay_pharma .page__headline h1 {
    top: 50%;
    left: 20%;
    transform: translate(0%, -50%);
    color: #0468b7;
}

#history .history02 {
    background-color: #f7f7f7;
    padding: 40px 0;
}

#history .history h2 {
    font-family: "Overpass", sans-serif;
    font-size: 38px;
    border-bottom: none;
    width: 90%;
    margin: 0 auto;
    padding: 0;
}

#history .history h2 span {
    font-size: 24px;
    margin: 0 10px;
}

#history .history__content {
    position: relative;
    padding: 20px 5%;
    border-bottom: 1px solid #e3e3e3;
}

#history .history__content:nth-child(even) {
    background: #f7f7f7;
}

#history.ay_pharma .history__content:nth-child(even) {
    background: none;
}

#history .history__content:first-child {
    border-top: 1px solid #e3e3e3;
}

#history.ay_pharma .history__content,
#history.ay_pharma .history__content:first-child {
    border: none;
}

#history .history__year {
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
    margin: 0 0 10px;
}

#history .history__year p {
    display: flex;
    align-items: center;
    line-height: 1;
    font-size: 14px;
    margin: 0 0 0 2em;
}

#history .history__year p span {
    font-family: "Overpass", sans-serif;
    font-size: 24px;
    margin: 0 5px 0 0;
}

#history .history__year::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "●";
    color: #ea6876;
}

#history.ay_pharma .history__year::before {
    color: #0468b7;
}

#history .history__content:first-child .history__year::before {
    content: "◉";
    font-size: 20px;
}

#history .history__content::after {
    position: absolute;
    content: "";
    top: 0;
    left: 7%;
    width: 1px;
    height: 100%;
    background: #ea6876;
}

#history.ay_pharma .history__content::after {
    background: #0468b7;
}

#history .history__content:first-child::after {
    top: 32px;
}

#history .history__content:last-child::after {
    height: 50%;
}

#history .history__event {
    padding: 0 0 0 2em;
}

#history .history__event_txt a {
    color: #ea6876;
    border-bottom: 1px solid #ea6876;
}

#history .history__event_txtWrap {
    margin: 0 0 10px;
}

#history .history__event_txtWrap01 {
    align-items: center;
}

#history .history__companyWrap .history__company {
    margin: 0 10px 10px 0;
}

#history .history__companyWrap .history__company:last-child {
    margin-bottom: 0;
}

#history .history__company {
    width: 170px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    padding: 5px 10px;
    text-align: center;
    border-radius: 16px;
    margin: 0 0 10px;
}

#history .history__company01 {
    background: #ea6876;
}

#history .history__company02 {
    background: #289525;
}

#history .history__company03 {
    background: #62a72c;
}

#history .history__company04 {
    background: #158cd6;
}

#history .history__company05 {
    background: #299163;
}

#history .history__company06 {
    background: #d32e40;
}

#history .history__company07 {
    background: #27b6bc;
}

#history .history__imgWrap {
    display: flex;
}

#history .history__imgWrap img {
    display: block;
    max-width: 320px;
    width: 48%;
    margin: 0 2% 0 0;
}

#history .history__imgWrap img:last-child {
    margin-right: 0;
}

.ay_his_img {
    max-width: 750px;
    margin: auto;
}

/************************************
sustainability
************************************/
#sustainability .sustainability {}

#sustainability .sustainability_ttl {
    font-size: 24px;
}

#sustainability .sustainability_text {
    line-height: 1.8;
}

#sustainability .sustainability_text p {
    margin-bottom: 30px;
}

#sustainability .sustainability_ft {
    line-height: 1.8;
    text-align: right;
    margin-top: 40px;
    margin-bottom: 40px;
}

/************************************
sustainability/initiatives
************************************/
#initiatives .initiatives {}

#initiatives .initiatives__sec {}

#initiatives .initiatives__sec:not(:first-child) {
    margin-top: 72px;
}

#initiatives .initiatives__ttl {}

#initiatives .initiatives__wrap {
    display: grid;
    margin-top: 24px;
    gap: 40px;
    grid-template-columns: 1fr;
}

#initiatives .initiatives__cnt {}

#initiatives .initiatives__img {}

/************************************
sustainability/environment
************************************/
#environment .environment__content {
    margin: 0 0 50px;
}

#environment .environment__headWrap p {
    padding: 0 30px 0 0;
}

#environment .environment__content01 p {
    margin: 0 0 20px;
}

#environment .environment__content01 .environment__imgWrap img {
    margin: 0 0 10px;
}

#environment .environment__content02 img {
    margin: 0 0 20px;
}

#environment .environment__content03 p {
    margin: 0 0 20px;
}

/************************************
sustainability/employee_benefits
************************************/
#employee_benefits .employee_benefits__content {
    margin: 0 0 50px;
}

#employee_benefits .employee_benefits__content li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 15px;
    padding: 20px 5%;
    border: 1px solid #d6d6d6;
}

#employee_benefits .employee_benefits__content li img {
    width: 35%;
}

#employee_benefits .employee_benefits__contentTxt {
    width: 60%;
}

#employee_benefits .employee_benefits__contentTxt h4 {
    font-size: 16px;
    color: #ea6876;
    margin: 0 0 10px;
}

#employee_benefits .employee_benefits__contentTxt p {
    font-size: 12px;
}

/************************************
sustainability/social_contribution
************************************/
/** activities **/
#social_contribution .activities__contentWrap dl {
    margin: 0 0 30px;
}

#social_contribution .activities__contentIn {
    border-bottom: 1px solid #d6d6d6;
    padding: 20px 10px;
}

#social_contribution .activities__contentIn:first-child {
    border-top: 1px solid #d6d6d6;
}

#social_contribution .activities__contentIn dt {
    font-weight: bold;
}

#social_contribution .activities__contentIn dd {}

#social_contribution .activities__contentIn dd p {
    display: flex;
}

#social_contribution .activities__contentIn dd p::before,
#governance .governance__contentIn li::before,
#governance .compliance__in li::before {
    content: "";
    background: #ea6876;
    min-width: 5px;
    width: 5px;
    height: 5px;
    margin: 10px;
}

#social_contribution .activities__contentImg {
    margin: 10px 0 0;
    max-width: 200px;
    width: 50%;
}

#social_contribution .activities__contentImg.shomomura__link {
    min-width: 200px;
}

#social_contribution .activities__contentImg a {
    font-family: "Noto Serif JP", serif;
    display: flex;
    align-items: center;
    font-size: 20px;
    border: 1px solid #d6d6d6;
}

#social_contribution .activities__contentImg a .shomomura {
    border-top: 2px solid #ea6876;
    padding: 10px;
}

#social_contribution .activities__contentImg a .shomomura span {
    font-size: 12px;
    margin: 0 1em 0 0;
}

#social_contribution .activities__contentImg a:hover {
    color: #ea6876;
}

/** donation **/
#social_contribution .donation__headWrap {
    margin: 0 0 50px;
}

#social_contribution .donation__head {
    margin: 0 0 30px;
}

#social_contribution .donation__content {
    margin: 0 0 70px;
}

#social_contribution .donation__content h4 {
    font-size: 16px;
    padding: 0 0 10px;
    border-bottom: 1px solid #d6d6d6;
}

#social_contribution .donation__content ul li {
    border-bottom: 1px solid #d6d6d6;
    padding: 20px 10px;
}

#social_contribution .donation__content ul li .donation__content_img {
    display: flex;
    justify-content: flex-start;
}

#social_contribution .donation__content ul li .donation__content_img img {
    max-width: 250px;
    width: 48%;
    margin: 20px 0 0 2%;
}

/************************************
sustainability/governance
************************************/
/** governance__content **/
#governance .governance__content {
    margin: 0 0 50px;
}

#governance .governance__contentIn {
    border-top: 1px solid #d6d6d6;
    padding: 30px 5%;
}

#governance .governance__contentIn li,
#governance .compliance__in li {
    display: flex;
    margin: 0 0 10px;
}

#governance .governance__contentIn li p,
#governance .compliance__in li p {
    width: calc(100% - 25px);
}

/** compliance **/
#governance .compliance {
    margin: 0 0 50px;
}

#governance .compliance img {
    margin: 0 0 20px;
}

#governance .compliance__in {
    margin: 0 0 40px;
}

/************************************
archive_news
************************************/
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 50px auto 0;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    background: none;
    color: #ea6876;
    text-decoration: none;
    transition: background 0.3s, color 0.3s;
}

.wp-pagenavi .page,
.wp-pagenavi .current {
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    padding: 0;
    border-radius: 50%;
}

.wp-pagenavi .current,
.wp-pagenavi a:hover {
    background: #fddfe2;
    color: #3c4042;
}

.wp-pagenavi .extend {
    background: none;
    color: #3c4042;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    padding: 5px 20px;
    line-height: 24px;
    border-radius: 17px;
}

/************************************
single_news
************************************/
#single_news .single_news {
    /* margin: 150px auto 0; */
    padding-top: 150px;
}

#single_news .single_news__contentWrap {
    padding: 0 0 40px;
    border-bottom: 1px solid #e4e4e4;
    margin: 0 0 40px;
}

#single_news h1 {
    font-size: 22px;
    margin: 0 0 30px;
}

#single_news .single_news__content h2 {
    font-size: 20px;
    border-bottom: none;
    padding: 0;
    margin: 0 0 20px;
}

#single_news .single_news__content h3 {
    margin: 0 0 15px;
}

#single_news .single_news__content p {
    margin: 0 0 30px;
}

#single_news .single_news__content img {
    max-width: 100%;
    width: auto;
    margin: 0 0 30px;
}

#single_news .single_news__content a {
    color: #ea6876;
    text-decoration: underline;
}

#single_news .back_list {
    color: #ea6876;
    font-weight: bold;
}

#single_news .back_list img {
    width: 15px;
    vertical-align: middle;
    margin: 0 10px 0 0;
}

#single_news .back_list:hover {
    text-decoration: underline;
}

/************************************
contact
************************************/

/* #contact .width {
  width: 1370px;
} */
#contact .contact-text {
    font-size: 24px;
    font-weight: bold;
    width: 100%;
    padding: 9px;
    border: solid 2px #ea6876;
}

#contact .contact__headTxt {
    margin: 0 0 30px;
}

#contact .contact_tel_fax {
    background: #f7f7f7;
    padding: 20px 5%;
    border-radius: 3px;
}

#contact .contact_mail,
#contact .contact_tel,
#contact .contact_fax {
    padding: 30px 0;
}

#contact .contact_tel,
#contact .contact_fax {
    border-bottom: 1px solid #c7c7c7;
}

#contact .contact_mail__head,
#contact .contact_tel__head,
#contact .contact_fax__head {
    font-weight: bold;
    margin: 0 0 15px;
}

#contact .contact__number {
    font-family: "Overpass", sans-serif;
    color: #ea6876;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.1;
}

#contact .cnt_bl .contact__number {
    color: #235496;
}

#contact .contact__number img {
    width: 26px;
    vertical-align: middle;
    margin: 0 5px 0 0;
}

#contact .contact__notes {
    font-size: 12px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

#contact .contact h2 {
    font-size: 20px;
    border-bottom: none;
    padding: 0;
    margin: 0 0 30px;
}

#contact .contact__txtWrap {
    margin: 0 0 30px;
}

#contact .contact__txtWrap p {
    margin: 0 0 10px;
}

#contact .contact__txtWrap p span {
    color: #d00000;
}

#contact .contact_mail_btn {
    color: #fff;
    background: linear-gradient(to left, #f8ae9c, #ea6876);
    padding: 20px 22px;
    border-radius: 5px;
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 10px;
    transition: all 0.3s;
}

#contact .contact_mail_btn:hover {
    opacity: 0.7;
}

#contact .contact_mail_btn:hover .link__arrow {
    transform: translateX(5px);
}

#contact .cnt_bl .contact_fax {
    border-right: none;
}

#contact .cnt_bl .sec_ttl {
    color: #235496;
}

#contact .cnt_bl .sec_ttl span {
    color: #383838;
    font-size: 16px;
}

.cnt_bl .sec_ttl::after {
    background: linear-gradient(to right, #235496 0 20%, #ccc 20% 100%);
}

/************************************
form関連
************************************/
#form .form__list {
    margin: 0 0 20px;
}

#form .form__term {
    margin: 0 0 10px;
}

#form .form__req {
    color: #d00000;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    padding: 15px;
    border: 1px solid #d6d6d6;
    border-radius: 3px;
    width: 100%;
}

input[name="zip__number"] {
    width: 50%;
}

#form .postal_symbol {
    margin: 0 10px 0 0;
}

input[type="radio"] {
    -webkit-appearance: radio;
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
}

.wpcf7-list-item.first {
    margin-left: 0;
}

#form .acceptance {
    text-align: center;
    margin: 40px auto 30px;
}

#form a {
    color: #ea6876;
    text-decoration: underline;
}

#form .action {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

input[type="submit"],
input[type="button"] {
    display: block;
    font-size: 20px;
    text-align: center;
    padding: 25px;
    margin: 0 30px;
    max-width: 350px;
    width: 80%;
    border-radius: 40px;
    color: #fff;
}

input[type="submit"] {
    position: relative;
    background: #333;
}

input[type="button"] {
    background: #c7c7c7;
}

input[type="submit"]::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    display: block;
    background: url("../img/common/arrow_w.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 25px;
    height: 25px;
}

input[type="submit"]:hover,
input[type="button"]:hover {
    cursor: pointer;
    opacity: 0.8;
}

#form input[type="submit"][disabled] {
    background: #c7c7c7;
}

#form input[type="submit"][disabled]:hover {
    cursor: not-allowed;
    opacity: 1;
}

.wpcf7c-elm-step2 p {
    margin: 0 0 50px;
    font-size: 20px;
    font-weight: bold;
}

.wpcf7c-elm-step3 p {
    font-size: 20px;
    color: #ea6876;
    font-weight: bold;
    border: 2px solid #ea6876;
    padding: 15px;
    text-align: center;
}

.wpcf7-spinner {
    margin: 0 50% !important;
}

/************************************
privacypolicy,termsofuse
************************************/
#privacypolicy .page__headline02 h1 span,
#termsofuse .page__headline02 h1 span {
    margin: 0 0 0 -180px;
}

#privacypolicy .privacypolicy__headTxt,
#privacypolicy .privacypolicy__content,
#termsofuse .termsofuse__content {
    margin: 0 0 30px;
}

#privacypolicy h2,
#termsofuse h2 {
    font-size: 16px;
    font-weight: normal;
    border-bottom: none;
    padding: 0;
    margin: 0;
    color: #ea6876;
}

#privacypolicy .contact_link {
    color: #ea6876;
    text-decoration: underline;
}

.employee_ttl {
    display: flex;
    align-items: center;
    height: 60px;
    padding: 0 22px;
    font-size: 20px;
    background: #ea6876;
    color: #fff;
    margin: 0px 0px 30px;
    border-radius: 30px;
    justify-content: center;
}

.data_inner {
    position: relative;
    max-width: 1110px;
    /* max-width: 1040px; */
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
}

.contents {
    padding: 60px 0 100px;
}

.txt-note {
    line-height: 1.8;
    font-size: 16px;
    max-width: 850px;
    margin: 0 auto;
    text-align: justify;
}

/************************************
  company/コンプライアンス　compliance
  ************************************/
#compliance .compliance__headline h2 {
    font-size: 30px;
    border-bottom: none;
    margin-bottom: 0px;
    padding-bottom: 0;
}

#compliance .compliance__headline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 20px;
    margin: 0 0 25px;
    border-bottom: 2px;
    border-image: linear-gradient(to right, #ea6876 0, #ea6876 20%, #d6d6d6 20%, #d6d6d6 100%) 1 / 0 0 2px 0;
    border-style: solid;
}

#compliance .compliance h3 {
    color: #ea6876;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

#compliance .compliance_list {
    margin-bottom: 30px;
}

#compliance .compliance_list li {
    display: flex;
    gap: 5px;
    margin-bottom: 8px;
}

#compliance .compliance_list.-circle li::before {
    content: "●";
    color: #ea6876;
    font-size: 0.5em;
    padding-top: 0.75em;
}

.form_list li {
    margin-bottom: 10px;
}

.form_item {
    color: #fff;
    background: linear-gradient(to left, #f8ae9c, #ea6876);
    width: 100%;
    padding: 32px 40px;
    display: flex;
    justify-content: space-between;
    border-radius: 5px;
    font-size: 24px;
    font-weight: bold;
    transition: all 0.3s;
    gap: 5px;
}

.form_item .link__arrow {
    flex: none;
}

.form_item:hover {
    transition: all 0.3s;
    opacity: 0.7;
}

.form_item:hover .link__arrow {
    transition: all 0.3s;
    transform: translateX(5px);
}

.contact_head_num {
    color: #ea6876;
    font-weight: bold;
    font-size: 24px;
}

.att_news {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.att_news_item {
    display: flex;
    align-items: center;
    gap: 40px;
}

.att_news_list li a {
    color: #ff0000;
    font-weight: 500;
}

.att_news_list li a h3 {
    text-decoration: underline;
    font-weight: normal;
}

.att_news_list li a:hover {
    opacity: 0.7;
}

.att_news_list li a:hover h3 {
    text-decoration: none;
}

.att_news_list li {
    padding: 20px 40px;
    background: rgba(255, 230, 230, 0.9);
}

.att_head {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: none;
}

.att_head img {
    width: 1.4em;
    height: 1.4em;
}

#index .link_here {
    color: #fff;
    max-width: 450px;
    width: 100%;
    border: 1px solid #fff;
    padding: 20px;
    font-size: 20px;
    font-weight: bold;
}

#index .link_here .link__arrow {
    width: 25px;
}

@media screen and (max-width: 768px) {
    .form_item {
        padding: 15px;
        font-size: 14px;
    }

    .contact_head_num {
        font-size: 18px;
    }

    #page .ay_pharma .page__headline {
        margin-top: 0;
        padding-top: 120px;
        padding-bottom: 0;
    }

    .att_news_item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0px;
    }

    .att_news_list li {
        padding: 10px 20px;
    }

    .att_news_list li a h3 {
        font-size: 18px;
    }
}

/*画面サイズが768pxからはここを読み込む*/
@media screen and (min-width: 768px) {

    /************************************
  component
  ************************************/
    /** contact_banner **/
    #contact_banner a {
        padding: 70px 5%;
    }

    #contact_banner a span {
        font-size: 45px;
    }

    #contact_banner a:hover {
        opacity: 0.8;
    }

    /** company_nav,sustainability_nav **/
    #business_nav,
    #company_nav,
    #sustainability_nav {
        padding: 70px 5%;
    }

    #business_nav p,
    #company_nav p,
    #sustainability_nav p {
        font-size: 24px;
        margin: 0 0 40px;
    }

    #business_nav ul,
    #company_nav ul,
    #sustainability_nav ul {
        display: flex;
        flex-wrap: wrap;
        gap: 20px 10px;
    }

    #business_nav .business_nav__item,
    #company_nav .company_nav__item,
    #sustainability_nav .sustainability_nav__item {
        width: 32%;
        margin: 0 0 40px 0;
    }

    #business_nav .business_nav__item:nth-child(4n),
    #company_nav .company_nav__item:nth-child(4n),
    #sustainability_nav .sustainability_nav__item:nth-child(4n) {
        margin-right: 0;
    }

    #business_nav .business_nav__link,
    #company_nav .company_nav__link,
    #sustainability_nav .sustainability_nav__link {
        padding: 0 10px 15px;
    }

    #business_nav .link__arrow,
    #company_nav .link__arrow,
    #sustainability_nav .link__arrow {
        width: 15px;
    }

    #business_nav .business_nav__link:hover .link__arrow,
    #company_nav .company_nav__link:hover .link__arrow,
    #sustainability_nav .sustainability_nav__link:hover .link__arrow {
        transform: translateX(5px);
    }

    /************************************
  index
  ************************************/
    #index .section__headline span {
        display: inline-block;
        font-size: 48px;
        text-shadow: 5px 2px #e4e4e5;
    }

    /** main__vis **/
    #index .main__vis {
        margin: 0 0 70px;
    }

    #index .main__copy {
        bottom: 40px;
        left: 5%;
        color: #fff;
        font-size: 18px;
    }

    #index .main__copy span {
        font-size: 76px;
    }

    #index .scroll {
        bottom: 30%;
        right: -5%;
    }

    /** bg__wrap **/
    #index .bg__wrap {
        background: url("../img/index/background_img01.png");
        background-position: left center;
        background-repeat: no-repeat;
        background-size: 70%;
    }

    /** news **/
    #index .news {
        margin: 0 auto 90px;
    }

    #index .news__link {
        padding: 0 15px 5px;
    }

    #index .news__link:hover {
        border-bottom: none;
        transform: translateY(5px);
    }

    #index .news__in,
    #archive_news .archive_news .section__in {
        display: flex;
        justify-content: space-between;
    }

    #index .news__catWrap,
    #archive_news .news__catWrap {
        width: 20%;
    }

    #archive_news .news__catWrap ul {
        position: sticky;
        top: 100px;
    }

    #index .news__list,
    #archive_news .archive_news__in {
        width: 78%;
    }

    #index .news__list li a,
    #archive_news .archive_news__list li a {
        padding: 30px 20px;
    }

    #index .news__list li a:hover h3,
    #archive_news .archive_news__list li a:hover h3 {
        text-decoration: underline;
    }

    #index .news__list li a:hover .link__arrow,
    #archive_news .archive_news__list li a:hover .link__arrow {
        transform: translateX(5px);
    }

    #index .news__list li a .news__time_cat,
    #archive_news .archive_news__list li a .archive_news__time_cat,
    #single_news .single_news__time_cat {
        /* margin: 0 0 20px; */
    }

    /** message **/
    #index .message {
        background: none;
        padding: 75px 0 160px;
    }

    #index .message__in {
        width: 90%;
    }

    #index .message__in h2 {
        font-size: 34px;
        margin: 0 0 50px;
    }

    #index .message__in p {
        font-size: 20px;
        line-height: 2.5;
    }

    #index .message .message_img01 {
        right: 0;
        bottom: -300px;
        max-width: 700px;
        width: 50%;
    }

    #index .message .message_img02 {
        left: 0;
        bottom: -90px;
        max-width: 250px;
        width: 18%;
    }

    /** company **/
    #index .company__intro {
        background: url("../img/index/company_bg01.png");
        background-position: right bottom;
        background-repeat: no-repeat;
        background-size: 80% 100%;
        padding: 100px 5% 50px;
    }

    #index .company__intro .section__headline {
        margin: 0 0 50px;
    }

    #index .company__intro h3 {
        font-size: 24px;
        margin: 0 0 20px;
    }

    #index .company__topmessage {
        background: url("../img/index/company_bg02.png");
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: 90% 80%;
        padding: 0 0 70px;
    }

    #index .company__topmessageIn {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 95%;
        margin: 0 0 0 auto;
    }

    #index .company__topmessageIn img {
        width: 50%;
        order: 2;
    }

    #index .company__topmessageTxt {
        width: 50%;
        padding: 30px 5%;
    }

    #index .company__topmessageTxt h3 {
        font-size: 48px;
        margin: 0 0 20px;
    }

    #index .company__topmessageTxt h3 img {
        width: 32px;
    }

    #index .company__topmessageTxt p {
        font-size: 22px;
        margin: 0 0 30px;
    }

    #index .company__topmessageTxt a {
        padding: 0 0 10px;
    }

    #index .company__topmessageTxt a .link__arrow {
        margin: 0 0 0 30px;
    }

    #index .company__topmessageTxt a:hover {
        padding: 0 10px 10px 0;
    }

    #index .company__topmessageTxt a:hover .link__arrow,
    #index .company__link:hover .link__arrow,
    #index .company__page a:hover .link__arrow,
    #index .sustainability__list li a:hover .link__arrow {
        transform: translateX(5px);
    }

    #index .company__linkWrap {
        display: flex;
        margin: 0 0 70px;
    }

    #index .company__link {
        width: 50%;
        padding: 70px 5%;
    }

    #index .company__link span {
        font-size: 34px;
        margin: 0 0 20px;
    }

    #index .company__link p {
        font-size: 18px;
    }

    #index .company__link p img {
        margin: 0 0 0 30px;
    }

    #index .company__link:hover {
        filter: brightness(130%);
    }

    #index .structure {
        margin: 0 auto;
    }

    #index .structure h3 {
        display: inline-block;
        font-size: 20px;
        padding: 0 15px 10px;
        margin: 0 0 70px;
    }

    #index .structure ul {
        display: flex;
        flex-wrap: wrap;
    }

    #index .structure .company__page {
        width: 49%;
        margin: 0 2% 50px 0;
    }

    #index .structure .company__page:nth-child(2n) {
        margin-right: 0;
    }

    #index .company__page a {
        padding: 0 20px 20px;
    }

    #index .company__page a:hover p {
        text-decoration: underline;
    }

    #index .company__page .company__page_l .company__icon {
        width: 90px;
    }

    #index .company__page .company__page_l p {
        margin: 0 0 0 15px;
        font-size: 24px;
    }

    #index .base {
        background: url("../img/index/base_bg.png");
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: 80%;
        padding: 50px 5%;
    }

    #index .base__head {
        margin: 0 0 20px;
    }

    #index .base__head h3 {
        font-size: 24px;
        margin: 0 0 15px;
    }

    #index .base ul {
        width: 45%;
        margin: 0 0 0 auto;
    }

    #index .base .company__page {
        margin: 0 0 40px;
    }

    /** sustainability **/
    #sustainability__wrap {
        background-color: #fff;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        padding: 70px 5%;
        transition: background-image 0.5s;
    }

    #sustainability__wrap.bg01 {
        background-image: url("../img/index/sustainability_bg01.jpg");
    }

    #sustainability__wrap.bg02 {
        background-image: url("../img/index/sustainability_bg02.jpg");
    }

    #sustainability__wrap.bg03 {
        background-image: url("../img/index/sustainability_bg03.jpg");
    }

    #sustainability__wrap.bg04 {
        background-image: url("../img/index/sustainability_bg04.jpg");
    }

    #sustainability__wrap,
    #index .sustainability__head {
        text-align: center;
        margin: 0 0 60px;
    }

    #index .sustainability__head h2 {
        text-align: center;
        margin: 0 0 30px;
    }

    #index .sustainability__head h2 span {
        font-size: 48px;
    }

    #index .sustainability__head h3 {
        text-align: center;
        font-size: 24px;
        margin: 0 0 15px;
    }

    #index .sustainability__list {
        display: flex;
        flex-wrap: wrap;
    }

    #index .sustainability__list li {
        width: 48%;
        margin: 0 4% 60px 0;
    }

    #index .sustainability__list li:nth-child(2n) {
        margin-right: 0;
        margin-bottom: 60px;
    }

    #index .sustainability__list li a p {
        padding: 25px 10px;
        font-size: 20px;
    }

    #index .sustainability__list li a:hover {
        filter: brightness(110%);
    }

    /** group_company **/
    #index .group_company {
        background: url("../img/index/group_company_bg.png");
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: 90%;
        padding: 70px 0 0;
        margin: 0 0 120px;
    }

    #index .group_company .section__headline {
        margin: 0 0 80px;
    }

    #index .group_company__content {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 60px;
    }

    #index .group_company__content:last-child {
        margin: 0;
    }

    #index .group_company__content .group_company__img {
        width: 80%;
    }

    #index .group_company__content_r .group_company__img {
        margin: 0 0 0 auto;
    }

    #index .group_company__txtWrap {
        position: absolute;
        width: 45%;
        padding: 50px 4%;
        transition: 0.3s;
    }

    #index .group_company__content_l .group_company__txtWrap {
        right: 0;
        margin: 0;
    }

    #index .group_company__content_r .group_company__txtWrap {
        left: 0;
        margin: 0;
    }

    #index .group_company__txtWrap img {
        margin: 0 0 15px;
    }

    #index .group_company__txtWrap p {
        font-size: 18px;
    }

    #index .group_company__content:hover .group_company__txtWrap {
        width: 46%;
    }

    #index .group_company__content:hover .group_company__img {
        filter: brightness(105%);
    }

    /** recruit **/
    #index .recruit a {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0;
    }

    #index .recruit a.-right {
        justify-content: end;
    }

    #index .recruit a img {
        width: 75%;
    }

    #index .recruit .recruit__txtWrap {
        position: absolute;
        right: 0;
        width: 45%;
        padding: 40px 5%;
        margin: 0;
        transition: 0.3s;
    }

    #index .recruit .recruit__txtWrap.-left {
        position: absolute;
        right: unset;
        left: 0;
        width: 45%;
        padding: 40px 5%;
        margin: 0;
        transition: 0.3s;
    }

    #index .recruit .recruit__txtWrap span {
        font-size: 48px;
    }

    #index .recruit .recruit__txtWrap p {
        font-size: 14px;
    }

    #index .recruit a:hover .recruit__txtWrap {
        width: 48%;
    }

    /************************************
  page共通
  ************************************/
    /** page__headline **/
    #page .page__headline {
        margin: 0 0 70px;
    }

    #page h1 {
        font-size: 30px;
    }

    #page h1 span {
        font-size: 60px;
    }

    #page .page__headline h1 {
        top: 45%;
        left: 5%;
    }

    /** page__headline02 **/
    #page .page__headline02 {
        padding: 130px 5% 70px;
        margin: 0 0 70px;
    }

    #page .page__headline02 h1 {
        display: flex;
        align-items: center;
    }

    #page .page__headline02 h1 span {
        margin: 0 0 0 -290px;
    }

    #page .page__headline02.-p03 h1 span {
        margin: 0 0 0 -290px;
    }

    #page h2 {
        font-size: 32px;
        padding: 0 0 15px;
        margin: 0 0 30px;
    }

    /** sustainability__head **/
    #page .sustainability__headWrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin: 0 0 60px;
    }

    #page .sustainability__headTxt {
        width: 65%;
        margin: 0;
    }

    #page .sustainability__headWrap img {
        width: 33%;
    }

    #page .sustainability__headline {
        font-size: 24px;
        padding: 0 0 20px;
        margin: 0 0 40px;
    }

    /** section__in **/
    #page .section__in {
        width: 90%;
        margin: 0 auto 90px;
    }

    #page .page__section {
        border-radius: 200px 0 0 0;
        padding: 130px 5% 70px;
    }

    /************************************
  company/top_message
  ************************************/
    #top_message .top_message .section__in {
        display: flex;
        justify-content: space-between;
    }

    #top_message .top_message__txt {
        width: 60%;
    }

    #top_message .ceo__imgWrap {
        width: 35%;
    }

    #top_message .ceo__imgWrap img {
        margin: 0 0 20px;
    }

    #top_message .ceo__imgWrap p {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        font-size: 20px;
        margin: 0 0 70px;
    }

    #top_message .ceo__imgWrap p span {
        font-size: 14px;
        margin: 0 1em 0 0;
    }

    /************************************
    company/philosophy
    ************************************/
    #philosophy .intro {
        width: 90%;
        margin: 0 auto 70px;
    }

    #philosophy .intro_text {}

    #philosophy .intro_name {
        margin-top: 64px;
    }

    #philosophy .philosophy {}

    #philosophy .philosophy h2 {
        width: 90%;
        margin: 0 auto 70px;
        font-size: 32px;
    }

    #philosophy .content {
        background: url("../img/philosophy/philosophy_bg.png");
        background-position: right bottom;
        background-repeat: no-repeat;
        background-size: 100% 80%;
        padding: 0 0 90px;
    }

    #philosophy .image {
        margin: 0 0 60px auto;
        text-align: right;
    }

    #philosophy .image img {
        width: 90%;
    }

    #philosophy .philosophy li {
        margin: 0 0 110px;
    }

    #philosophy .philosophy li::after {
        bottom: -50px;
        width: 220px;
    }

    #philosophy .philosophy li h3 {
        font-size: 82px;
    }

    #philosophy .philosophy li p {
        font-size: 20px;
        margin: -40px 0 0;
    }

    #philosophy .quality {
        padding-top: 90px;
    }

    #philosophy .quality h2 {
        font-size: 24px;
    }

    #philosophy .quality ol {}

    #philosophy .quality ol>li {}

    /************************************
  company/company_profile
  ************************************/
    #company_profile .company_profile dl div {
        display: flex;
        border-bottom: none;
        padding: 0;
    }

    #company_profile .company_profile dl div dt {
        width: 20%;
        padding: 30px 10px;
        border-bottom: 2px solid #ea6876;
        display: flex;
        align-items: center;
    }

    #company_profile .company_profile dl div dd {
        width: 80%;
        padding: 30px;
        border-bottom: 1px solid #d6d6d6;
    }

    /************************************
  company/financial_info
  ************************************/
    #financial_info .financial_info p {
        margin: 0 0 70px;
    }

    #financial_info .financial_info__imgWrap {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 110px;
    }

    #financial_info .financial_info__imgWrap .financial_info__img {
        width: 49%;
        margin: 0 2% 20px 0;
    }

    #financial_info .financial_info__imgWrap .financial_info__img02 {
        margin-right: 0;
    }

    /************************************
  company/officer_introduction
  ************************************/
    /** ceo **/
    #officer_introduction .ceo__wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin: 0 0 60px;
    }

    #officer_introduction .ceo__wrap img {
        width: 45%;
        margin: 0;
    }

    #officer_introduction .ceo__wrap02 img {
        order: 2;
    }

    #officer_introduction .ceo__wrap .officer_txtWrap {
        width: 50%;
    }

    #officer_introduction .ceo__wrap .officer_txtWrap.-wide {
        width: 100%;
    }

    #officer_introduction .officer_txtWrap h2 {
        font-size: 20px;
        margin: 0 0 15px;
    }

    #officer_introduction .officer_txtWrap h2 span {
        font-size: 14px;
    }

    #officer_introduction .officer_txtWrap dl div dt,
    #group_company .group_company__content dl div dt {
        width: 35%;
    }

    #officer_introduction .officer_txtWrap dl div dd,
    #group_company .group_company__content dl div dd {
        width: 63%;
    }

    /** other_officer **/
    #officer_introduction .other_officer ul {
        display: flex;
        flex-wrap: wrap;
    }

    #officer_introduction .other_officer .officer_txtWrap {
        width: 49%;
        margin: 0 2% 80px 0;
    }

    #officer_introduction .other_officer .officer_txtWrap.-wide {
        width: 100%;
        margin: 0 0 80px 0;
    }

    #officer_introduction .other_officer .officer_txtWrap:nth-child(2n) {
        margin-right: 0;
    }

    /************************************
  company/group_company
  ************************************/

    #group_company .group_company__headline {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 0 20px;
        margin: 0 0 25px;
        border-bottom: 2px;
        border-image: linear-gradient(to right, #ea6876 0, #ea6876 20%, #d6d6d6 20%, #d6d6d6 100%) 1/0 0 2px 0;
        border-style: solid;
    }

    #group_company .group_company__headline h2 {
        font-size: 24px;
        border-bottom: none;
        margin: 0;
        padding: 0;
    }

    #group_company .group_company__headline a {
        width: 250px;
        padding: 15px 25px;
        font-size: 16px;
        margin: 0;
    }

    #group_company .group_company__headline a .link__arrow {
        width: 20px;
    }

    #group_company .group_company p {
        margin: 0 0 50px;
    }

    #group_company .group_company__content {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    #group_company .group_company__content img {
        width: 50%;
        order: 2;
    }

    #group_company .group_company__content dl {
        width: 45%;
    }

    #group_company .group_company__content dl div {
        padding: 20px 0;
    }

    /************************************
  company/production_base
  ************************************/
    /** production_base **/
    #production_base .production_base h2,
    #sales_base .sales_base h2,
    #logistics_base .logistics_base h2 {
        font-size: 24px;
        margin: 0 0 70px;
    }

    #production_base .production_base h2::after,
    #sales_base .sales_base h2::after,
    #logistics_base .logistics_base h2::after {
        bottom: -35px;
        width: 160px;
    }

    #production_base .production_base p,
    #sales_base .sales_base p,
    #logistics_base .logistics_base p {
        margin: 0 0 110px;
    }

    /** dosage_form **/
    #production_base .dosage_form__content h3 {
        font-size: 24px;
        margin: 0 0 15px;
    }

    #production_base .dosage_form__content {
        padding: 0 0 20px;
        margin: 0 0 70px;
    }

    #production_base .dosage_form__content li {
        width: 22%;
        margin: 0 4% 40px 0;
    }

    #production_base .dosage_form__content li:nth-child(2n) {
        margin: 0 4% 40px 0;
    }

    #production_base .dosage_form__content li:nth-child(4n) {
        margin-right: 0;
    }

    #production_base .dosage_form__content li img {
        margin: 0 0 10px;
    }

    /************************************
  company/sales_base
  ************************************/
    #sales_base .sales_base__list dl div {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        padding: 0;
        border-bottom: none;
    }

    #sales_base .sales_base__list dl div dt {
        width: 15%;
        border-bottom: 2px solid #ea6876;
        padding: 30px 10px;
        margin: 0;
    }

    #sales_base .sales_base__list dl div dd {
        width: 85%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 2px solid #d6d6d6;
        padding: 20px 30px;
    }

    #sales_base .sales_base__list dl div dd a {
        width: 62%;
    }

    #sales_base .sales_base__list dl div dd a img {
        width: 18px;
        margin: 0 5px 0 0;
    }

    #sales_base .sales_base__list dl div dd p {
        width: 35%;
    }

    /************************************
  company/logistics_base
  ************************************/

    /************************************
  company/history
  ************************************/
    #history .history {
        margin: 0 0 70px;
    }

    #page .ay_pharma .page__headline h1 {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #0468b7;
    }

    #history .history h2 {
        font-size: 52px;
        width: 90%;
    }

    #history .history h2 span {
        font-size: 36px;
        margin: 0 20px;
    }

    #history .history__content {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding: 30px 5%;
    }

    #history .history__year {
        justify-content: space-between;
        width: 30%;
        margin: 0;
    }

    #history .history__year p span {
        font-size: 30px;
        margin: 0 5px 0 0;
    }

    #history .history__year::before {
        left: auto;
        right: 0;
    }

    #history .history__content::after {
        top: 0;
        left: 31.2%;
    }

    #history .history__content:first-child::after {
        top: 50px;
    }

    #history .history__content:last-child::after {
        height: 49%;
    }

    #history .history__event {
        width: 70%;
        padding: 0 30px;
    }

    #history .history__event_txtWrap {
        margin: 0 0 10px;
    }

    #history .history__event_txtWrap01 {
        align-items: center;
    }

    #history .history__companyWrap .history__company {
        margin: 0 10px 10px 0;
    }

    #history .history__company {
        width: 170px;
        font-size: 14px;
        padding: 5px 10px;
        border-radius: 16px;
        margin: 0 0 10px;
    }

    #history .history__imgWrap img {
        max-width: 320px;
        width: 32%;
        margin: 0 2% 0 0;
    }

    /************************************
    sustainability
    ************************************/
    #sustainability .sustainability {}

    #sustainability .sustainability_ttl {}

    #sustainability .sustainability_text {}

    #sustainability .sustainability_ft {}

    /************************************
    sustainability/initiatives
    ************************************/
    #initiatives .initiatives {}

    #initiatives .initiatives__sec {}

    #initiatives .initiatives__ttl {}

    #initiatives .initiatives__wrap {
        margin-top: 42px;
        gap: 4.5%;
        grid-template-columns: 1fr 34%;
    }

    #initiatives .initiatives__cnt {}

    #initiatives .initiatives__img {}

    /************************************
    sustainability/environment
    ************************************/
    #environment .environment__content {
        margin: 0 0 90px;
    }

    #environment .environment__headWrap p {
        padding: 0 30px 0 0;
    }

    #environment .environment__contentIn {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    #environment .environment__contentTxt {
        width: 55%;
    }

    #environment .environment__content01 .environment__imgWrap,
    #environment .environment__content02 img {
        width: 42%;
    }

    #environment .environment__content02 img {
        order: 2;
    }

    #environment .environment__content01 .environment__imgWrap img {
        margin: 0 0 15px;
    }

    #environment .environment__content03 p {
        margin: 0 0 30px;
    }

    /************************************
  sustainability/employee_benefits
  ************************************/
    #employee_benefits .employee_benefits__content {
        margin: 0 0 100px;
    }

    #employee_benefits .employee_benefits__content ul {
        display: flex;
        flex-wrap: wrap;
    }

    #employee_benefits .employee_benefits__content li {
        width: 49%;
        margin: 0 2% 15px 0;
        padding: 40px 3%;
    }

    #employee_benefits .employee_benefits__content li:nth-child(2n) {
        margin-right: 0;
    }

    #employee_benefits .employee_benefits__content li img {
        width: 35%;
    }

    #employee_benefits .employee_benefits__contentTxt {
        width: 60%;
    }

    #employee_benefits .employee_benefits__contentTxt h4 {
        font-size: 20px;
        margin: 0 0 10px;
    }

    #employee_benefits .employee_benefits__contentTxt p {
        font-size: 14px;
    }

    /************************************
  sustainability/social_contribution
  ************************************/
    /** activities **/
    #social_contribution .activities__contentWrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    #social_contribution .activities__contentWrap dl {
        width: 67%;
    }

    #social_contribution .activities__contentIn {
        display: flex;
        justify-content: space-between;
        padding: 20px 10px;
    }

    #social_contribution .activities__contentIn dt {
        width: 18%;
    }

    #social_contribution .activities__contentIn dd {
        width: 80%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    #social_contribution .activities__contentIn dd p {
        display: flex;
    }

    #social_contribution .certificate_img {
        width: 28%;
    }

    #social_contribution .activities__contentImg {
        margin: 0;
        max-width: 150px;
    }

    /** donation **/
    #social_contribution .donation__headWrap {
        display: flex;
        justify-content: space-between;
        margin: 0 0 70px;
    }

    #social_contribution .donation__head {
        margin: 0;
    }

    #social_contribution .donation__head {
        width: 47%;
    }

    #social_contribution .donation__content {
        margin: 0 0 70px;
    }

    #social_contribution .donation__content h4 {
        font-size: 20px;
        padding: 0 0 15px;
    }

    #social_contribution .donation__content ul li {
        display: flex;
        justify-content: space-between;
    }

    #social_contribution .donation__content ul li p {
        width: 50%;
    }

    #social_contribution .donation__content ul li .donation__content_img {
        justify-content: flex-end;
        width: 45%;
    }

    #social_contribution .donation__content ul li .donation__content_img img {
        margin: 0 0 0 2%;
    }

    /************************************
  sustainability/governance
  ************************************/
    /** governance__content **/
    #governance .governance__content {
        margin: 0 0 50px;
    }

    #governance .governance__contentIn {
        padding: 65px 10%;
    }

    /** compliance **/
    #governance .compliance {
        margin: 0 0 100px;
    }

    #governance .compliance img {
        margin: 0 0 50px;
    }

    #governance .compliance__in {
        margin: 0 0 60px;
    }

    /************************************
  archive_news
  ************************************/
    #archive_news .news__catWrap ul {
        position: sticky;
        top: 80px;
    }

    /************************************
  single_news
  ************************************/
    #single_news .single_news {
        /* margin: 150px auto 0; */
        padding-top: 150px;
    }

    #single_news .single_news .section__in {
        display: flex;
        justify-content: space-between;
    }

    #single_news .single_news__contentWrap {
        width: 75%;
        padding: 0 0 60px;
        margin: 0;
    }

    #single_news h1 {
        font-size: 24px;
        margin: 0 0 30px;
    }

    #single_news .single_news__content h2 {
        font-size: 20px;
        border-bottom: none;
        padding: 0;
        margin: 0 0 20px;
    }

    #single_news .back_list {
        width: 20%;
    }

    /************************************
  contact
  ************************************/
    #contact .contact__headTxt {
        margin: 0 0 40px;
    }

    #contact .contact_tel_fax {
        display: flex;
        justify-content: space-between;
        padding: 50px 0;
    }

    #contact .contact_mail,
    #contact .contact_tel,
    #contact .contact_fax {
        /* width: 50%; */
        padding: 0 5%;
    }

    #contact .contact_fax,
    #contact .contact_tel {
        border-right: 1px solid #c7c7c7;
        border-bottom: none;
    }

    #contact .contact_mail__head,
    #contact .contact_tel__head,
    #contact .contact_fax__head {
        margin: 0 0 15px;
    }

    #contact .contact__number img {
        margin: 0 5px 0 0;
    }

    #contact .contact__notes {
        font-size: 14px;
    }

    #contact .contact h2 {
        font-size: 24px;
        border-bottom: none;
        padding-bottom: 20px;
        margin: 0 0 30px;
    }

    #contact .contact__txtWrap {
        margin: 0 0 30px;
    }

    #contact .contact__txtWrap p {
        margin: 0 0 10px;
    }

    #contact .contact_cnt {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
        margin-top: 30px;
    }

    #contact .contact_cnt  > *:only-child {
        grid-column: 3;
    }

    /************************************
  form関連
  ************************************/
    #form .form__list {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 20px;
    }

    #form .form__term {
        width: 20%;
    }

    #form .form__description {
        width: 80%;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea {
        padding: 15px;
    }

    input[name="zip__number"] {
        width: 30%;
    }

    #form .postal_symbol {
        margin: 0 10px 0 0;
    }

    #form .acceptance {
        margin: 80px auto 50px;
    }

    /************************************
  privacypolicy,termsofuse
  ************************************/
    #privacypolicy .page__headline02 h1 span,
    #termsofuse .page__headline02 h1 span {
        margin: 0 0 0 -180px;
    }

    #privacypolicy .privacypolicy__headTxt,
    #privacypolicy .privacypolicy__content,
    #termsofuse .termsofuse__content {
        margin: 0 0 30px;
    }

    #privacypolicy h2,
    #termsofuse h2 {
        font-size: 16px;
        font-weight: normal;
        border-bottom: none;
        padding: 0;
        margin: 0;
    }

    #group_company .group_company__content dl div dt.width_01 span {
        margin-top: 10px;
        display: block;
    }

    #group_company .group_company__content dl div dd.width_02 span {
        margin-top: 10px;
        display: block;
    }
}

/*画面サイズが1025pxからはここを読み込む*/
@media screen and (min-width: 1025px) {

    /************************************
  component
  ************************************/
    /** contact_banner **/
    #contact_banner a {
        padding: 110px 5%;
    }

    #contact_banner a span {
        font-size: 45px;
    }

    /** company_nav,sustainability_nav **/
    #business_nav,
    #company_nav,
    #sustainability_nav {
        padding: 90px 10%;
    }

    #business_nav p,
    #company_nav p,
    #sustainability_nav p {
        font-size: 30px;
        margin: 0 0 40px;
    }

    /************************************
  index
  ************************************/
    #index .section__headline span {
        font-size: 56px;
        text-shadow: 5px 2px #e4e4e5;
    }

    /** main__vis **/
    #index .main__vis {
        margin: 0 0 110px;
    }

    #index .main__copy {
        bottom: 60px;
        left: 5%;
        font-size: 22px;
    }

    #index .main__copy span {
        font-size: 100px;
    }

    #index .scroll {
        bottom: 30%;
        right: -2%;
    }

    /** news **/
    #index .news {
        width: 80%;
        margin: 0 auto 120px;
    }

    #index .news__catWrap,
    #archive_news .news__catWrap {
        width: 15%;
    }

    #index .news__list,
    #archive_news .archive_news__in {
        width: 83%;
    }

    /** message **/
    #index .message {
        padding: 100px 0 160px;
    }

    #index .message__in {
        width: 80%;
    }

    /** company **/
    #index .company__intro {
        padding: 150px 10% 50px;
    }

    #index .company__topmessageIn {
        width: 90%;
    }

    #index .company__topmessage {
        padding: 0 0 100px;
    }

    #index .company__topmessageTxt h3 {
        font-size: min(60px, 3.4vw);
    }

    #index .company__topmessageTxt h3 img {
        width: 40px;
    }

    #index .company__topmessageTxt p {
        font-size: 26px;
        margin: 0 0 50px;
    }

    #index .company__linkWrap {
        margin: 0 0 100px;
    }

    #index .company__link {
        padding: 150px 5%;
    }

    #index .company__link span {
        font-size: 40px;
    }

    #index .company__link p {
        font-size: 20px;
    }

    #index .structure {
        width: 80%;
    }

    #index .structure h3 {
        font-size: 24px;
    }

    #index .company__page .company__page_l .company__icon {
        width: 120px;
    }

    #index .company__page .company__page_l p {
        margin: 0 0 0 20px;
        font-size: 30px;
    }

    #index .base {
        background-size: 75%;
        padding: 200px 10% 130px;
    }

    #index .base ul {
        width: 40%;
    }

    /** sustainability **/
    #sustainability__wrap {
        padding: 140px 10% 130px;
    }

    #index .sustainability__head h2 span {
        font-size: 66px;
    }

    #index .sustainability__head h3 {
        font-size: 30px;
    }

    /** group_company **/
    #index .group_company {
        background-size: 90%;
        padding: 140px 0 0;
        margin: 0 0 120px;
    }

    #index .group_company__txtWrap {
        width: 40%;
    }

    /** recruit **/
    #index .recruit .recruit__txtWrap {
        padding: 70px 5%;
    }

    #index .recruit .recruit__txtWrap span {
        font-size: 68px;
    }

    #index .recruit .recruit__txtWrap p {
        font-size: 18px;
    }

    /************************************
  page共通
  ************************************/
    /** page__headline **/
    #page .page__headline {
        margin: 0 0 120px;
    }

    #page .ay_pharma .page__headline {
        width: 80%;
    }

    #page h1 {
        font-size: 40px;
    }

    #page h1 span {
        font-size: 82px;
    }

    #page .page__headline h1 {
        top: 40%;
        left: 10%;
    }

    #page h2 {
        font-size: 40px;
        padding: 0 0 20px;
        margin: 0 0 50px;
    }

    /** page__headline02 **/
    #page .page__headline02 {
        padding: 180px 10% 100px;
        margin: 0 0 100px;
    }

    #page .page__headline02 h1 span {
        margin: 0 0 0 -400px;
    }

    #page .page__headline02.-p03 h1 span {
        margin: 0 0 0 -200px;
    }

    /** sustainability__head **/
    #page .sustainability__headline {
        font-size: 30px;
    }

    #sustainability__wrap .sustainability__link {
        gap: 48px;
    }

    /** section__in **/
    #page .section__in {
        width: 80%;
        margin: 0 auto 120px;
    }

    #page .page__section {
        border-radius: 200px 0 0 0;
        padding: 150px 10% 100px;
    }

    /************************************
  company/top_message
  ************************************/
    #top_message .ceo__imgWrap p {
        font-size: 24px;
    }

    #top_message .ceo__imgWrap p span {
        font-size: 16px;
    }

    /************************************
  company/philosophy
  ************************************/
    #philosophy .intro {
        width: 80%;
        margin: 0 auto 90px;
    }

    #philosophy .intro_text {}

    #philosophy .intro_name {}

    #philosophy .philosophy {}

    #philosophy .philosophy h2 {
        width: 80%;
        font-size: 45px;
    }

    #philosophy .content {
        padding: 0 0 150px;
        background-size: 100% 70%;
    }

    #philosophy .image {}

    #philosophy .image img {
        width: 80%;
    }

    /************************************
  company/officer_introduction
  ************************************/
    /** ceo **/
    #officer_introduction .ceo__wrap {
        margin: 0 0 80px;
    }

    #officer_introduction .ceo__wrap img {
        width: 55%;
    }

    #officer_introduction .ceo__wrap .officer_txtWrap {
        width: 40%;
    }

    #officer_introduction .officer_txtWrap h2 {
        font-size: 24px;
        margin: 0 0 15px;
    }

    #officer_introduction .officer_txtWrap h2 span {
        font-size: 16px;
    }

    #officer_introduction .officer_txtWrap dl div dt,
    #group_company .group_company__content dl div dt {
        width: 28%;
    }

    #group_company .group_company__content dl div dt.width_01 {
        width: 25%;
    }

    #group_company .group_company__content dl div dt.width_01 span {
        margin-top: 10px;
        display: block;
    }

    #officer_introduction .officer_txtWrap dl div dd,
    #group_company .group_company__content dl div dd {
        width: 70%;
    }

    #group_company .group_company__content dl div dd.width_02 {
        width: 75%;
    }

    #group_company .group_company__content dl div dd.width_02 span {
        margin-top: 10px;
        display: block;
    }

    /************************************
  company/group_company
  ************************************/
    #group_company .group_company__headline h2 {
        font-size: 30px;
    }

    /************************************
  company/production_base
  ************************************/
    /** production_base **/
    #production_base .production_base h2,
    #sales_base .sales_base h2,
    #logistics_base .logistics_base h2 {
        font-size: 30px;
        margin: 0 0 110px;
    }

    #production_base .production_base h2::after,
    #sales_base .sales_base h2::after,
    #logistics_base .logistics_base h2::after {
        bottom: -50px;
    }

    /** dosage_form **/
    #production_base .dosage_form__content h3 {
        font-size: 30px;
    }

    /************************************
  company/history
  ************************************/
    #history .history {
        margin: 0 0 90px;
    }

    #page .ay_pharma .page__headline h1 {
        top: 50%;
        left: 50%;
    }

    #history .history h2 {
        font-size: 70px;
        width: 80%;
    }

    #history .history h2 span {
        font-size: 48px;
        margin: 0 20px;
    }

    #history .history__content {
        padding: 40px 10%;
    }

    #history.ay_pharma .history__content {
        padding: 20px 10%;
    }

    #history .history__year {
        width: 20%;
        margin: 0;
    }

    #history .history__year p span {
        font-size: 30px;
        margin: 0 5px 0 0;
    }

    #history .history__content::after {
        left: 25.3%;
    }

    #history .history__content:first-child::after {
        top: 50px;
    }

    #history .history__content:last-child::after {
        height: 49%;
    }

    #history .history__event {
        width: 80%;
        padding: 0 40px;
    }

    #history .history__event_txtWrap {
        display: flex;
        align-items: baseline;
        margin: 0 0 10px;
    }

    #history .history__company {
        margin: 0 10px 0 0;
    }

    #history .history__event_txt {
        width: calc(100% - 170px);
    }

    /************************************
  company/コンプライアンス　compliance
  ************************************/
    #compliance .compliance__headline h2 {
        font-size: 30px;
        border-bottom: none;
        margin-bottom: 0px;
        padding-bottom: 0;
    }

    #compliance .compliance__headline {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 0 20px;
        margin: 0 0 25px;
        border-bottom: 2px;
        border-image: linear-gradient(to right, #ea6876 0, #ea6876 20%, #d6d6d6 20%, #d6d6d6 100%) 1 / 0 0 2px 0;
        border-style: solid;
    }

    #compliance .compliance h3 {
        color: #ea6876;
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 10px;
    }

    #compliance .compliance_list {
        margin-bottom: 30px;
    }

    #compliance .compliance_list li {
        display: flex;
        gap: 5px;
    }

    #compliance .compliance_list.-circle li::before {
        content: "●";
        color: #ea6876;
        font-size: 0.5em;
        padding-top: 0.75em;
    }

    /************************************
  sustainability/social_contribution
  ************************************/
    /** activities **/
    #social_contribution .activities__contentIn {
        padding: 30px 20px;
    }

    #social_contribution .activities__contentIn dt {
        width: 13%;
    }

    #social_contribution .activities__contentIn dd {
        width: 85%;
    }

    #social_contribution .activities__contentIn .shimomura {
        width: 62.5%;
    }

    /** donation **/
    #social_contribution .donation__content h4 {
        font-size: 24px;
    }

    /************************************
  archive_news
  ************************************/
    #archive_news .news__catWrap ul {
        top: 100px;
    }

    /************************************
  single_news
  ************************************/
    #single_news .single_news {
        /* margin: 200px auto 0; */
        padding-top: 200px;
    }

    #single_news .single_news__contentWrap {
        width: 80%;
    }

    #single_news .back_list {
        width: 15%;
    }

    /************************************
  contact
  ************************************/
    #contact .contact__number {
        font-size: 40px;
    }

    #contact .contact__number img {
        width: 35px;
    }

    /************************************
  privacypolicy,termsofuse
  ************************************/
    #privacypolicy h2,
    #termsofuse h2 {
        font-size: 16px;
        font-weight: normal;
        border-bottom: none;
        padding: 0;
        margin: 0;
    }

    .tab_list {
        gap: 16px;
        width: 80%;
    }

    .tab_menu {
        font-size: 30px;
        height: 90px;
    }
}

@media screen and (max-width: 1024px) {
    #group_company .group_company__content dl div dt.width_01 span {
        margin-top: 2.5rem;
        display: block;
    }

    #group_company .group_company__content dl div dd.width_02 span {
        margin-top: 1rem;
        display: block;
    }
}

@media screen and (max-width: 768px) {

    /************************************
      contact
      ************************************/
    #contact .width {
        width: 100%;
        margin: 0 auto;
    }

    #contact .white-space {
        display: none;
    }

    #contact .none {
        display: none;
    }

    #contact .contact-text {
        font-size: 20px;
        width: 100%;
        border: solid 2px #ea6876;
    }

    #index .recruit .recruit__txtWrap.-left {
        background: linear-gradient(to right, #f8ae9c, #ea6876);
    }

    #index .news__catWrap,
    #archive_news .news__catWrap {
        display: flex;
        flex-wrap: wrap;
        gap: 0 1em;
    }

    #index .news__catWrap li,
    #archive_news .news__catWrap li {
        margin-bottom: 0;
    }

    #index .news__list li a .news__item,
    #archive_news .archive_news__list li a .archive_news__item {
        flex-direction: column;
        gap: 8px;
    }

    #index .news__list li a .news__item h3,
    #archive_news .archive_news__list li a .archive_news__item h3 {
        font-size: 16px;
    }
}

@media screen and (max-width: 430px) {}