@charset "utf-8";
/* CSS Document */


/* ==========================
main
============================= */

.site_map a:link {
    text-decoration: none;
}
p.title_text {
    text-align: center;
    line-height: 1.0em;
    font-size: 230%;
    margin: 120px 0 50px 0;
}
p.title_text span {
    font-size: 40%;
}
.contents_box {
    max-width: 1024px;
    margin: auto;
}
.message_box {
    font-family: "Hiragino Kaku Gothic ProN",'Noto Sans JP',sans-serif;
}
/* ==========================
.th_visual
============================= */
.th_visual {
    position: relative;
}
.th_name {
    text-align: center;
    line-height: 0.8em;
    font-size: 230%;
    padding: 0;
/*    background: rgba(255, 255, 255, 0.5);*/
}
.th_name {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 500;
    width: -webkit-fill-available;
}
/* --- 背景が上下左右に動くのBOX定義 ------------------------ */
.looper {
    width: 100%;
    height: 570px;
    margin: 0 auto 0px;
}

/* --- 背景が上下左右に動くの背景定義 ----------------------- */
.looper::before {
  display    : block;
  content    : "";
  position   : absolute;
  top        : 0;
  right      : 0;
  bottom     : 0;
  left       : 0;
  background-image :url("../img/visual_bg.png");  /* 使用する画像を指定 */
  animation  : bgAnime 50s linear infinite;
}
@keyframes bgAnime {
   0% { background-position: 1236px 0 }
                /* 使用する画像幅と画像高さのpxに変更ください */
 100% { background-position: 0 0 }
}
/*-------------------*/
p.th_text img {
    margin: 150px auto;
    text-align: center;
}
/* ==========================
.message_box 
============================= */
.message_box {
    max-width: 1280px;
    margin: auto;
}
.me_text {
    margin: 50px 0px 0 auto;
    line-height: 2em;
}
.txt_only {
    margin-bottom: 30px;
    max-width: 90%;
    margin: auto;
}
.me_text p span {
    display: block;
    text-align: right;
}
.vision {
	font-weight: bold;
	text-align: center;
	font-size:130%;
	margin-bottom:20px;
}
.ceo_name {
	text-align: right;
}

.m_img {
    margin-left: 35px;
}

/* ==========================
.philosophy_box 
============================= */
.philosophy_box {
    background: url(../img/phi_bg.png)no-repeat center right 50%;
    padding: 70px 0;
}
.phi_main {
    max-width: 1028px;
    margin: 80px auto 0;
    text-align: center;
    margin-bottom: 50px;
}
.phi_main p.phi_tit {
  font-family: 'Cormorant Infant','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;
}
.phi_main p {
    font-family: "游明朝", YuMincho,'Hiragino Kaku Gothic ProN',sans-serif;
    font-weight: bold;
}
.phi_5 {
    max-width: 1028px;
    margin: auto;
    margin-bottom: 80px;
}
.phi_5 dl {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 20px;
}
.phi_5 dt {
    margin-right: 50px;
}
.phi_5 dd {
    font-size: 150%;
    font-weight: 100;
    margin-bottom: 15px;
    font-family: "游明朝", YuMincho,'Hiragino Kaku Gothic ProN',sans-serif;
}
p.phi_tit {
    font-size: 250%;
    color: #65a534;
    margin-bottom: 30px;
}


/* ==========================
.history_box
============================= */

.bg_all_green {
    background: #eff6ea;
    padding-top: 1px;
}
.history_inner {
    text-align: center;
    margin: auto;
    background: url(../img/history_bg_1.png)no-repeat top;
    background-size: cover;
}
.history_box{
	text-align: center;
} 
/* ==========================
.future_box
============================= */
.future_box {
    max-width: 1024px;
    margin: 50px auto 100px;
    text-align: center;
}
.future_box {
    font-size: 150%;
    font-weight: 100;
    font-family: "游明朝", YuMincho,'Hiragino Kaku Gothic ProN',sans-serif;
}
.future_box ul {
    display: flex;
    justify-content: space-between;
    /* margin-bottom: 0px; */
    margin-top: 50px;
}
.future_box li {
    max-width: 330px;
    margin: 0 5px 40px 5px;
    font-size: 80%;
    width: 100%;
}
.mg {
    margin-top: 40px;
}
br.se_block{
		display: none;
	}


