@charset "UTF-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
* html .clearfix, * + html .clearfix {
  zoom: 1; }

.clearfix:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both; }

/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
#main .headLine01 {
  margin: 0 50px 35px 0;
  text-align: center;
  font-family: 'Titillium Web', sans-serif; }
  #main .headLine01 span {
    padding-left: 60px;
    color: #ca2420;
    font-weight: 300;
    font-size: 2.9rem;
    letter-spacing: 0.1em;
    display: inline-block;
    background: url("../../img/common/icon01.png") no-repeat left center; }
#main .headLine02 {
  margin-bottom: 28px;
  padding-bottom: 5px;
  color: #3b3b3b;
  font-size: 2rem;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #C4BEB2; }
#main .headLine03 {
  margin-bottom: -21px;
  color: #ca2420;
  font-size: 2.9rem;
  line-height: 1; }
  #main .headLine03 .color {
    color: #000; }
  #main .headLine03 .style {
    font-size: 2.4rem;
    font-style: italic; }
    #main .headLine03 .style span {
      margin-top: -25px;
      font-size: 15rem;
      display: inline-block;
      vertical-align: middle;
      font-family: 'Public Sans', sans-serif; }

@media all and (max-width: 767px) {
  #main .headLine01 {
    margin: 0 30px 19px 0; }
    #main .headLine01 span {
      padding-left: 55px;
      font-size: 2.4rem;
      background-image: url("../../img/common/sp_icon01.png");
      background-size: auto 33px; } }
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .headLine02 {
    margin-bottom: 14px;
    padding-bottom: 9px;
    font-size: 1.25rem; } }
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .headLine03 {
    margin-bottom: -15px;
    font-size: 1.9rem;
    text-align: center; }
    #main .headLine03 .style {
      font-size: 1.6rem; }
      #main .headLine03 .style span {
        margin-top: -15px;
        font-size: 10rem; } }
/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/
.comBox {
  width: 1140px;
  margin: 0 auto;
  box-sizing: border-box; }

@media all and (max-width: 767px) {
  .comBox {
    width: auto;
    margin: 15px; } }
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
  width: 275px;
  margin: 0 auto; }
  .comLink a, .comLink span {
    padding: 11px 0;
    display: block;
    text-align: center;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.1em;
    background: #ca2420 url("../../img/common/icon02.png") no-repeat center right 8px; }
  .comLink.en a {
    font-weight: 300;
    font-family: 'Titillium Web', sans-serif; }
  .comLink.white a, .comLink.white span {
    color: #ca2420;
    background-image: url("../../img/common/icon03.png");
    background-color: #fff;
    opacity: 0.902; }
  .comLink a:hover {
    opacity: 0.7; }

@media all and (max-width: 767px) {
  .comLink {
    width: 250px; }
    .comLink a, .comLink span {
      padding: 12px 0 11px;
      background-image: url("../../img/common/sp_icon02.png");
      background-size: 10px auto; }
    .comLink.white a, .comLink.white span {
      background-image: url("../../img/common/icon03.png"); } }
/*------------------------------------------------------------
	comBtm
------------------------------------------------------------*/
.comBtm {
  padding: 82px 0 98px; }
  .comBtm ul {
    display: flex;
    justify-content: space-between; }
    .comBtm ul li {
      width: 564px; }
    .comBtm ul a {
      padding-top: 32px;
      height: 151px;
      box-sizing: border-box;
      text-align: center;
      display: block;
      background: url("../../img/common/photo01.jpg") no-repeat center center;
      background-size: cover; }
      .comBtm ul a:hover {
        opacity: 0.7; }
    .comBtm ul li:nth-child(2) a {
      background-image: url("../../img/common/photo02.jpg"); }
    .comBtm ul a p {
      margin-bottom: 7px;
      color: #fff;
      letter-spacing: 0.1em;
      font-size: 2.5rem; }

@media all and (max-width: 767px) {
  .comBtm {
    padding: 40px 11px 40px 14px; }
    .comBtm ul {
      display: inherit; }
      .comBtm ul li {
        width: auto; }
        .comBtm ul li:first-child {
          margin-bottom: 15px; }
      .comBtm ul a {
        padding-top: 20px;
        height: 94px;
        background-image: url("../../img/common/photo01.jpg"); }
      .comBtm ul li:nth-child(2) a {
        background-image: url("../../img/common/photo02.jpg"); }
      .comBtm ul a p {
        margin-bottom: 5px;
        font-size: 1.5rem;
        font-weight: bold; }
      .comBtm ul a .comLink {
        width: 170px; }
        .comBtm ul a .comLink span {
          padding: 5px 0;
          background-size: 7px auto; } }
/*------------------------------------------------------------
	comTopUl
------------------------------------------------------------*/
.comTopUl {
  width: 100%;
  text-align: center;
  background-color: #fff; }
  .comTopUl li {
    display: inline-block; }
    .comTopUl li a {
      padding: 21px 14px 17px;
      color: #2b2b2b;
      font-size: 1.4rem;
      display: block;
      letter-spacing: 0.075em;
      transition: .3s; }

@media all and (min-width: 768px) {
  .comTopUl li a:hover {
    background-color: #ededed; } }
@media all and (max-width: 767px) {
  .comTopUl {
    display: none; } }
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
#main .pageTitle {
  background: url("../../img/information/company/main_img.jpg") no-repeat center center;
  background-size: cover;
  overflow: hidden; }
  #main .pageTitle > div {
    width: 1160px;
    margin: 0 auto;
    height: 160px;
    position: relative; }
  #main .pageTitle h2 {
    position: absolute;
    left: 10px;
    bottom: -31px;
    color: #fff;
    line-height: 1;
    font-size: 2.9rem; }
    #main .pageTitle h2 > span {
      font-size: 2.4rem;
      font-style: italic; }
      #main .pageTitle h2 > span span {
        margin-bottom: 10px;
        font-size: 15rem;
        display: inline-block;
        vertical-align: middle;
        font-family: 'Public Sans', sans-serif; }