/* ====================================================
.history_box(修正・追加)
======================================================= */
.cd-timeline__block:nth-child(odd) {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    max-width: 50%;
    margin: 0 0 30px 280px;
}
.cd-timeline__block {
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 1;
/*    margin: 0 93px 30px 0;*/
}
.history_inner .contents_box {
    max-width: 1000px;
    margin: auto;
}
.cd-timeline__container {
    position: relative;
}
.cd-timeline__container::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 18px;
    height: 100%;
    width: 25px;
    background: #64a333;
}
.cd-timeline__container::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}
.cd-timeline__block {
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 1;
}
.cd-timeline__content {
    position: relative;
/*    margin-left: 1.25em;
    margin-left: var(--space-md);
    padding: 1.25em;
    padding: var(--space-md);
	    -ms-flex-positive: 1;
    flex-grow: 1;*/
}
.cd-timeline__content {
    width: 44%;
    -ms-flex-positive: 0;
    flex-grow: 0;
    margin: 0;
}
.cd-timeline__img {
    -ms-flex-order: 1;
    order: 1;
    margin-bottom: 30px;
}
.cd-timeline__block:nth-child(odd) {
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.cd-timeline__block:last-child {
    margin-bottom: 0;
}
.cd-timeline__block {
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 1;
}



.year_box {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: 35px;
}
.niretu p:nth-child(2) {
    padding: 0 13px 0 13px;
}
.niretu p.tyousei {
    padding: 0 40px 0 63px;
}
p.bor_b {
    border-bottom: solid 1px;
    text-align: left;
    padding: 0 12px 0 13px;
    width: fit-content;
}

.box_r p {
    text-align: left;
}
.year_box img {
    position: absolute;
    bottom: 0px;
}
.year_box.box_l {
    flex-direction: row-reverse;
}
/*.year_box.box_l {
    text-align: right;
    align-items: baseline;
}*/
.year_box.box_l {
    text-align: right;
    align-items: flex-start;
}
.box_l img {
    position: relative;
    bottom: 30px;
}
.year_box.month p.bor_b {
    position: absolute;
    padding: 0px 13px 0 64px;
    left: -50px;
    top: 3px;
    z-index: -1;
}
.year_box.month p.bor_b.iso {
    top: 60px;
    width: 240px;
    left: -25px;
}
.year_box.month.box_r p:nth-child(2) {
    position: relative;
    top: 28px;
}
.year_box.month.box_r img {
    position: relative;
    right: -85px;
    bottom: 20px;
}
.onry_tit {
    min-width: 270px!important;
}
/* ================ 左 ================ */
.year_box.month.box_l p.bor_b {
    position: relative;
    padding: 0 60px 0 13px;
    right: 0;
    top: 0;
    left: 0;
    z-index: -1;
	margin: 0 0 0 auto;
}
.year_box.month.box_l .niretu {
    position: relative;
    padding: 0;
    right: 0;
    top: 0;
    z-index: -1;
}
.month.box_l img {
    position: relative;
}
.month h.box_l p:nth-child(2) {
    position: relative;
}
.year_box.month.box_l {
    right: -30px;
}
/* ================ 調整 ================ */
.year_box.month.box_l.left_R {
    flex-direction: row;
    position: relative;
    left: 520px;
    z-index: -1;
    top: -40px;
}
.year_box.month.box_l.left_R p.bor_b {
    position: relative;
    width: 100%;
}
.year_box.month.box_l.left_R p.bor_b {
    position: relative;
    width: 80%;
    padding: 0 13px 0 65px;
    top: -50px;
}
.month.box_l.left_R img {
    position: relative;
    bottom: 90px;
}
.year_box.month.box_l.left_R .niretu p:nth-child(2) {
    padding: 0 0px 0 65px;
    margin-top: -50px;
    text-align: left;
}
.year_box.month.box_l.third {
    margin: 0;
    top: -150px;
}
.yazirushi {
    position: relative;
    margin: auto;
}
/* ====================================================
レスポンシブ
======================================================= */
@media screen and ( max-width: 1000px ){
	/*===沿革のみ===*/
.history_inner .contents_box {
    max-width: 500px;
    margin: auto;
font-size: 14px;
}
.cd-timeline__container::before {
    left: 60px;
}
.cd-timeline__img {
    order: 0;
}
.cd-timeline__block:nth-child(odd) {
    -ms-flex-direction: row-reverse;
    flex-direction: row;
	    margin: 0;
}
.year_box.box_l {
    flex-direction: row;
    text-align: left;
}
	.year_box.box_l {
    text-align: right;
    align-items: baseline;
}
.year_box.month.box_l.left_R {
    left: auto;
}
p.bor_b {
    border-bottom: solid 1px;
    text-align: left;
    padding: 0 0px 0 13px;
    width: max-content;
}
.cd-timeline__block {
    height: 140px;
}
.sets2 {
    height: 200px;
}
.sets3 {
    height: 300px;
}
.year_box.month.box_l {
    right: 50px;
}
.year_box.month.box_l.left_R {
    left: auto;
    top: 50px;
}
.box_l img {
    position: absolute;
    bottom: 0;
    margin: 0;
}
.month.box_l img {
    position: absolute;
    bottom: 0;
}
.year_box.month.box_l.left_R p.bor_b {
    width: 100%;
}
.year_box img {
    max-width: 100px;
    max-height: 100px;
}
.year_box img {
    bottom: 0;
}
.month.box_l.left_R img {
    position: absolute;
    bottom: 0;
}
.year_box.month.box_r p:nth-child(2) {
    position: relative;
    top: 5px;
}
.year_box.month.box_l.third {
    margin: 0;
    top: 50px;
}
.year_box.month.box_l p.bor_b {
    padding: 0 64px 0;
}
.third .niretu p:nth-child(2) {
    padding: 0 13px 0 65px;
}
.year_box.month.box_l.third img {
    position: absolute;
    bottom: 0;
    right: -150px;
}
img.YCUT-500 {
    right: -120px;
}
p.sp_block.yazirusi {
    padding-left: 9%;
}
.yazirushi {
    position: relative;
    margin: 0;
    left: -189px;
}
}
@media screen and ( max-width: 767px ){
p.th_text img {
    margin: 100px auto;
    text-align: center;
}
.contents_box {
    max-width: 90%;
    margin: auto;
}
.th_name {
    width: 80%;
}
p.th_text {
    width: 80%;
    margin: auto;
}
/* =========== .philosophy_box =========== */
.philosophy_box {
    background-size: cover;
}
.phi_main {
    width: 90%;
    margin: 80px auto;
}
.phi_5 {
    width: 90%;
    margin: 0 auto 50px;
}
.phi_5 img {
    width: 90%;
}
.phi_5 dl {
    flex-wrap: wrap;
}
.phi_5 dd {
    font-size: 114%;
    font-weight: 100;
    padding-left: 30px;
    margin:13px 0 30px 0;
}
.phi_5 dl {
    flex-wrap: wrap;
    justify-content: flex-start;
}
/* =========== .message_box =========== */
.me_text p {
    padding-right: 0px;
}
	
.vision {
    font-weight: bold;
    text-align: center;
    font-size: 110%;
    margin-bottom: 20px;
}
/* =========== .future_box =========== */
.future_box ul {
    max-width: 90%;
    margin: 50px auto 0;
}
.future_box ul {
  
    flex-wrap: wrap;
    justify-content: center;
}
/* =========== .history_box =========== */
.m_img {
    margin-left: 0;
}
}

@media screen and ( max-width: 515px ){
	/*===沿革のみ===*/
.cd-timeline__container {
    padding-bottom: 30px;
}
	.cd-timeline__img {
    order: 0;
    width: 70px;
}
.cd-timeline__container::before {
    left: 35px;
    width: 20px;
}
.cd-timeline__block {
    height: auto;
margin-bottom: 30px;
}
.cd-timeline__content {
    width: 60%;
}
.year_box {
    position: relative;
    display: block;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 0;
}
.year_box img {
    position: relative;
    bottom: 0;
    margin: 10px 0;
}
p.bor_b {
    max-width: 220px;
}
.year_box.month p.bor_b {
    position: relative;
    left: -25px;
    top: 0;
    z-index: -1;
}
.month.box_l img {
    position: relative;
    bottom: 0;
}
.year_box.month.box_l p.bor_b {
    padding: 0 0 0 64px;
margin: 15px 0 0 0;
}
.year_box.month p.bor_b {
    position: relative;
    left: 0;
    top: 0;
    z-index: -1;
}
.year_box.month p.bor_b.iso {
    left: 0px;
}
.year_box.month p.bor_b {
    padding: 0px 0px 0 13px;
    width: 180px;
}
.year_box.month.box_r p:nth-child(2) {
    position: relative;
    top: 0;
}
.year_box.month.box_r img {
    top: 0;
    right: 0;
}
.year_box.month.box_l {
    right: 0;
}
.month.box_l.left_R img {
    position: relative;
    bottom: 0px;
}
.niretu p:nth-child(2) {
    padding: 0 0px 0 13px;
    text-align: left;
}
.month.box_l.left_R img.novelty {
    position: relative;
    bottom: 70px;
    left: 40px;
}
.year_box.month.box_l.left_R p.bor_b {
    padding: 0 0 0 13px
}
.year_box.month.box_l.third img {
    position: relative;
    bottom: 0;
    right: 0;
margin-bottom: 30px;
}
.year_box.month.box_l p.bor_b {
    padding: 0 0 0 13px;
    margin: 13px 0 0 0;
}
img.YCUT-500 {
    right: 0;
}
.year_box.month.box_l.left_R .niretu p:nth-child(2),.third .niretu p:nth-child(2) {
    padding: 0 13px 0 13px;
}
.month {
    margin-bottom: 30px;
}
.yazirushi {
    position: relative;
    margin: 0;
    left: 0;
    width: 70px;
}
}
@media screen and ( max-width: 350px ){
	br.se_block{
		display: block;
	}
p.title_text.se_size {
    text-align: center;
    line-height: 1.5em;
    font-size: 230%;
    margin-top: 120px;
}
.onry_tit {
    min-width: 200px!important;
}
}

@media print{
body {
    zoom: 100%;
    width: 1100px;
    margin: auto;
}
}
@page {
    size: A4;
	margin: 12.7mm 9.7mm;
}