#main .comInfo {
  padding: 53px 0 71px; }
#main .comInner {
  padding: 13px 0 64px;
  background-color: #f0f0f0; }
  #main .comInner .inner {
    padding: 38px 0 60px;
    border-bottom: 1px solid #000; }
  #main .comInner .imgBox .photo {
    float: left; }
  #main .comInner .imgBox .textBox {
    float: right;
    width: 530px; }
    #main .comInner .imgBox .textBox p {
      margin-bottom: 22px;
      line-height: 1.73;
      letter-spacing: 0.1em; }
    #main .comInner .imgBox .textBox .title {
      margin-bottom: 14px;
      color: #ca2420;
      font-size: 2.4rem;
      font-weight: bold; }
    #main .comInner .imgBox .textBox .ttl {
      margin-bottom: 48px;
      display: table;
      width: 100%; }
      #main .comInner .imgBox .textBox .ttl > span {
        display: table-cell;
        vertical-align: middle;
        text-align: left; }
      #main .comInner .imgBox .textBox .ttl .lTxt {
        padding-top: 1px;
        width: 125px;
        color: #959595;
        font-size: 3.6rem;
        line-height: 1;
        font-style: italic;
        border-right: 1px solid #949494;
        font-family: 'Dancing Script', cursive; }
      #main .comInner .imgBox .textBox .ttl .rTxt {
        padding: 1px 19px;
        font-weight: bold;
        line-height: 1;
        letter-spacing: 0.1em; }
        #main .comInner .imgBox .textBox .ttl .rTxt span {
          margin-top: 12px;
          display: block;
          font-size: 2.6rem; }
    #main .comInner .imgBox .textBox .comLink {
      margin: 0; }
  #main .comInner .imgSub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff; }
    #main .comInner .imgSub .photo {
      width: 570px; }
    #main .comInner .imgSub .textBox {
      padding-top: 4px;
      width: 550px;
      text-align: center; }
      #main .comInner .imgSub .textBox p {
        margin-bottom: 26px;
        letter-spacing: 0.1em; }
      #main .comInner .imgSub .textBox span {
        margin-top: 1px;
        display: block;
        font-size: 2rem; }
      #main .comInner .imgSub .textBox .title {
        margin: 27px 0 12px;
        color: #ca2420;
        font-size: 1.8rem;
        font-weight: bold; }
#main .comUl {
  margin-bottom: 15px;
  text-align: center; }
  #main .comUl li {
    display: inline-block;
    color: #868686;
    line-height: 1; }
  #main .comUl a {
    display: inline-block;
    padding: 0 2px;
    color: #868686;
    letter-spacing: 0.1em; }
  #main .comUl .on a {
    color: #ca2420; }
#main .comBgBox {
  margin-bottom: 26px;
  position: relative;
  background: url("../../img/information/company/bg01.jpg") no-repeat center center;
  background-size: cover; }
  #main .comBgBox:before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 91px;
    background-color: #000;
    content: ""; }
  #main .comBgBox .imgBox {
    padding: 13px 26px 0;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between; }
  #main .comBgBox .photo {
    width: 598px; }
  #main .comBgBox .txtBox {
    padding-top: 88px;
    width: 420px;
    position: relative; }
    #main .comBgBox .txtBox .title {
      color: #fff;
      line-height: 1;
      font-size: 2.9rem;
      font-weight: bold; }
      #main .comBgBox .txtBox .title > span {
        font-size: 2.4rem;
        font-style: italic; }
        #main .comBgBox .txtBox .title > span span {
          margin-top: -10px;
          font-size: 15rem;
          display: inline-block;
          vertical-align: middle;
          font-family: 'Public Sans', sans-serif; }
    #main .comBgBox .txtBox .ttl {
      display: table;
      width: 100%;
      position: absolute;
      left: 29px;
      bottom: 19px; }
      #main .comBgBox .txtBox .ttl > span {
        display: table-cell;
        vertical-align: middle;
        text-align: left; }
      #main .comBgBox .txtBox .ttl .lTxt {
        width: 125px;
        color: #fff;
        font-size: 3.6rem;
        line-height: 1;
        font-style: italic;
        font-family: 'Dancing Script', cursive;
        border-right: 1px solid #fff; }
      #main .comBgBox .txtBox .ttl .rTxt {
        padding: 1px 19px;
        font-weight: bold;
        line-height: 1;
        color: #fff;
        letter-spacing: 0.1em; }
        #main .comBgBox .txtBox .ttl .rTxt span {
          margin-top: 12px;
          display: block;
          font-size: 2.6rem; }
#main .comTopTxt {
  line-height: 1.73;
  width: 920px;
  margin: 0 auto 43px;
  letter-spacing: 0.1em; }
#main .comPhotoUl {
  width: 1140px;
  margin: 0 auto 79px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  #main .comPhotoUl li {
    width: 544px; }
    #main .comPhotoUl li p {
      line-height: 1.73;
      letter-spacing: 0.1em; }
    #main .comPhotoUl li .ttl {
      margin-bottom: 12px;
      color: #3b3b3b;
      font-size: 2.9rem;
      font-weight: bold;
      text-align: center; }
      #main .comPhotoUl li .ttl span {
        color: #ca2420; }
    #main .comPhotoUl li .photo {
      margin-bottom: 15px; }
      #main .comPhotoUl li .photo img {
        width: 100%; }
#main .comImgBox {
  padding: 0 2px; }
  #main .comImgBox .photo {
    float: right;
    text-align: center; }
    #main .comImgBox .photo span {
      margin-top: 5px;
      display: block;
      font-size: 2.3rem; }
  #main .comImgBox .txtBox {
    margin-top: -11px;
    width: 695px;
    float: left; }
    #main .comImgBox .txtBox p {
      margin-bottom: 29px;
      line-height: 1.93;
      letter-spacing: 0.1em; }
      #main .comImgBox .txtBox p:last-child {
        margin-bottom: 0; }
    #main .comImgBox .txtBox .ttl {
      margin-bottom: 23px;
      text-align: center;
      font-weight: bold;
      color: #ca2420;
      font-size: 2.4rem; }
#main .comSub {
  padding: 77px 0 82px;
  margin-bottom: 60px;
  background-color: #f0f0f0; }
  #main .comSub .headLine01 {
    margin-bottom: 13px; }
  #main .comSub p {
    margin-bottom: 35px;
    text-align: center;
    letter-spacing: 0.1em; }
  #main .comSub .linkUl {
    width: 844px;
    margin: -8px auto 0;
    display: flex;
    flex-wrap: wrap; }
    #main .comSub .linkUl li {
      margin: 8px 9px 0 0;
      width: 275px; }
      #main .comSub .linkUl li:nth-child(3n) {
        margin-right: 0; }
    #main .comSub .linkUl a {
      padding: 10px 0 12px;
      font-weight: bold;
      letter-spacing: 0.1em;
      display: block;
      text-align: center;
      color: #fff;
      background: url("../../img/common/icon02.png") no-repeat center right 8px, url("../../img/common/bg02.jpg") repeat left top; }
    #main .comSub .linkUl li.on a {
      background: url("../../img/common/icon02.png") no-repeat center right 8px, url("../../img/common/bg01.jpg") repeat left top; }
#main .comCafe {
  padding: 55px 0 53px;
  background-color: #f0f0f0; }
  #main .comCafe ul {
    margin: -12px 0 49px;
    text-align: center; }
    #main .comCafe ul:last-child {
      margin-bottom: 0; }
    #main .comCafe ul li {
      margin: 12px 12px 0;
      display: inline-block; }
      #main .comCafe ul li a {
        width: 165px;
        display: block;
        text-align: center; }
        #main .comCafe ul li a:hover {
          opacity: 0.7; }
      #main .comCafe ul li .img {
        margin-bottom: 8px;
        border-radius: 3px;
        background-color: white;
        box-shadow: 0 0 12px rgba(0, 0, 0, 0.2); }
      #main .comCafe ul li p {
        font-size: 1.2rem;
        letter-spacing: 0.1em; }

@media all and (max-width: 767px) {
  #main .pageTitle {
    background-image: url("../../img/information/company/sp_main_img.jpg"); }
    #main .pageTitle > div {
      width: auto;
      height: 80px; }
    #main .pageTitle h2 {
      left: 13px;
      bottom: -19px;
      font-size: 1.3rem; }
      #main .pageTitle h2 > span {
        font-size: 1.05rem; }
        #main .pageTitle h2 > span span {
          font-size: 6.65rem; } }
/*------------------------------------------------------------
	comInfo
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .comInfo {
    padding: 25px 0 35px; } }
/*------------------------------------------------------------
	comInner
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .comInner {
    padding: 0 13px 24px;
    position: relative;
    background-color: #fff; }
    #main .comInner:before {
      position: absolute;
      left: 0;
      width: 100%;
      top: 61px;
      bottom: 0;
      background-color: #f0f0f0;
      content: ""; }
    #main .comInner .inner {
      padding: 29px 0 30px;
      position: relative;
      z-index: 1; }
    #main .comInner .imgBox .photo {
      margin-bottom: 16px;
      float: none; }
      #main .comInner .imgBox .photo img {
        width: 100%; }
    #main .comInner .imgBox .textBox {
      float: none;
      width: auto; }
      #main .comInner .imgBox .textBox p {
        margin-bottom: 26px;
        line-height: 1.43; }
      #main .comInner .imgBox .textBox .title {
        margin-bottom: 12px;
        font-size: 1.6rem; }
      #main .comInner .imgBox .textBox .ttl {
        margin-bottom: 11px; }
        #main .comInner .imgBox .textBox .ttl .lTxt {
          padding-top: 0;
          width: 105px;
          font-size: 3rem; }
        #main .comInner .imgBox .textBox .ttl .rTxt {
          padding: 0 15px;
          font-size: 1.3rem; }
          #main .comInner .imgBox .textBox .ttl .rTxt span {
            margin-top: 9px;
            font-size: 2.2rem; }
      #main .comInner .imgBox .textBox .comLink {
        margin: 0 auto; }
    #main .comInner .imgSub {
      display: inherit; }
      #main .comInner .imgSub .photo {
        width: auto; }
        #main .comInner .imgSub .photo img {
          width: 100%; }
      #main .comInner .imgSub .textBox {
        padding: 18px 0 24px;
        width: auto; }
        #main .comInner .imgSub .textBox img {
          width: 56px; }
        #main .comInner .imgSub .textBox p {
          margin-bottom: 8px; }
        #main .comInner .imgSub .textBox span {
          margin-top: 1px;
          font-size: 1.5rem; }
        #main .comInner .imgSub .textBox .title {
          margin: 17px 0 1px;
          font-size: 1.6rem; } }
/*------------------------------------------------------------
	comUl
------------------------------------------------------------*/
@media all and (min-width: 768px) {
  #main .comUl a:hover {
    color: #ca2420; } }
@media all and (max-width: 767px) {
  #main .comUl {
    margin-bottom: 17px; } }
/*------------------------------------------------------------
	comBgBox
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .comBgBox {
    margin-bottom: 24px;
    overflow: hidden;
    background-image: url("../../img/information/company/sp_bg01.jpg"); }
    #main .comBgBox:before {
      height: 46px; }
    #main .comBgBox .imgBox {
      padding: 0;
      height: 200px;
      display: inherit; }
    #main .comBgBox .photo {
      width: 241px;
      position: absolute;
      bottom: 0;
      left: 0; }
    #main .comBgBox .txtBox {
      padding: 57px 0 0 195px;
      width: auto;
      position: static; }
      #main .comBgBox .txtBox .title {
        font-size: 1.3rem; }
        #main .comBgBox .txtBox .title > span {
          font-size: 1.05rem; }
          #main .comBgBox .txtBox .title > span span {
            font-size: 6.65rem; }
      #main .comBgBox .txtBox .ttl {
        left: 198px;
        bottom: 10px; }
        #main .comBgBox .txtBox .ttl .lTxt {
          width: 60px;
          font-size: 2rem; }
        #main .comBgBox .txtBox .ttl .rTxt {
          padding: 0 8px;
          font-size: 1rem; }
          #main .comBgBox .txtBox .ttl .rTxt span {
            margin-top: 5px;
            font-size: 1.4rem; } }
@media all and (max-width: 370px) {
  #main .comBgBox .txtBox .ttl {
    left: 140px; } }
/*------------------------------------------------------------
	comTopTxt
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .comTopTxt {
    line-height: 2.08;
    width: auto;
    margin: 0 13px 32px; } }
/*------------------------------------------------------------
	comPhotoUl
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .comPhotoUl {
    width: auto;
    margin: 0 11px 40px 13px;
    display: inherit; }
    #main .comPhotoUl li {
      width: auto; }
      #main .comPhotoUl li:first-child {
        margin-bottom: 31px; }
      #main .comPhotoUl li p {
        line-height: 1.65; }
      #main .comPhotoUl li .ttl {
        margin-bottom: 8px;
        font-size: 1.45rem; }
      #main .comPhotoUl li .photo {
        margin-bottom: 7px; } }
/*------------------------------------------------------------
	comImgBox
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .comImgBox {
    padding: 0 15px; }
    #main .comImgBox .photo {
      float: none; }
      #main .comImgBox .photo img {
        width: 280px; }
      #main .comImgBox .photo span {
        margin-top: 5px;
        font-size: 1.15rem; }
    #main .comImgBox .txtBox {
      margin-top: 20px;
      width: auto;
      float: none; }
      #main .comImgBox .txtBox p {
        margin-bottom: 15px;
        line-height: 1.65; }
      #main .comImgBox .txtBox .ttl {
        margin-bottom: 15px;
        font-size: 1.4rem; } }
/*------------------------------------------------------------
	comSub
------------------------------------------------------------*/
@media all and (min-width: 768px) {
  #main .comSub .linkUl li a:hover {
    background: url("../../img/common/icon02.png") no-repeat center right 8px, url("../../img/common/bg01.jpg") repeat left top; } }
@media all and (max-width: 767px) {
  #main .comSub {
    padding: 30px 0 33px;
    margin-bottom: 0; }
    #main .comSub .headLine01 {
      margin-bottom: 10px; }
    #main .comSub p {
      margin-bottom: 29px; }
    #main .comSub .linkUl {
      width: auto;
      margin: -6px auto 0;
      display: inherit; }
      #main .comSub .linkUl li {
        margin: 6px auto 0 !important;
        width: 250px; }
      #main .comSub .linkUl a {
        padding: 11px 0 10px;
        font-size: 1.3rem;
        background-size: 10px auto, 3px auto; } }
/*------------------------------------------------------------
	comCafe
------------------------------------------------------------*/
@media all and (max-width: 767px) {
  #main .comCafe {
    padding: 27px 14px 0;
    background-color: #fff; }
    #main .comCafe ul {
      margin: -11px 0 25px; }
      #main .comCafe ul:last-child {
        margin-bottom: 0; }
      #main .comCafe ul li {
        margin: 11px 7px 0; }
        #main .comCafe ul li a {
          width: 98px; }
        #main .comCafe ul li .img {
          margin-bottom: 8px;
          border-radius: 3px;
          box-shadow: 0 0 4px rgba(0, 0, 0, 0.2); }
        #main .comCafe ul li p {
          font-size: 1rem;
          line-height: 1.3; } }
@media all and (max-width: 350px) {
  #main .headLine03 .style span {
    font-size: 7rem; }
  #main .headLine01 span {
    font-size: 2.2rem; } }
@media all and (-ms-high-contrast: none) {
  .comLink a, .comLink span {
    padding: 13px 0 9px; }

  #main .comSub .linkUl a {
    padding: 14px 0 8px; } }
